grub2 to boot Soekris net5501.
.... on the last dumpster dive my friends found qty=6 Soekris net5501, most completely smashed as if hit by a giant heavy hammer (wtf?!? why?.?.?), some rusted and with popped caps, plus oxidation from being exposed to rain for months, but the last unit was promising: it powered up, and despite the serial port looked drunk as it outputted strings with missing or weird chars, I found it was only a pin with a floating ground connection.
The mobo was cleaned, easily repaired and finally re-installed into its still rusty metal case waiting to be repainted, but it's back to working condition

Yub,
grub is an option, and it can be configured to reassign the console to Com1 but
- I don't like it
- I also need a monitor, not only a bootloader
- so I want something like U-boot
- I don't want to deal with PC_part
- I don't want to deal with EFI_part
- I need to initialize special PCI-fpga stuff (the net5501 offers a PCI 3.3V slot)
- I want to tftpboot
For grub2, the LHS and CHS geometry must match, because the BIOS uses CHS for small drives and LHS for larger ones.
I think I will use the BIOS disk calls (CHS) only to load the second stage, then I will implement a PCI driver to access the PATA controller in order to directly access the disk in LBA mode.
And in LBA, it will load the kernel in ram, and jump into kernel_start.
I already have a working skeleton
- MBR: working
- disk CHS: working
- second stage: partially working
- monitor (ram-dump, edit, fill): partially completed
- micro shell: partially completed
- serial console: working
- dynamic ram: working
The max size of the final code must be < 800Kbyte
