Installazione di CoreOS su hardware bare metal
Questa guida fornisce istruzioni per installare Fedora CoreOS su bare metal. Sono disponibili tre opzioni:
-
Installazione da ISO live
-
Installazione da PXE
-
Installazione dal container
Prerequisiti
Prima di installare FCOS, è necessario disporre di un file di configurazione di Ignition e ospitarlo da qualche parte (ad esempio, usando python3 -m http.server
). Se non ne avete uno, consultate Produzione di un file Ignition.
Se si dispone di server con tipi e/o numero di dischi rigidi diversi, è necessario creare una configurazione Ignition personalizzata separata per ogni macchina (o classe di macchine). Un buon modello consiste nell’integrare le parti comuni della configurazione in una configurazione Ignition separata, che può essere integrata (tramite HTTP o inline) nella configurazione personalizzata per macchina. |
Installazione da ISO live
Per installare FCOS su bare metal utilizzando l’ISO live in modo interattivo, seguire questi passaggi:
-
Scarica l’ultima immagine ISO dalla pagina di download pagina di download o con podman (vedi documentation per le opzioni):
podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \ quay.io/coreos/coreos-installer:release download -s stable -p metal -f iso
Nota che si sta semplicemente utilizzando coreos-installer
come strumento per scaricare l’ISO.
È possibile avviare l’ISO live in modalità BIOS legacy o UEFI, indipendentemente dalla modalità che il sistema operativo utilizzerà una volta installato. |
-
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. L’ISO è in grado di avviare un sistema FCOS completamente funzionante esclusivamente dalla memoria (ovvero senza utilizzare spazio su disco). Una volta avviato, avrai accesso a un prompt dei comandi bash.
-
Ora puoi eseguire
coreos-installer
:
sudo coreos-installer install /dev/sda \ --ignition-url https://example.com/example.ign
Una volta completata l’installazione, è possibile riavviare il sistema utilizzando sudo reboot
. Dopo il riavvio, inizia il primo processo di avvio. È a questo punto che Ignition acquisisce il file di configurazione e predispone il sistema come specificato.
Per installazioni ISO più avanzate, inclusa l’automazione, vedere di seguito. Per ulteriori informazioni sull’immagine ISO live, consultare il file riferimento immagine live.
Per ulteriori opzioni su come installare Fedora CoreOS, consultare coreos-installer install --help .
|
Installazione dalla rete
L’avvio dell’immagine PXE live richiede almeno 2 GiB di RAM con l’argomento kernel coreos.live.rootfs_url , e 4 GiB altrimenti. È possibile installare in modalità di avvio legacy (BIOS) o in modalità UEFI, indipendentemente dalla modalità che il sistema operativo utilizzerà una volta installato.
|
Installazione da PXE
Per installare da PXE, seguire 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
pxelinux.cfg
per avviare le immagini di installazione con PXELINUX:
DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
KERNEL fedora-coreos-42.20250705.3.0-live-kernel-x86_64
APPEND initrd=fedora-coreos-42.20250705.3.0-live-initramfs.x86_64.img,fedora-coreos-42.20250705.3.0-live-rootfs.x86_64.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://192.168.1.101:8000/config.ign
IPAPPEND 2
Per maggiori dettagli su come utilizzare queste informazioni, consulta questo post del blog per testare un’installazione PXE tramite una VM locale e libvirt
. Per altre opzioni supportate dalla riga di comando del kernel, consulta la documentazione di coreos-installer docs, ma tieni presente che coreos-installer pxe customize
(vedi sotto) è più flessibile. Per maggiori informazioni sull’immagine PXE live, consulta il file riferimento immagine live.
Installazione da 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 42.20250705.3.0
set INSTALLDEV /dev/sda
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 coreos.inst.install_dev=${INSTALLDEV} coreos.inst.ignition_url=${CONFIGURL}
initrd --name main ${BASEURL}/fedora-coreos-${VERSION}-live-initramfs.x86_64.img
avvio
Per altre opzioni supportate dalla riga di comando del kernel, consultare documentazione di coreos-installer, ma si noti che coreos-installer pxe customize
(vedere sotto) è più flessibile. Per ulteriori informazioni sull’immagine PXE live, consultare riferimento immagine live.
Installazione dal container
È possibile utilizzare coreos-installer
container da un sistema esistente per installare su un dispositivo a blocchi collegato. Ad esempio (sostituire docker
con podman
se necessario):
sudo podman run --pull=always --privileged --rm \
-v /dev:/dev -v /run/udev:/run/udev -v .:/data -w /data \
quay.io/coreos/coreos-installer:release \
install /dev/vdb -i config.ign
In questo esempio, coreos-installer
scaricherà l’ultima immagine stabile di FCOS metal e la installerà in /dev/vdb
. Quindi inietterà il file di Ignition config.ign
nella directory corrente nell’immagine. Usa --help
per visualizzare tutte le opzioni disponibili.
Scaricamento e mirroring dell’immagine metallica
A volte è necessario scaricare l’immagine metal in anticipo e poi passarla localmente a coreos-installer
per l’installazione. È possibile scaricare l’immagine metal direttamente da pagina di download di FCOS, oppure utilizzare coreos-installer download
.
Quando si installa tramite ISO live o PXE, non è necessario scaricare l’immagine metal. È già inclusa in quegli ambienti. |
Sono disponibili due immagini metal: una per dischi con settori da 512b (etichettata "Raw" nella pagina di download) e una per dischi nativi con settori da 4k (etichettata "Raw (4K Native)"). A meno che non si sappia di voler utilizzare un disco nativo 4k, utilizzare quella da 512b, che è la più comune. Per ulteriori informazioni, consultare https://en.wikipedia.org/wiki/Advanced_Format#4K_native [questa pagina].
Per scaricare l’immagine nativa metal 4kn con coreos-installer download
, utilizzare l’opzione --format 4k.raw.xz
.
L’immagine metal utilizza un layout di partizione ibrido che supporta sia l’avvio BIOS che UEFI. |
Quando sarai finalmente pronto a installare FCOS, potrai indirizzarlo all’immagine scaricata utilizzando coreos-installer install --image-url <LOCAL_MIRROR>
or coreos-install --image-file <PATH>
.
Personalizzazione dell’installazione
I comandi coreos-installer iso customize
e coreos-installer pxe customize
possono essere utilizzati per creare immagini ISO e PXE personalizzate con configurazione specifica per il sito, inclusa la possibilità di eseguire installazioni non presidiate di Fedora CoreOS.
Quando si avvia un’immagine creata con coreos-installer pxe customize , la riga di comando del kernel PXE o iPXE deve includere gli argomenti ignition.firstboot ignition.platform.id=metal . Se si esegue su una macchina virtuale, sostituire metal con l’ID piattaforma https://coreos.github.io/ignition/supported-platforms/ per la propria piattaforma, ad esempio qemu o vmware .
|
Per esempio:
# Crea file customized.iso che:
# - Installa automaticamente in /dev/sda
# - Esegue il provisioning del sistema installato con config.ign
# - Configura GRUB e il kernel installati per utilizzare una console grafica primaria
# e una console seriale secondaria
# - Utilizza la configurazione di rete da static-ip.nmconnection
# - Considera attendibili i certificati HTTPS firmati da ca.pem
# - Esegue post.sh dopo l'installazione
coreos-installer iso customize \
--dest-device /dev/sda \
--dest-ignition config.ign \
--dest-console ttyS0,115200n8 \
--dest-console tty0 \
--network-keyfile static-ip.nmconnection \
--ignition-ca ca.pem \
--post-install post.sh \
-o custom.iso fedora-coreos-42.20250705.3.0-live.x86_64.iso
# Idem, ma crea un'immagine initramfs PXE personalizzata
coreos-installer pxe customize \
--dest-device /dev/sda \
--dest-ignition config.ign \
--dest-console ttyS0,115200n8 \
--dest-console tty0 \
--network-keyfile static-ip.nmconnection \
--ignition-ca ca.pem \
--post-install post.sh \
-o custom-initramfs.img fedora-coreos-42.20250705.3.0-live-initramfs.x86_64.img
Per maggiori dettagli sulle personalizzazioni disponibili, consulta documentazione di coreos-installer.
Installazione ISO su hardware diversi
In genere, i sistemi bare metal presentano una varietà di componenti hardware: alcuni sistemi potrebbero avere unità NVMe /dev/nvme*
, mentre altri hanno /dev/sd*
, ad esempio. Quasi certamente sarà necessario creare un modello del valore di /dev/sda
sopra.
Un approccio utile è quello di usare uno script che generi un file .iso
per ogni macchina. Se si dispone di un database hardware (che sia un file di testo in git o un database relazionale), sarà possibile generare, ad esempio, target-dell.ign
e target-hp.ign
per ogni macchina, specificandoli su --dest-ignition
insieme all’opzione --dest-device
appropriata per generare fedora-coreos-install-dell.iso
e fedora-coreos-install-hp.iso
.
In alternativa, invece di generare ISO per macchina, è possibile utilizzare uno script --pre-install
per eseguire un contenitore privilegiato che ispeziona il sistema di destinazione e scrive un config.installer appropriato in /etc/coreos/installer.d
.
Installazione su iSCSI
Per installare CoreOS su un dispositivo di avvio iSCSI, seguire gli stessi passaggi descritti sopra per ottenere l’ambiente live e aggiungere gli argomenti del kernel relativi a iSCSI.
-
Montare la destinazione iSCSI dall’ambiente live:
sudo iscsiadm -m discovery -t st -p 10.0.0.1 sudo iscsiadm -m node -T iqn.2023-10.coreos.target.vm:coreos -l
-
Aggiungere i karg necessari quando si esegue
coreos-installer
:
Su una macchina completamente priva di dischi, i valori di destinazione e di iniziatore iscsi possono essere passati tramite iBFT. Questi potrebbero essere forniti con uno script di avvio iPXE, ad esempio:
---
#!ipxe
set initiator-iqn iqn.2023-11.coreos.diskless:testsetup
sanboot iscsi:10.0.0.1::::iqn.2023-10.coreos.target.vm:coreos
---
---
sudo coreos-installer install \
/dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--append-karg rd.iscsi.firmware=1 --append-karg ip=ibft \
--console ttyS0 \
--ignition-url https://example.com/example.ign
---
---
sudo coreos-installer install \
/dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--append-karg rd.iscsi.initiator=iqn.2024-02.com.yourorg.name:lun0 \
--append-karg netroot=iscsi:iqn.2023-10.coreos.target.vm:coreos` \
--console ttyS0 \
--ignition-url https://example.com/example.ign
---
Tutto questo può essere impostato anche utilizzando coreos-installer iso customize
o coreos-installer pxe customize
. (Vedi la sezione "Personalizzazione dell’installazione" qui sopra).
Ad esempio utilizzando iBFT:
# Crea file customized.iso che:
# - Monta automaticamente la destinazione iSCSI utilizzando mount-iscsi.sh
# - Esegue il provisioning del sistema installato con config.ign
# - Configura il sistema installato per utilizzare iBFT
coreos-installer iso customize \
--pre-install mount-iscsi.sh \
--dest-device /dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.firmware=1 \
--dest-karg-append ip=ibft \
-o custom.iso fedora-coreos-{versione-stabile}-live.x86_64.iso
Il flag --pre-install
viene utilizzato per eseguire uno script con i comandi iscsiadm
, --dest-device
punta al disco montato e poi --dest-karg-append
aggiunge i karg necessari.
Reinstallazione di Fedora CoreOS
È possibile utilizzare uno qualsiasi dei metodi descritti sopra per reinstallare Fedora CoreOS sullo stesso computer tramite l’ambiente live.
Persistenza dei dati
Il programma di installazione non esegue la pulizia completa del disco di destinazione. Grazie a filesystem-reuse semantics di Ignition, se si applica una configurazione con le stesse identiche impostazioni di partizione e file system della prima installazione, tutti i dati precedentemente memorizzati nelle partizioni aggiuntive saranno comunque disponibili. Questo può essere utile per la persistenza, ad esempio, di /var/lib/containers
o /var/home
tra le reinstallazioni. Esistono tuttavia alcune restrizioni. Consultare la sezione Using persistent state per ulteriori informazioni. È inoltre opportuno assicurarsi che il file system di root abbia una dimensione fissa di almeno 8 GiB, come descritto in Configurazione dell’archiviazione, in modo che le partizioni dati non vengano sovrascritte accidentalmente.
Unità di destinazione
Fedora CoreOS richiede che esista un solo filesystem etichettato boot
. Se al primo avvio vengono rilevati più filesystem di questo tipo, il provisioning genererà un errore, in quanto a prova di errore. Se si reinstalla Fedora CoreOS su un disco diverso da quello dell’installazione precedente, assicurarsi di cancellare il disco precedente usando, ad esempio, wipefs
. Ad esempio, se si reinstalla in /dev/sdb
, ma /dev/sda
contiene ancora la precedente installazione di FCOS, usare wipefs -a /dev/sda
nell’ambiente di installazione.
Want to help? Learn how to contribute to Fedora Docs ›