Bootstrap ========= 1. Prepare emergency shell, if enabled 2. Set up initial signal handlers 3. Set up default $PATH early 4. Mount `/proc` and `/sys` 5. Check kernel command line for `debug` to figure out log level 6. Load all `.so` plugins 7. Call `fsck` on file systems listed in `/etc/fstab` 8. Populate `/dev` using either udev or mdev, depending on system type 9. Parse `/etc/finit.conf` 10. Start built-in watchdog, if enabled and `WDT_DEVNODE` exists. This means any WDT that requires a kernel module need to be either compiled into the kernel, or insmod'ed in `/etc/finit.conf` 11. Load all `/etc/finit.d/*.conf` files and set hostname 12. Remount `/` read-write if `/` is listed in `/etc/fstab` without `ro` 13. Call 1st level hooks, `HOOK_ROOTFS_UP` 14. Mount all file systems listed in `/etc/fstab` and swap, if available. On mount error `HOOK_MOUNT_ERROR` is called. After mount, regardless of error, `HOOK_MOUNT_POST` is called 15. Enable SysV init signals 16. Call 2nd level hooks, `HOOK_BASEFS_UP` 17. Cleanup stale files from `/tmp/*` et al, handled by `bootmisc` plugin 18. Load kernel params from `/etc/sysctl.d/*.conf`, `/etc/sysctl.conf` et al. (Supports all locations that SysV init does.), handled by `procps` plugin 19. Start all 'S' runlevel tasks and services 20. Bring up loopback interface and all `/etc/network/interfaces`, if the `.conf` setting `network