Instalando o CoreOS diretamente no hardware

Este guia fornece instruções para instalar o Fedora CoreOS diretamente no hardware. Estão disponíveis três opções:

  • Instalando da ISO live

  • Instalando do PXE

  • Instalando do contêiner

Pré-requisito

Antes de instalar o FCOS, você deve ter um arquivo de configuração do Ignition e hospedá-lo em algum lugar (por exemplo, usando python3 -m http.server). Se você não tiver um, consulte Produzindo um arquivo de Ignition.

Instalando da ISO live

Para instalar FCOS diretamente no hardware usando a ISO live, siga as seguintes etapas:

  1. Baixe a imagem ISO:

podman run --privileged --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -f iso

+ NOTE: Você pode iniciar o ambiente live em legacy (BIOS) ou no modo UEFI, independentemente do modo que o sistema operacional usará depois de instalado.

+ . Grave a ISO no disco e inicialize-o no sistema de destino. A ISO é capaz de trazer um sistema FCOS totalmente funcional puramente da memória (ou seja, sem usar qualquer armazenamento em disco). Uma vez inicializado, você terá acesso a um prompt de comando bash. . Agora você pode executar coreos-installer:

sudo coreos-installer install /dev/sda \
    --ignition-url https://example.com/example.ign

Uma vez que a instalação esteja completa, você pode simplesmente executar`sudo reboot`. Após a reinicialização, o primeiro processo de inicialização começa. É nesse momento que o Ignition carrega o arquivo de configuração e provisiona o sistema conforme especificado.

Confira coreos-installer install --help para mais opções sobre como instalar o Fedora CoreOS.

Instalando do PXE

Para instalar do PXE, siga as seguintes etapas:

  1. Baixe uma imagem kernel, initramfs e rootfs de FCOS PXE:

podman run --privileged --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -f pxe

+ NOTE: Iniciar a imagem live PXE requer pelo menos 2 GiB de RAM. Com o argumento de kernel`coreos.live.roots url`, e 3Gib de outra forma. Você pode instalar em legacy(BIOS) ou em UEFI, independentemente do modo que o sistema operacional usará depois de instalado.

+ . Siga este exemplo pxelinux.cfg para inicializar as imagens do instalador com PXELINUX:

+

DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
    KERNEL fedora-coreos-32.20200726.3.1-live-kernel-x86_64
    APPEND initrd=fedora-coreos-32.20200726.3.1-live-initramfs.x86_64.img,fedora-coreos-32.20200726.3.1-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

Para mais detalhes sobre como usar essas informações, consulte esta publicação de blog para testar uma instalação de PXE por uma VM local e libvirt.

Instalando do contêiner

Você pode usar o contêiner coreos-installer de um sistema existente para instalar em um dispositivo de bloco conectado. Por exemplo (substitua docker por podman se necessário):

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

Neste exemplo, coreos-installer irá baixar a última imagem de FCOS estável e instalá-la em /dev/vdb. Em seguida, ele injetará o arquivo Ignition config.ign no diretório atual na imagem. Use --help para ver todas as opções disponíveis.

Baixando e espelhando a imagem

Às vezes, é necessário fazer o download da imagem com antecedência e depois transferi-la localmente para o coreos-installer para instalação. Você pode baixar a imagem diretamente de página de download do FCOS, ou pode usar o coreos-installer download.

Ao instalar via ISO ao vivo ou PXE, não há necessidade de baixar a imagem. Já faz parte desses ambientes.

Existem duas imagens: uma para discos de setor de 512b (rotulada como "Raw" na página de download) e uma para discos nativos de setor de 4k (rotulada "Raw (4K Native)"). A menos que você saiba que tem como alvo um disco nativo de 4k, use o 512b, que é o mais comum. Consulte esta página para mais informações.

Para baixar a imagem nativa 4kn com coreos-installer download, use a opção --format 4k.raw.xz.

A imagem usa um layout de partição híbrido que suporta inicialização por BIOS e UEFI.

Quando estiver finalmente pronto para instalar o FCOS, você pode apontá-lo para sua imagem baixada usando coreos-installer install --image-url <ESPELHO_LOCAL> ou coreos-install --image-file <CAMINHO>.

PXE live

Neste modelo, em vez de realizar uma instalação "persistente" no disco, você pode executar diretamente da RAM. Isso é útil, por exemplo, cenários "sem disco". As etapas são semelhantes às acima, apenas omita os argumentos de coreos.inst e, em vez disso, faça com que o próprio sistema execute o Ignition:

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

Imagens rootfs PXE

Before August 2020, the Fedora CoreOS PXE image included two components: a kernel image and an initramfs image. Beginning August 12, a third rootfs image was added. At present, the rootfs image is optional, and Fedora CoreOS displays a warning on login if the system was booted without it. After an initial migration period, the rootfs image will be mandatory and the live PXE system will not boot without it.

The migration timeline is:

  • August 12: rootfs image available in next, testing, and stable streams

  • August 25: rootfs image required in next stream

  • September 22: rootfs image required in testing stream

  • October 6: rootfs image required in stable stream

To boot with the rootfs artifact, make one of the following changes to your PXE config:

  • Specify only the initramfs file as the initrd, and pass an HTTP(S) URL for the rootfs using the coreos.live.rootfs_url= kernel argument.

  • Specify both initramfs and rootfs files as initrds in your PXE configuration. This can be done via multiple initrd directives, or using additional initrd= parameters as kernel arguments.

  • Concatenate the initramfs and rootfs files together, and specify the combined file as the initrd.

For more information on this change, see the tracker issue.