This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| fedora_coreos [2025/10/05 09:13] – herwarth | fedora_coreos [2025/10/06 15:29] (current) – herwarth | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| =====Butane file===== | =====Butane file===== | ||
| - | Creating a butane file for automatic deployment because the installer of CoreOS is non-interactive | + | Creating a butane file for automatic deployment because the installer of CoreOS is non-interactive. |
| + | In this example I add a user core with a password hash (console access) and SSH-keys for authortized logins. | ||
| + | I add a root CA certificate, | ||
| <code - fcos.ign> | <code - fcos.ign> | ||
| Line 38: | Line 40: | ||
| . | . | ||
| -----END CERTIFICATE----- | -----END CERTIFICATE----- | ||
| - | # Set vim as default editor | ||
| - | # We use `zz-` as prefix to make sure this is processed last in order to | ||
| - | # override any previously set defaults. | ||
| - | - path: / | ||
| - | overwrite: true | ||
| - | contents: | ||
| - | inline: | | ||
| - | export EDITOR=vim | ||
| links: | links: | ||
| - path: / | - path: / | ||
| Line 73: | Line 67: | ||
| # added to the root image in a future Fedora CoreOS release as it will | # added to the root image in a future Fedora CoreOS release as it will | ||
| # prevent the service from failing. | # prevent the service from failing. | ||
| - | ExecStart=/ | + | ExecStart=/ |
| ExecStart=/ | ExecStart=/ | ||
| ExecStart=/ | ExecStart=/ | ||
| Line 80: | Line 74: | ||
| WantedBy=multi-user.target | WantedBy=multi-user.target | ||
| </ | </ | ||
| + | |||
| + | =====Convert Butane to Ignition===== | ||
| + | < | ||
| + | podman run --interactive --rm quay.io/ | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Upload the fcos.ign file to a webserver reachable by the installer | ||
| + | |||
| + | =====Modify Fedora ISO to non-interactive install VM===== | ||
| + | In this example I donwloaded fedora-coreos-42.20250914.3.0-live-iso.x86_64.iso from the Fedora website. It creates a custom.iso to upload to my Proxmox datastore. | ||
| + | |||
| + | < | ||
| + | podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data quay.io/ | ||
| + | --live-karg-append " | ||
| + | --live-karg-append " | ||
| + | -o custom.iso \ | ||
| + | fedora-coreos-42.20250914.3.0-live-iso.x86_64.iso | ||
| + | </ | ||
| + | |||
| + | =====Create VM in Proxmox===== | ||
| + | I create a VM in Proxmox with the following specifications: | ||
| + | * Linux 6.x - 2.6 Kernel | ||
| + | * ISO image: custom.iso (created above) | ||
| + | * Machine: q35 | ||
| + | * BIOS: OVMF | ||
| + | * Select preferred datastore in EFI storage | ||
| + | * SCSI Controller: VirtIO SCSI single | ||
| + | * Check Qemu Agent | ||
| + | * Disk size 16 GB | ||
| + | * Cache: Default | ||
| + | * Select Discard | ||
| + | * Sockets: 1 | ||
| + | * Cores: 2 | ||
| + | * Type: x86-64-v2-AES | ||
| + | * Memory: 4096 | ||
| + | * Bridge: vmbr0 | ||
| + | * Model: VirtIO (paravirtualized) | ||
| + | |||
| + | After that convert this VM to a template and when creating a VM make a full-clone of this template. | ||
| + | =====Modify after boot===== | ||
| + | The network is DHCP enabled in this example. The following steps remain: | ||
| + | * Manually confige network with nmcli/nmtui | ||
| + | * Set hostname | ||
| + | |||
| + | =====Resize disk in Proxmox===== | ||
| + | When the template diskspace is too small. Resize it in Proxmox and do the following in the VM: | ||
| + | < | ||
| + | rescan-scsi-bus.sh | ||
| + | growpart /dev/sda 4 | ||
| + | xfs_growfs /var | ||
| + | </ | ||
| + | {{tag> | ||