In short:
The BIOS loads a boot loader (f.e. GRUB/LILO/ BOOTLDR [=windows])
For Linux: The Bootloader reads the kernel + ramdisk into memory and activates the kernel.
The Bootloader still uses the BIOS to load data.
The kernel initialises its own drivers (built into the kernel) and then mounts the ramdisk if specified or the root partition/disk.
then it start the /sbin/init program from there. (that runs some scripts etc. to start all services).
On the ramdisk (still no io adapter involved) you can store additional kernel modules to access the various components in the system.
The ramdisk can then later be replaced with the realy intended Root disk for your system.
This usage of an initial ramdisk should be described by all distro's.
http://forums.gentoo.org/viewtopic.php?t=193273http://oldfield.wattle.id.au/luv/boot.html