On Friday, March 27, 2015 11:49:54 AM Berth-Olof Bergman wrote:
Personally I don’t understand why boot loaders insist on writing the code the way they do. There is BIOS services for boot device I/O, serial port debug and putting payloads anywhere in memory. I think a boot loader will suffice running in 16-bit real mode or unreal mode (16-bit code, 32-bit data) and using the BIOS APIs to communicate with the hardware. It will always be compatible and a lot faster. I think most boot loaders are overly bloated.
And you'd rather bloat the hardware init code instead? The code for those services has to reside _somewhere_.
Guess what! SeaBIOS does all that, and it's paper thin. I wish the GRUB guys would figure out the bloat. They probably already did, but didn't document it.
Alex