Skip to content

About

Custom x86-64 Assembly BIOS bootloader that runs on system startup and exits to C Kernel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bootloader written in x86-64 Assembly

This project showcases a bootloader written in x86-64 assembly. It uses BIOS-level system calls and manages memory and bare-metal CPU registers to load a basic kernel written in C.

Order of operations

  1. Boot into 16-bit real mode
  2. Load the kernel at memory address 0x7e00
  3. Load into 32-bit Protected mode
  4. Switch to 64-bit Long mode and execute kernel_main() in kernel.c

Finished Result

Finished Result

Available Commands:

  • whoami
  • clear

Compilation and use

First, run the makefile to generate the floppydisk

$ make boot

Next, run the virtual machine (qemu must be installed)

$ qemu-system-x86_64 -drive format=raw,file=boot.flp

About

Custom x86-64 Assembly BIOS bootloader that runs on system startup and exits to C Kernel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages