The kernel will get a root filesystem, either as a ramdisk, passed as a pointer from the bootloader, or by mounting the block device given on the kernel command line by the root=
parameter. Once it has a root filesystem, the kernel will execute the first program, by default named init
, as described in the section Early Userspace in Chapter 4, Porting and Configuring the Kernel. Then, as far as the kernel is concerned, its job is complete. It is up to the init
program to begin processing scripts, start other programs, and so on, by calling system functions in the C library, which translate into kernel system calls.
To make a useful system, you need these components as a minimum: