Easily Install UCore OS / Fedora Core OS

Installing operating systems that need ignition might sound challenging, but don’t worry—with this guide, it'll be easy! The steps are simple, even if you’re a beginner.
UCore OS boots in about one-third of the time it takes for Ubuntu Server to boot on a VM in my Proxmox server.
Understanding Fedora Core OS and UCore OS
Fedora Core OS (CoreOS) is an OS optimized for containers (like Podman and Docker) with automatic updates, security, and a minimal design for high speed. While great, it may lack some tools for homelabs, like Cockpit, Docker as an option over Podman, and SMB. UCore OS (GitHub) bundles these tools into an efficient package that’s perfect for homelab environments, available in standard, minimal and other versions.
Step 1: Generate SSH Key and Password Hash
SSH Key
Press Enter to accept the default file path (~/.ssh/id_ed25519
). Choose a passphrase (optional).
The public key is saved in ~/.ssh/id_ed25519.pub
. To view it:
Password Hash
Generate a password hash using:
Step 2: Create Butane Configuration File
In the Butane configuration file, add the entire SSH key code in the ssh_authorized_keys:
field and the password hash in the password_hash:
field.
(Optional) If you want to install fedora core os without ucore os get the second butane config instead.
Note: To use UCore Minimal instead of UCore "standard", change theucore:stable
in the configuration toucore-minimal:stable
(in two places).
(Optional) Use this config instead if you don't want to install ucore os.
Step 3: Convert Butane to Ignition
Install Butane using your preferred method. I’ll use Homebrew:
Navigate to the directory with the Butane file:
Convert the Butane file to an Ignition file:
Step 4: Download Core OS ISO
Download the CoreOS ISO from Fedora Core OS to boot it on your VM or PC on step 6.
Step 5: Provide Ignition via HTTP
To make the Ignition file accessible, start an HTTP server in the directory with the .ign
file:
Check your machine's local IP:
Navigate to the Ignition file location:
Start the Python HTTP server:
Step 6: Start the Installation
After booting the core os ISO, identify the storage disk to install CoreOS:
Then use this command, replacing <your-local-ip>
and /dev/sda
with your machine's IP and the storage path:
Congratulations!
You now have a fast, container-ready OS installed, optimized for your homelab!