Fedora as Grml replacement
Grml is a Linux Live CD distribution geared towards system administration tasks and other console work. Unfortunately, its development has slowed down in the past years, i.e. the latest stable release is from 2014. In 2017, when dealing with modern hardware, modern features like Btrfs, SELinux etc. this is a deal breaker. It turns out that Fedora, when installed on a USB mass storage device, is a good substitute for traditional Linux Live CDs like Grml.
How it works¶
A very fast and convenient method to install Fedora on a USB
stick is to use virt-builder
, e.g.:
$ virt-builder fedora-25 --hostname rescue.example.org \
--ssh-inject root:file:"$pubkey" --root-password file:"$pwfile" \
--update --install $(paste -d, -s package.list) \
--run guest-setup.sh --selinux-relabel \
-o /dev/sdz
The virt-builder
command is probably mostly used for fast
generation of virtual machine images but it works as well for
bare-metal installations. It is so fast because it starts from
filesystem-templates.
In the above example, the shell script guest-setup.sh
applies
some defaults and other post-installation customizations in the
target system.
The result can be easily tested with QEMU/KVM, e.g.:
$ qemu-system-x86_64 -enable-kvm -drive file=/dev/sdz,if=virtio,format=raw \
-m 2048 -netdev bridge,id=nd0,name=tap0,br=virbr0 \
-device e1000,netdev=nd0,id=d0 -display curses
The Code¶
I've published some scripts to generate such a Fedora based USB stick in a Git repository. The repository also contains some more details in a README including a detailed comparison with Grml.
Addendum¶
Also, nowadays, the traditional Linux Live CD approach is a little bit outdated. Many systems don't even have a CDROM drive anymore for good reason. Sophisticated distributions like Grml are hybrid, i.e. they can also be booted from a USB stick, but they don't make use of the extra space or the fact that the stick is writable, by default. Grml even supports customizations like adding a writable filesystem but such changes are kind of tedious.
Grml doesn't just come with good defaults (e.g. zsh login shell), the team also has a talent choosing great release names (e.g. Knecht Rootrecht).