The Raspberry Pi boot sequence is somewhat unique, due – amongst other things – to the binary code blobs necessary to drive the Broadcom CPU/GPU at boot time.
The FAT32 boot partition looks like this:
The three binary files arm<nnn>_start.elf provide varying allocations of the processor for CPU (compute) versus GPU (video) work. This effectively means that for more video-intensive uses, there will be less CPU capability, and this (it appears..) has to be decided at boot time.. The three options are selected by copying the appropriate file to ‘start.elf’.
The cmdline(xxx).txt files provide more boot-time parameters, such as console port and speed, root filesystem location and type, and boot delay.. Some of these are similar to the parameters held in the bios on systems such as the Marvell-chipset based Dreamplug..
The actual Linux kernel is contained in the kernel.img file, and this is created (after kernel compilation) using a Python tool – ‘imagetool-uncompressed.py‘ which can be obtained from the Pi kernel GitHub site, at https://github.com/raspberrypi/tools.
More details can be found on the excellent Wiki, at http://elinux.org/R-Pi_Hub