Skip to content

A simple bootloader loads a small kernel and jumps to it after loading it.

Notifications You must be signed in to change notification settings

vatsal-afk/bootloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bootstrap Loader

To run this project:

( Windows Users need to set up a Virtual Machine or use WSL )

for debian based Linux users:

just make sure that all the relative file structure remains intact

execute the following commands on the terminal: ( after navigating to the project dir )

sudo apt update
sudo apt install nasm qemu

you can find similar commands for macOS, redHat, etc.

chmod +x exec.sh
./exec.sh

this will assemble the boot.asm and kernel.asm files into binary files

The user is prompted with a boot menu with boot options :

  1. Normal Mode
  2. Recovery Mode

fat12.asm contains header files for FAT 12 file system.

Basic error handling and debugging functionality has been implemented.

The kernel implementation is basic and the kernel prints on the emulator the message alongwith the selected boot option.

Note: This is a 16-bit real mode implementation though modern compilers do not support it. Implementaion of protected mode is expected in future updates. Boot_mode stores the value corresponding to the selected boot_option.

This was the first time I was exposed to Assembly and these concepts of Operating Systems, had fun implementing these features. Impatient to launch furthur updates.

Resources used: https://www.youtube.com/@nanobyte-dev https://www.youtube.com/@olivestemlearning https://www.tutorialspoint.com/assembly_programming/assembly_logical_instructions.htm https://docs.oracle.com/cd/E19253-01/817-5477/817-5477.pdf

About

A simple bootloader loads a small kernel and jumps to it after loading it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published