The LILO ``Technical overview'' has the definitive technical, low-level
description of the boot process, up to where the kernel is started.

The source code is the ultimate guide. Below are some kernel
files related to the boot process. If you have the Linux kernel source code,
you can find these under /usr/src/linux on your machine;
alternatively, Shigio Yamaguchi (shigio at tamacom.com) has a very nice hypertext kernel
browser for reading kernel source files. Here are some relevant files
to look at:

Contains the ramdisk driver. The procedures
rd_load and rd_load_image load blocks from a device into a
ramdisk. The procedure
identify_ramdisk_image determines what
kind of filesystem is found and whether it is compressed.