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.

Hay varias maneras de pasar una configuración Ignition cuando arranquen Fedora CoreOS por medio de PXE:

  • Añada ignition.config.url=<config-url> a la línea de instrucción del kernel. Los esquemas admitidos de URL incluyen http, https, tftp, s3, y gs.

  • Si se ejecuta virtualizado, pase la configuración de Ignition a través del hipervisor, tal como lo haría al arrancar desde una imagen de disco. Asegúrese que el argumento del kernel ignition.platform.id esté puesto en el ID de plataforma para su plataforma.

  • Generar una versión adaptada del initramfs conteniendo tu configuración de Ignition utilizando coreos-installer pxe customize. Por ejemplo, ejecuta:

    coreos-installer pxe customize --live-ignition config.ign -o custom-initramfs.img \
        fedora-coreos-43.20251120.3.0-live-initramfs.x86_64.img
  • Si prefiere conservar la configuración de Ignition separada desde la imagen initramfs de Fedora CoreOS, genere un initrd separado con el nivel bajo del comando coreos-installer pxe ignition wrap y pásalo como un initrd adicional. Por ejemplo, ejecute:

    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.20251120.3.0-live-initramfs.x86_64.img,fedora-coreos-43.20251120.3.0-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.20251120.3.0-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.20251120.3.0-live-initramfs.x86_64.img,fedora-coreos-43.20251120.3.0-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.20251120.3.0-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.20251120.3.0-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.20251120.3.0-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.20251120.3.0-live-rootfs.x86_64.img \
    --rootfs-url https://example.com/fedora-coreos-43.20251120.3.0-live-rootfs.x86_64.img \
    fedora-coreos-43.20251120.3.0-live.x86_64.iso \
    fedora-coreos-43.20251120.3.0-live-minimal.x86_64.iso