Esecuzione di Fedora CoreOS direttamente dalla RAM

L’ambiente live di Fedora CoreOS è una copia completamente funzionale di Fedora CoreOS. Può configurarsi tramite Ignition, eseguire container e altro. L’ambiente live può essere utilizzato per installare Fedora CoreOS su disco, e può anche essere usato per eseguire Fedora CoreOS direttamente dalla RAM.

Questa guida mostra come avviare un sistema Fedora CoreOS (FCOS) temporaneo tramite ISO, PXE o iPXE. Per ulteriori informazioni sulle immagini live ISO e PXE, consulta il live image reference.

Prerequisiti

Prima di avviare FCOS, devi avere un file di configurazione Ignition. Se non ne hai uno, consulta Creare un File Ignition.

Se stai effettuando il boot da PXE o iPXE, devi ospitare la configurazione Ignition su un server HTTP(S) o TFTP raggiungibile. L’avvio dell’immagine live PXE richiede almeno 2 GiB di RAM con l’argomento del kernel coreos.live.rootfs_url, e 4 GiB negli altri casi.

Avvio tramite ISO

L’immagine live ISO può essere avviata da un disco DVD fisico, da una chiavetta USB o da un’unità CD virtuale tramite firmware di gestione remota (LOM).

Per avviare dal file immagine ISO, segui questi passaggi:

  • Scarica l’immagine ISO:

    podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
        quay.io/coreos/coreos-installer:release download -f iso
  • Usa coreos-installer iso customize per personalizzare l’ISO in base alle tue esigenze. In questo esempio, assumiamo che una configurazione Ignition esista in un file config.ign. Aggiungiamo anche l’argomento facoltativo del kernel coreos.liveiso.fromram per il boot live.

    coreos.liveiso.fromram è opzionale e viene utilizzato nei casi in cui si desidera non avere riferimenti al supporto di avvio (ISO) una volta che il sistema è attivo e in esecuzione. Ciò consente casi d’uso come la rimozione del supporto dopo l’avvio o la riscrittura del disco su cui si trova il supporto di avvio, ma richiede più memoria.
    KERNEL_ARG='--live-karg-append=coreos.liveiso.fromram'
    IGNITION_ARG='--live-ignition=./config.ign'
    podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
        quay.io/coreos/coreos-installer:release iso customize $KERNEL_ARG $IGNITION_ARG \
        -o customized.iso fedora-coreos-43.20260105.3.0-live.x86_64.iso
  • Masterizza l’ISO su disco. Su Linux e macOS, puoi usare dd. Su Windows, puoi usare Rufus in modalità "DD Image".

  • Avvialo sul sistema di destinazione.

Avvio tramite PXE

Per avviare tramite PXE, segui questi passaggi:

  • Scarica un kernel PXE FCOS, initramfs e un’immagine rootfs:

podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -f pxe
  • Segui questo esempio di pxelinux.cfg per avviare le immagini di installazione con PXELINUX ed eseguire Ignition:

DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
    KERNEL fedora-coreos-43.20260105.3.0-live-kernel.x86_64
    APPEND initrd=fedora-coreos-43.20260105.3.0-live-initramfs.x86_64.img,fedora-coreos-43.20260105.3.0-live-rootfs.x86_64.img ignition.firstboot ignition.platform.id=metal ignition.config.url=http://192.168.1.101/config.ign
IPAPPEND 2

Avvio tramite iPXE

Un computer compatibile con iPXE deve essere dotato di uno script di avvio appropriato per recuperare e caricare gli artefatti FCOS.

L’esempio seguente mostra come caricarli direttamente dall’infrastruttura Fedora. Per motivi di prestazioni e affidabilità, si consiglia di eseguirne il mirroring sull’infrastruttura locale e quindi modificare BASEURL secondo necessità.

#!ipxe

set STREAM stable
set VERSION 43.20260105.3.0
set CONFIGURL https://example.com/config.ign

set BASEURL https://builds.coreos.fedoraproject.org/prod/streams/${STREAM}/builds/${VERSION}/x86_64

kernel ${BASEURL}/fedora-coreos-${VERSION}-live-kernel.x86_64 initrd=main coreos.live.rootfs_url=${BASEURL}/fedora-coreos-${VERSION}-live-rootfs.x86_64.img ignition.firstboot ignition.platform.id=metal ignition.config.url=${CONFIGURL}
initrd --name main ${BASEURL}/fedora-coreos-${VERSION}-live-initramfs.x86_64.img

avvio

Utilizzo dello stato persistente

Per impostazione predefinita, l’ambiente live di Fedora CoreOS non memorizza alcuno stato su disco e viene ripristinato da zero ad ogni avvio. Tuttavia, puoi scegliere di conservare alcuni stati persistenti (come le immagini dei container) in un filesystem che persiste tra i riavvii. Ad esempio, ecco una configurazione Butane che imposta un /var persistente:

variant: fcos
version: 1.1.0
storage:
  disks:
    - device: /dev/sda
      wipe_table: true
      partitions:
        - label: var
  filesystems:
    - device: /dev/disk/by-partlabel/var
      label: var
      format: xfs
      wipe_filesystem: false
      path: /var
      with_mount_unit: true

Quando si avvia un ambiente live, la configurazione di Ignition viene eseguita ad ogni avvio, quindi dovrebbe evitare di cancellare i volumi LUKS e i filesystem che si desidera riutilizzare. Invece, configura tali strutture in modo che vengano create al primo avvio e preservate negli avvii successivi.

In particolare, tieni presente le seguenti linee guida:

  • Evita di impostare wipe_filesystem o wipe_volume per filesystem o volumi LUKS che intendi riutilizzare. (Puoi impostare in sicurezza wipe_table o wipe_partition_entry quando riutilizzi un disco, poiché queste opzioni non modificano il contenuto di una partizione.)

  • Quando si riutilizzano volumi LUKS, è necessario configurare un key_file. Ignition non può riutilizzare volumi LUKS supportati da Clevis.

  • Evita di scrivere dati persistenti su volumi RAID, poiché Ignition non può riutilizzarli.

  • Quando si scrivono file nello storage persistente, imposta overwrite su true per evitare errori di Ignition quando si riutilizza un filesystem che contiene già il file. Evita di utilizzare la direttiva append per i file persistenti, poiché l’operazione di aggiunta verrà eseguita ad ogni avvio.

Processo di aggiornamento

Poiché il tradizionale processo di aggiornamento di FCOS richiede un disco, l’ambiente live non è in grado di auto-aggiornarsi sul posto. Per questo motivo, Zincati non è in esecuzione in tale ambiente.

Per i sistemi avviati tramite PXE, si raccomanda di aggiornare regolarmente le immagini indicate nella configurazione PXE. Una volta che l’infrastruttura e le configurazioni sono state aggiornate, l’istanza live PXE necessita solo di un riavvio per iniziare a eseguire la nuova versione di FCOS.

Per i sistemi avviati tramite ISO, l’immagine ISO utilizzata per avviare l’ambiente live dovrebbe essere aggiornata periodicamente e l’istanza dovrebbe essere riavviata per aggiornare il sistema operativo in esecuzione.