Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

MoS Boot Loader

Sign in to follow this  


MoS Boot Loader

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...
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!