Fedora Silverblue

Cover Image for Fedora Silverblue

Fedora silverblue is immutable desktop environment supporting atomic updates. It utilizes rpm-ostree, a hybrid image/package system for storing binary OS images. Silverblue can be installed using iso media, kickstart file and possibly other methods. Kickstart allows unattended network based installation.

Fedora Silverblue kickstart configuration:

# OSTree setup
ostreesetup --osname="fedora" --remote="fedora" --url="https://d2uk5hbyrobdzx.cloudfront.net/" --ref="fedora/32/x86_64/silverblue" --nogpg
# Reboot after installation
# Use text mode install
# Use network installation
url --url="https://download.fedoraproject.org/pub/fedora/linux/releases/32/Everything/x86_64/os/"

%post --logfile=/root/ks-post.log --erroronfail

# add sudoers
echo "Creating /etc/sudoers.d/wheel"
echo "%wheel ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/wheel
# Add user as a workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1838859
echo "Adding new user"
useradd -g wheel tomas
echo "tomas:changeme" | chpasswd

# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Firewall configuration
firewall --use-system-defaults
# Network information
network  --bootproto=dhcp --device=link --hostname=silverblue --activate

# SELinux configuration
selinux --permissive

# X Window System configuration information
xconfig  --startxonboot
firstboot --disable
# System services
services --enabled="chronyd"

ignoredisk --only-use=vda
# System bootloader configuration
bootloader --location=mbr --boot-drive=vda
# Partition clearing information
clearpart --all --initlabel --drives=vda

# System timezone
timezone UTC --utc

#Root password
rootpw --lock

%addon com_redhat_kdump --disable --reserve-mb='128'


Due to the issue with the fedora installer (anaconda) BZ#1838859 users are created in %post section.

Libvirt installation:

virt-install \
--name silverblue \
--ram 2048 \
--os-type linux \
--os-variant fedora31 \
--virt-type kvm \
--graphics spice \
--video vga \
--connect qemu:///system \
--disk=./silverblue.vda.x86_64.qcow2,bus=virtio,format=qcow2,size=7 \
--location=https://download.fedoraproject.org/pub/fedora/linux/releases/32/Everything/os \
--initrd-inject ./silverblue-ks.cfg \
--extra-args="inst.ks=file:/silverblue-ks.cfg net.ifnames=0 biosdevname=0"

After the installation, virtual machine can be managed using virsh, virt-manager or virt-viewer for accessing GUI:

virt-viewer --connect qemu:///system silverblue


Fedora Silverblue resources

What is Silverblue?
The pieces of Fedora Silverblue
Fedora Silverblue, an introduction for developers
Fedora Silverblue User Guide