Minimal filesystem
- In order to work, a Linux system needs at least a few applications
- An init application, which is the first user space application started by the kernel after mounting the root filesystem
- The kernel tries to run /sbin/init, /bin/init, /etc/init and /bin/sh.
- In the case of an initramfs, it will only look for /init. Another path can be supplied by the rdinit kernel argument.
- If none of them are found, the kernel panics and the boot process is stopped.
- The init application is responsible for starting all other user space applications and services
- A shell, to implement scripts, automate tasks, and allow a user to interact with the system
- Basic Unix applications, to copy files, move files, list files (commands like mv, cp, mkdir, cat, etc.)
- These basic components have to be integrated into the root filesystem to make it usable
Overall booting process
Overall booting process with initramfs