Neptune Boot Loader 2.0 Beta
Posted: Sat May 16, 2009 8:46 pm
Neptune Boot Loader 2
Neptune's boot loader has been rewritten to use the new boot library written for Neptune's two main startup programs. Because this is a rewrite, I am releasing it as version 2.
Features
-Modular. Composed of three programs in two files and its usage of the boot library
-Everything runs in protected mode
-Portable: Works in tested laptops, PCs, Virtual PC, and all tested versions of Bochs
-Supports all volume types and filesystems that the BootLib supports. Currently FAT12; Any volume drive (No HDD support yet do to technical limitations in the BootLib.)
-Very easy to boot other OS's or add additional entries to boot from by making additional entries in the boot.lst configuration file.
-Hardware independent. All hardware access is done through a standard one-function BIOS calling interface via the BootLib.
-Basic boot time command parser (Currently being re-implemented)
-Not much of a feature, but written in C using MSVC 2008, with NASM.
More information can be obtained here (Clicky).
Testing
If you would like to test it, please obtain the files from here (Clicky).
To install, first format a floppy disk or virtual floppy image for a FAT12 file system. Write bootsect.bak in two parts as shown below using partcopy. This is needed as bootsect.bak does not contain a BPB table by default. Instead, it must be merged with a preformatted boot sector.
All other files can be copied over as any other file.
Please let me know if you run into any problems. Know issues are:
-BootLdr will give an error if boot.lst is not found
-Filenames in boot.lst are sent straight to the filesystem. Do to filesystem naming conventions, all image names must be in all CAPS in order to be found by BootLib's file system code.
-Does not parse directory paths nor volume mount points. BootLib kind of supports this but it is not yet used by the boot loader.
-Command parser not yet implemented. One of our dedicated programmers are working on it...
Please let me know if you have any suggestions, comments, or questions.
Neptune's boot loader has been rewritten to use the new boot library written for Neptune's two main startup programs. Because this is a rewrite, I am releasing it as version 2.
Features
-Modular. Composed of three programs in two files and its usage of the boot library
-Everything runs in protected mode
-Portable: Works in tested laptops, PCs, Virtual PC, and all tested versions of Bochs
-Supports all volume types and filesystems that the BootLib supports. Currently FAT12; Any volume drive (No HDD support yet do to technical limitations in the BootLib.)
-Very easy to boot other OS's or add additional entries to boot from by making additional entries in the boot.lst configuration file.
-Hardware independent. All hardware access is done through a standard one-function BIOS calling interface via the BootLib.
-Basic boot time command parser (Currently being re-implemented)
-Not much of a feature, but written in C using MSVC 2008, with NASM.
More information can be obtained here (Clicky).
Testing
If you would like to test it, please obtain the files from here (Clicky).
To install, first format a floppy disk or virtual floppy image for a FAT12 file system. Write bootsect.bak in two parts as shown below using partcopy. This is needed as bootsect.bak does not contain a BPB table by default. Instead, it must be merged with a preformatted boot sector.
Code: Select all
partcopy bootsect.bak 0 3 -f0 0
partcopy bootsect.bak 3E 1C2 -f0 3E
Please let me know if you run into any problems. Know issues are:
-BootLdr will give an error if boot.lst is not found
-Filenames in boot.lst are sent straight to the filesystem. Do to filesystem naming conventions, all image names must be in all CAPS in order to be found by BootLib's file system code.
-Does not parse directory paths nor volume mount points. BootLib kind of supports this but it is not yet used by the boot loader.
-Command parser not yet implemented. One of our dedicated programmers are working on it...
Please let me know if you have any suggestions, comments, or questions.