Fedora CoreOS works quite different than normal Linux in case of partitions of disk. It don't work in same way like normal Linux. We can create new partitions or mount new partitions under /var only or it's sub directory. We can't modify rest of the partitions except /var. We can't setup Fedora CoreOS in software Raid1 with two disk on server, like normal Linux works, /boot and /boot/efi not supported currently.
In this article we will create separate /var partition on the same disk on which OS will install. We have created below yml file.
variant: fcos version: 1.0.0 passwd: users: - name: core password_hash: "$1$core$5aXXhoTQK2Rg89MGKrHAl1" ssh_authorized_keys: - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSNZn3WDvVg1ZdtTOhn1lHkUGfAsaoiTufMULduM804oc62dwgnnryfB1z9YZ5NUtMQdJANu5dc0+UaxLxrvKkVct6N903IjnsEh6l8JIUcFxpExVZBUEOAQ4Gl2dN44OVH1rdjXBJxgWc/+o3kCvOkUmQzjHpp7C0S0HJfZcvEzaIyho4+RrqNjaQw/xiiaKbo6hbnq02JWeZuy8SaUAzZG1uo2I/5KOKi9vlhOuhXS1lrbFWQ5IJN0g9iaz5I01zCxO/AC2ETHA4GN7CqFAG/H/sfW1eht8py6R/s4b4wVLMOPzn5G4sF3y2p+puoBfO0PuPVwWdx4le7iefOc8d amit@bondwal" storage: disks: - # The name of the primary block device. In virtio-based setups, this is # likely `/dev/vda`. Elsewhere, it's likely `/dev/sda`. device: /dev/sda # We do not want to wipe the partition table since this is the primary # device. wipe_table: false partitions: - size_mib: 0 start_mib: 8000 # We assign a descriptive label to the partition. This is important # for referring to it in a device-agnostic way in other parts of the # configuration. label: var filesystems: - path: /var device: /dev/disk/by-partlabel/var format: xfs systemd: units: - # We need to create a systemd mount unit so that /var actually gets # mounted on /var. name: var.mount enabled: true contents: | [Unit] Before=local-fs.target [Mount] Where=/var What=/dev/disk/by-partlabel/var [Install] WantedBy=local-fs.target
In the above yml file three things are important to understand.
- wipe_table : false, This is important we keep it false, otherwise it will clear the other partition (sysroot, boot etc.) which was created during this installation and installation will fail.
- size_mib=0 and start_mib=8000, here we are allocation disk starting from 0MB to 8000MB for other partitions like boot, sysroot etc. rest of the disk will be assigned to /var partition. So, we should given sufficient space for sysroot and other partition. Here it was just testing setup so 8000MB was sufficient.
- Disk should be clean, before running installation, disk should not have any partition, check disk with fdisk /dev/sdx before installation. If it any partition, delete these partition. Otherwise installation will fail.
To generate ignition file from yml file and installation, follow my previous article https://www.amitbondwal.com/fedora-coreos-installation-on-bare-metal/