Referencia de imagen ISO y PXE en tiempo real

Para obtener una introducción sobre como ejecutar Fedora CoreOS directamente desde RAM, consulte la guía de aprovisionamiento.

Pasando el rootfs PXE a una máquina

La imagen de Fedora CoreOS PXE incluye tres componentes: un kernel, un initramfs, y un rootfs. Todos los tres son obligatorios y el entorno de PXE vivo no arrancará sin ellos.

Hay varias formas de pasar el rootfs a una máquina:

  • Especifique únicamente el archivo initramfs como initrd en su configuración PXE, y pase una URL HTTP(S) o TFTP para rootfs mediante el argumento de kernel coreos.live.rootfs_url=. Este método requiere 2 GiB de RAM y es la opción recomendada a menos que tenga requisitos especiales.

  • Especifica ambos archivos initramfs y rootfs como initrd en su configuración PXE. Esto puede realizarse vía múltiples directivas initrd, o utilizando parámetros opcionales initrd= como argumentos del kernel. Este métido es más lento que el primer método y requiere 4 GiB de RAM.

  • Concatene juntos los archivos initramfs y rootfs y especifique el archivo combinado como el initrd. Este método es más lento y requiere 4 GiB de RAM.

Pasar una configuración de Ignition a un sistema PXE en vivo

Al arrancar Fedora CoreOS mediante PXE en vivo, la línea de comandos del kernel debe incluir los argumentos ignition.firstboot ignition.platform.id=metal para ejecutar Ignition. Si se ejecuta en una máquina virtual, reemplace metal por el ID de plataforma correspondiente a su plataforma, como qemu o vmware.

There are several ways to pass an Ignition config when booting Fedora CoreOS via PXE:

  • Add ignition.config.url=<config-url> to the kernel command line. Supported URL schemes include http, https, tftp, s3, and gs.

  • If running virtualized, pass the Ignition config via the hypervisor, exactly as you would when booting from a disk image. Ensure the ignition.platform.id kernel argument is set to the platform ID for your platform.

  • Generate a customized version of the initramfs containing your Ignition config using coreos-installer pxe customize. For example, run:

    coreos-installer pxe customize --live-ignition config.ign -o custom-initramfs.img \
        fedora-coreos-43.20251110.3.1-live-initramfs.x86_64.img
  • If you prefer to keep the Ignition config separate from the Fedora CoreOS initramfs image, generate a separate initrd with the low-level coreos-installer pxe ignition wrap command and pass it as an additional initrd. For example, run:

    coreos-installer pxe ignition wrap -i config.ign -o ignition.img

    and then use a PXELINUX APPEND line similar to:

    APPEND initrd=fedora-coreos-43.20251110.3.1-live-initramfs.x86_64.img,fedora-coreos-43.20251110.3.1-live-rootfs.x86_64.img,ignition.img ignition.firstboot ignition.platform.id=metal

Passing network configuration to a live ISO or PXE system

On Fedora CoreOS, networking is typically configured via NetworkManager keyfiles. If your network requires special configuration such as static IP addresses, and your Ignition config fetches resources from the network, you cannot simply include those keyfiles in your Ignition config, since that would create a circular dependency.

Instead, you can use coreos-installer iso customize or coreos-installer pxe customize with the --network-keyfile option to create a customized ISO image or PXE initramfs image which applies your network settings before running Ignition. For example:

coreos-installer iso customize --network-keyfile custom.nmconnection -o custom.iso \
    fedora-coreos-43.20251110.3.1-live.x86_64.iso

If you’re PXE booting and want to keep your network settings separate from the Fedora CoreOS initramfs image, you can also use the lower-level coreos-installer pxe network wrap command to create a separate initrd image, and pass that as an additional initrd. For example, run:

coreos-installer pxe network wrap -k custom.nmconnection -o network.img

and then use a PXELINUX APPEND line similar to:

APPEND initrd=fedora-coreos-43.20251110.3.1-live-initramfs.x86_64.img,fedora-coreos-43.20251110.3.1-live-rootfs.x86_64.img,network.img ignition.firstboot ignition.platform.id=metal

Passing kernel arguments to a live ISO system

If you want to modify the default kernel arguments of a live ISO system, you can use the --live-karg-{append,replace,delete} options to coreos-installer iso customize. For example, if you want to enable simultaneous multithreading (SMT) even on CPUs where that is insecure, you can run:

coreos-installer iso customize --live-karg-delete mitigations=auto,nosmt -o custom.iso \
    fedora-coreos-43.20251110.3.1-live.x86_64.iso

Extracting PXE artifacts from a live ISO image

If you want the Fedora CoreOS PXE artifacts and already have an ISO image, you can extract the PXE artifacts from it:

podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release iso extract pxe \
    fedora-coreos-43.20251110.3.1-live.x86_64.iso

The command will print the paths to the artifacts it extracted.

Using the minimal ISO image

In some cases, you may want to boot the Fedora CoreOS ISO image on a machine equipped with Lights-Out Management (LOM) hardware. You can upload the ISO to the LOM controller as a virtual CD image, but the ISO may be larger than the LOM controller supports.

To avoid this problem, you can convert the ISO image to a smaller minimal ISO image without the rootfs. Similar to the PXE image, the minimal ISO must fetch the rootfs from the network during boot.

Suppose you plan to host the rootfs image at https://example.com/fedora-coreos-43.20251110.3.1-live-rootfs.x86_64.img. This command will extract a minimal ISO image and a rootfs from an ISO image, embedding a coreos.live.rootfs_url kernel argument with the correct URL:

podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release iso extract minimal-iso \
    --output-rootfs fedora-coreos-43.20251110.3.1-live-rootfs.x86_64.img \
    --rootfs-url https://example.com/fedora-coreos-43.20251110.3.1-live-rootfs.x86_64.img \
    fedora-coreos-43.20251110.3.1-live.x86_64.iso \
    fedora-coreos-43.20251110.3.1-live-minimal.x86_64.iso