Boot sector programming, with the use of assembly x86.
Check the directory ./basic
for some simple programs and
an introduction for boot sector programming.
Concepts include:
- BIOS services
- Memory mapped I/O
- Port I/O
- VGA
Here we get to load a program and pass control, to overcome the boot sector limits. We make use of BIOS services to read from a drive and load into memory.
Check the directory ./protected_mode
for the first steps
into using the protected mode of the x86 architecture.
We then get to load a program like in the Booting section, but now in protected mode, this will allow us to start writing code in C.
We can finally start our little 'kernel', we begin by implementing the bootloader that will load the kernel in protected mode, so that we can begin writing our kernel in C.
The main content of this project lies in ./kernel
.
List of resources on the topic: