How RH Linux Boots :: /, /boot, and LILO

/ must be a primary partition.

/boot may be a logical partition and is typically used to store the kernel image.  It is somewhat misnamed since nothing will boot directly from it and it is actually optional.  The kernel image need not be copied into /boot; it's just a nicety.

LILO is the LInux LOader, a utility for loading Linux, or any (?) other OS.

LILO is configured wirh /etc/lilo.conf via your text editor of choice.   Within this file, you'd specify things like where to find the already complied kernel, ie, the executable image.  You'd also specify which primary partition to use for booting, eg, '/'. Once properly edited, you'd execute /sbin/lilo.  This will take the info from /etc/lilo.conf and put a copy of a special boot time loader in the secondary boot record of the primary partition you named ('/') and then place the location of kernel into a map file.

It is important to note that /sbin/lilo deconstructs the filesystem specific path/filename and puts the equivalent sector/track info in the map file, liberating LILO from any specific filesystem or OS.  In fact, /sbin/lilo should be run every time the kernel is recompiled.

It is also worth noting that one of the typical handful of configuration items is to mount root as read only.

At boot time, the Boot PROM/FLASH will load the MBR, which will load the exectuable from '/', which will inspect the map file to locate the kernel image  (under  /boot) - and load it.

      Boot PROM/FLASH  -->  MBR  -->  SBR  -->  "LILO"  -->  kernel

So, here we are with the kernel loaded and execution transfered to its beginning.