Para usar o Fedora Core é necessário criar um arquivo de inicialização semelhante à ideia do Cloud-init.
Mas o arquivo de configuração YAML (YAML Ain't Markup Language) é conhecido como Butane.
Esse arquivo precisa ser convertido para JSON, conhecido como Ignition.
Para definir a senha no arquivo, é preciso criar o hash usado no Linux. Uma forma de fazer isso é usando Podman:
podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
Exemplo do arquivo Butane que eu usei:
variant: fcos version: 1.6.0 passwd: users: - name: core ssh_authorized_keys: - ssh-ed25519 AAAAC3NzaXXXXXXXXXXXXXXXII/RsHt5CL/v5juZaj+qmQfw9G+n6J24PzTLu+hIuMOd password_hash: $y$j9T$GNBLbCycFxXXXXni1hs.$GHx/wq5SwJpqyXXXXXXXXXXtfDY9nSYqLx7jqpt2w99 storage: files: - path: /etc/hostname mode: 0644 contents: inline: fcos01 - path: /etc/vconsole.conf mode: 0644 contents: inline: | KEYMAP=br-abnt2 systemd: units: - name: "install-qemu-guest-agent.service" enabled: true contents: | [Unit] Description=Ensure qemu-guest-agent is installed Wants=network-online.target After=network-online.target Before=zincati.service ConditionPathExists=!/var/lib/%N.stamp [Service] Type=oneshot RemainAfterExit=yes ExecStart=rpm-ostree install --allow-inactive --assumeyes --reboot qemu-guest-agent ExecStart=/bin/touch /var/lib/%N.stamp [Install] WantedBy=multi-user.target
Para converter o Butane em Ignition:
No Linux:
podman run -i --rm quay.io/coreos/butane --pretty --strict < fcos.bn | tee fcos.ign
No PowerShell:
Get-Content fcos.bn | podman run -i --rm quay.io/coreos/butane --pretty --strict | ConvertFrom-Json | ConvertTo-Json -Depth 100 -Compress | Set-Content fcos.minimized.ign -Encoding utf8
Ou:
Get-Content fcos.bn | podman run -i --rm quay.io/coreos/butane --pretty --strict | Tee-Object -FilePath fcos2.ign -Encoding utf8
Se for usar VirtualBox:
Depois de importar o arquivo OVA, crie o guestproperty:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" guestproperty set 'FCOS' /Ignition/Config "$(cat .\fcos.minimized.ign)"
No meu caso, a máquina chamava FCOS e o arquivo Ignition fcos.minimized.ign.
Se for usar Proxmox, uma opção é iniciar com ISO e depois baixar o ign previamente hospedado por HTTP:
curl -o coreos.ign http://<ip-address>:8080/coreos/coreos.ign
coreos-installer install /dev/sda -i coreos.ign
Outra opção é editar o arquivo:
/etc/pve/qemu-server/<vmid>.conf
args: -fw_cfg name=opt/com.coreos/config,file=path/to/example.ign
Adicione na máquina uma interface serial porque foi configurada como terminal.