====== Install Fedora Core OS (FCOS) ====== CoreOS uses an ignite file to determine the parameters for the installation. This can be a file on a disk or a file on a webserver. Installation methods for openshift and OKD use this to push installation configurations over ssh. ===== create the ignite file ===== you do this by creating a butane config yaml and converting it to an ignite json using butane. ==== install butane on a fedora workstation ==== ''dnf install -y butane'' ==== create the butane config file ==== Create a yaml file with your config, mid the indentation. In this example only a group and a user with a specific uid is created. I name this file //version1.bu// (an exhaustive list of the options for butane config can be found [[https://www.flatcar.org/docs/latest/provisioning/config-transpiler/configuration/|here]]). A hashed password can be created using:\\ ''mkpasswd --method=yescrypt''\\ it will ask for your password and returned a hashed password. version: 1.6.0 passwd: groups: - name: beheerders gid: 700 users: - name: abel password_hash: $y$j9T$z8................ uid: 700 primary_group: users groups: - beheerders ssh_authorized_keys: - ssh-ed25519 AAAAC3................P abel@nergens ==== convert the butqane file to an ignite file ==== Then with butane transform it ti the ignite json:\\ ''%%butane --pretty --strict version1.bu > version1.ign%%'' the resulting json file //version1.ign// looks like: { "ignition": { "version": "3.5.0" }, "passwd": { "groups": [ { "gid": 700, "name": "beheerders" } ], "users": [ { "groups": [ "beheerders" ], "name": "abel", "passwordHash": "$y$j9T$z8................", "primaryGroup": "users", "sshAuthorizedKeys": [ "ssh-ed25519 AAAAC3N................P abel@nergens" ], "uid": 700 } ] } } ==== save the ignite file ==== Copy the previously made ignite file to a separate USB disk formatted with xfs filesystem for use in installation later. ===== create an USB installation disk ===== ==== download Fedora Core OS ==== Download the fedora coreos image from : https://fedoraproject.org/coreos/download?stream=stable&arch=x86_64 and create a bootable installation medium USB stick using ''dd'' or //Rufus// ===== boot and install the target baremetal server ===== stick the USB install disk in the server, turn on and in the BIOS or in the bootmenu choose the USB device as boot device. once the system is booted, insert the seperate stick with the ignite file in the server and mount it. On the promt enter: ''lsblk'' and choose the disk to install to (in this example ''/dev/sda''). Then start the installation : ''%%sudo coreos-installer install /dev/sda --ignition-file /path/to/seperate-USB-stick/version1.ign%%'' ===== sources ===== https://www.flatcar.org/docs/latest/provisioning/config-transpiler/configuration/ https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/ ===== further reading: ===== https://www.redhat.com/en/blog/red-hat-enterprise-linux-coreos-customization