Moving from bootloader to kernel
When the bootloader passes control to the kernel it has to pass some basic information to the kernel, which may include some of the following:
On PowerPC and ARM architectures: a number unique to the type of the SoC
Basic details of the hardware detected so far, including at least the size and location of the physical RAM, and the CPU clock speed
The kernel command line
Optionally, the location and size of a device tree binary
Optionally, the location and size of an initial RAM disk
The kernel command line is a plain ASCII string which controls the behavior of Linux, setting, for example, the device that contains the root filesystem. I will look at the details of this in the next chapter. It is common to provide the root filesystem as a RAM disk, in which case it is the responsibility of the bootloader to load the RAM disk image into memory. I will cover the way you create initial RAM disks in Chapter 5, Building a Root Filesystem.
The way this information is passed...