Interestingly, I saw a post on Slashdot recently, about a 1 second linux boot. There was an extensive video. He'd push the reset button, the screen would flicker, and old ghost (from the previous run) would flash on the screen, and then things were populated again. but it was more of a "1 second to an applicataion" sort of thing, I don't know about it being a full OS. Really it was just for home automation.
Here's my idea of how the fastest possible (by defintion) operating system should work.
When it resets, the PC is set to some fixed starting address.
000 Registers may or may not be cleared at this point, so the first thing that should happen is that all registers should be cleared.
001 The bare minimum needed to interface to some storage device and the full range of RAM needs to be initiated.
010 Data is copied (at max speed possible) from hd0 to RAM. The smaller this file, the faster it'll boot.
500 Registers are set to what is indicated by file from disk.
510 PC set to origin of in RAM.
511
This might be a vast simplication of the process, but the point is that what is typically done by the BIOS, needs to be done by the bootloader. The more the bios can get out of the way the better. Or rather, ideally the bootloader would be in the BIOS, and not in the MBR (why do we need that thing again? It seems unnecessary.)
But since there are so many BIOSes out there, linux typically uses a bootloader in the MBR, which is what BIOS points to when it's done. So since we're stuck with that, you probably would want to disable EVERYTHING you can in BIOS. You want the bootloader to be a minimal as possible, and we want it to pick up at step 001 or maybe 010.
The truth is, TinyCore linux, from the time I see something that's clearly it talking, and not the bootloader doing something, is quite fast. Most of my lost time is in the BIOS and the bootloader.
Grub is typically used, but which bootloader is the FASTEST?