Hey everyone! [smile]
I have rewritten my systems bootloader from scratch to provide more flexible way of booting either MoS or existing operating systems, with better support for BIOS or EFI booting from different boot devices, filesystems, and architecture abstractions. Of course, there is GRUB and LILO; but my goals are different which is why I have developed my own.
Here we are. 11K lines of code later and the main menu has just been completed. I figured that I have not posted in a little while, so why not?
Heres the new boot menu:
This is with the second option selected (and enter pressed). Because its not a valid system, it displays an error. This is just a test to insure the menu rendering code worked fine.
Highlighting and selecting the first option brings the user into the internal command interpreter (Which almost none of the commands are implemented yet. Im still trying to determine how I should proceed from here) :
I got the idea of the internal command line from GRUB (Which I would like to see BOOTMGR have as well.) Im thinking of having the bootloader look in the current boot drive for a MOS.INI file and running it as a boot up script if it exists to determine how to boot. MOS.INI would contain the operating system options that would be displayed in the main menu (Which is dynamically rendered).
Currently, it only supports reading from FAT12. However future support for FAT16 and FAT32 are planned very soon as well as partitions. The current design of the boot loader software already has partitions in place; just not fully implemented yet.
Written almost entirely in C++ and designed kind of like NTLDR and BOOTMGR I am very happy with the current progress of the bootloader so far. [smile]
Now, back to coding...