Usual flow
fw -> bootloader -> kernel -> initramfs -> rootfs
In its simplest form (no separate initramfs, init included in the kernel)
fw -> kernel (init included)
No initramfs, separate rootfs
fw -> kernel -> rootfs
A curated list of awesome initramfs resources.
- dracut - default on Fedora, OpenSUSE, Gentoo, Void
- mkinitcpio - default on Arch
- initramfs-tools - default on Debian
- make-initrd - default on AltLinux
- mkinitfs - default on Alpine
- Minimal Builder Using Terse Options - Host-agnostic initramfs image builder for lightweight virtual machines
- booster - Golang
- genkernel - Gentoo
- u-root - Golang
- mkosi - use system packages (not just individual files)
- gen_initramfs
- better-initramfs - Bash shell, busybox
- tiny-initramfs - C, works great
- tinyramfs - POSIX shell
- clr-init - Clear Linux
- jamdisk
- micro-rootfs - buildroot
- tinycorelinux - initramfs distro (no switch_root)
- mkroot/toybox - minimal initramfs distro
- cloud-initramfs-tools - initramfs-tools extra modules
- mxlinux - MX Linux
- linux-live
- tinyroot - Tinyroot
- mkinitramfs - Linux from scratch
- JamiKettunen
- Postmarketos-mkinitfs
- Yocto-initrdscripts
- ugrd
- build-in all kernel modules that needed to mount rootfs
- use root=/dev/sda (avoid using UUID)
- micro-rootfs - mdev
- adelielinux
- alpine
- altlinux
- aosc
- arch
- artixlinux
- azurelinux-dev
- azurelinux
- buildroot
- buildroot
- crux
- debian
- distri
- fedora-rpm
- fedora
- freedesktop-sdk
- gentoo
- gobolinux
- nix
- openembedded
- openeuler
- openmandriva
- opensuse
- photonos
- pld
- rhel
- rosa
- slack
- solus
- spack
- t2sde
- ubuntu
- void
- brltty
- fai
- kiwi
- dracut-sshd
- dracut-crypt-ssh
- openzfs
- clevis
- ignition
- stratisd
- tpm2-totp
- anaconda
- transactional-updates
- afterburn
- bootengine
- qubes-antievilmaid
- dracut-encryptrootfs
- Fedora CoreOS
- dracut-iguana
- mkinitcpio-ykfde
- dracut-ntfsloop
- iguana
- kairos-io
- immucore
- KaOS
- cloud-initramfs-tools
- zfsbootmenu
- gardenlinux-live
- hrmpf
- Cray-HPE/metal-dmk8s
- Cray-HPE/metal-mdsquash
- AsahiLinux
- Debian installer
- FIDO Device Onboard (FDO)
- initoverlayfs
(without an out-of-tree dracut modules)
- livecd-tools
- lorax
- rear
- calamares
- voidvault
- grml-debootstrap
- core-initrd - Ubuntu Core Linux
- Open-CAS
- build-in kernel modules into the kernel that is needed to mount rootfs (e.g. CONFIG_EXT4_FS=y)
- set root= kernel command line argument (see https://www.kernel.org/doc/html/v6.4/admin-guide/kernel-parameters.html)