User Tools

Site Tools


fedora_coreos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
fedora_coreos [2025/10/05 09:13] – created herwarthfedora_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, set my router as NTP source for chrony install 3 additional packages: docker-compose,vim,qemu-guest-agent and make docker service enabled.
  
 <code - fcos.ign> <code - fcos.ign>
Line 12: Line 14:
   users:   users:
     - name: core     - name: core
-      password_hash: HASH+      password_hash: <PASSWORD_HASH>
       ssh_authorized_keys:       ssh_authorized_keys:
         - ssh-rsa ...         - ssh-rsa ...
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: /etc/profile.d/zz-default-editor.sh 
-      overwrite: true 
-      contents: 
-        inline: | 
-          export EDITOR=vim 
   links:   links:
     - path: /etc/localtime     - path: /etc/localtime
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=/usr/bin/rpm-ostree install -y --allow-inactive docker-compose vim qemu-guest-agent+        ExecStart=/usr/bin/rpm-ostree install -y --allow-inactive docker-compose qemu-guest-agent
         ExecStart=/bin/touch /var/lib/%N.stamp         ExecStart=/bin/touch /var/lib/%N.stamp
         ExecStart=/bin/systemctl --no-block reboot         ExecStart=/bin/systemctl --no-block reboot
Line 80: Line 74:
         WantedBy=multi-user.target         WantedBy=multi-user.target
 </code> </code>
 +
 +=====Convert Butane to Ignition=====
 +<code>
 +podman run --interactive --rm quay.io/coreos/butane:release \
 +       --pretty --strict < fcos.bu > fcos.ign
 +</code>
 +
 +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.
 +
 +<code>
 +podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data quay.io/coreos/coreos-installer:release iso customize \
 +    --live-karg-append "coreos.inst.install_dev=/dev/sda" \
 +    --live-karg-append "coreos.inst.ignition_url=http://<URL-WEBSERVER>/fcos.ign" \
 +    -o custom.iso \
 +    fedora-coreos-42.20250914.3.0-live-iso.x86_64.iso
 +</code>
 +
 +=====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:
 +<code>
 +rescan-scsi-bus.sh
 +growpart /dev/sda 4
 +xfs_growfs /var
 +</code>
 +{{tag>linux}}
fedora_coreos.1759655583.txt.gz · Last modified: by herwarth