Skip to content

PhilippReinke/bootloader-notes

Repository files navigation

Bootloader Notes

My original intention was to write a unikernel for Golang. However, learning about bootloaders, CPU architecture and operating systems turns out to be a rather time-consuming endeavour. While I was reading articles and tutorials the code present in this repository helped me understand how things work.

The first example is based on Writing a Simple Operating System - from Scratch.

The second example uses grub to create a bootable iso. Make sure you install grub-mkrescue.

The third example uses no existing bootloader and is based on How to write your own Operating System. Interrupts are handled that allow to process keyboard inputs and timer ticks.

The fourth example uses the bootloader protocol bootboot that is much more accessible than grub. I haven't explored all details but so far it's my favourite way to create bootable images for x86-64 (BIOS and UEFI) and ARM Raspberry Pis.

Usage

# Open folder and run
make

Interesting resources

OS in your browser via WASM

Go specific

Intel Developer Manuals with all the x86 details

Other

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published