that's doing I/O via serial / usb to do data logging as quickly as possible, and everything else (display, mounting a mechanical hard drive) can wait. Essentially, steps 1-3 have to be as fast as possible.
What about building everything as modules and boot with an initrd that just has your user app static linked on it and the ide + fs modules?
You can boot get your app up and going first and then go do the probe/mount ide and then pivot_root once you get it all setup.
Also, If I do hda=noprobe, I guess the kernel won't mount it, so it fails. Seems like the kernel *must* probe the hd? I thought as long as it has the CHS, it didn't need to probe.
It needs to know lots of other stuff, ATA mode, etc.
-- Richard A. Smith