initramfs
-
tinycorelinux is run entirely in the initramfs (no
switch_root) -
kiss is also run in initramfs and extracts
.tar.xzpackages (noswitch_root) -
tinyramfs supports hardware detection at boot if all necessary modules are included; kiss-live project
-
initramfs is newer compared to initrd
-
The file
/initmust exist in the initramfs -
All daemons started by the initramfs must be killed, as the kernel reserves PID 1 for the init system
-
pivot_rootis older thanswitch_rootand was used by the old initrd, while the latter is used by the newer initramfs -
Some init systems require proc, sys and dev to be mounted before starting up with
switch_rootin init, in this case is better to usemount --moveinstead of cleaning up withumountbeforeswitch_root, otherwise it is better overall to useumountto boot in a clean state. -
cryptsetuprequires/run; not included in the iso -
/mnt/rootis the accepted mountpoint for the root filesystem -
findfsfromutil-linuxcan be used to detect the labelglaucusinstead of using/dev/sr0directly -
No need for network or wireless drivers inside initramfs because we won’t live boot over network for now
-
When using
find . -print0the option-0or--nullshould be used withcpio -
modproberesolved dependencies, unlikeinsmod -
Without running
depmodmodule dependencies won’t be loaded -
blkidis better thanfindfsin terms of finding block devices; better output -
Do we need the following modules:
char/tpm,firewire,hid-genericandpcmcia?
References
Section titled “References”- https://github.com/hanh-linux/gen-initramfs
- https://github.com/hanh-linux/gen-initramfs/wiki/Explanation-of-how-initramfs-mounts-the-ISO.
- https://github.com/rdbo/sigma-linux/blob/master/profile/initfs
- https://github.com/sabotage-linux/sabotage/blob/master/KEEP/initramfs.init
- https://github.com/sabotage-linux/sabotage/blob/master/KEEP/initramfs.sh
- https://github.com/venomlinux/mkinitramfs
- https://gitlab.alpinelinux.org/alpine/mkinitfs
- https://hacktivis.me/articles/bootstrap-initrd
- https://landley.net/writing/rootfs-howto.html
- https://landley.net/writing/rootfs-intro.html
- https://wiki.gentoo.org/wiki/Custom_Initramfs
- https://wiki.gentoo.org/wiki/Custom_Initramfs/Examples
- https://wiki.gentoo.org/wiki/Early_Userspace_Mounting
- https://wiki.gentoo.org/wiki/Initramfs
- https://wiki.gentoo.org/wiki/Initramfs/Guide
- https://wiki.gentoo.org/wiki/Initramfs_-_make_your_own