Table of contents generated with markdown-toc
The bios loads the first sector of the bottable device and look for the magic number (0xAA55, chosen number to represent a bootable signature). If the number is found, the bios jumps to the first instructions in the sector.
Make is used to automate the build process. It is used to compile the kernel, and to build the bootloader.
Compiles assembly code into machine code.
A collection of utilities for manipulating MS-DOS filesystems.
sudo pacman -S make nasm qemu mtools
β οΈ On manjaro, there is a bug in mcopy (part of mtools). It is recommended to build an older version yourself (mtools-4.0.31.tar.gz). from https://ftp.gnu.org/gnu/mtools/
sudo apt-get install make nasm qemu mtools
sudo dnf install make nasm qemu mtools
To build the cross compiler, you can use a script inside the scripts folder. The credit for the script goes to mell-o-tron. If no script are available for your distro, you can refer to this table from the osdev wiki and install the dependencies yourself.
.
βββ Docs
β βββ assets
β β βββ drive.png
β βββ build.md
β βββ Links.md
β βββ schematics.drawio
β βββ TODO.md
βββ LICENSE
βββ Makefile
βββ README.md
βββ scripts
β βββ setup-gcc-arch.sh
β βββ setup-gcc-ubuntu.sh
βββ src
βββ bootloader
β βββ bootsector.asm
β βββ Makefile
βββ kernel
βββ drivers
β βββ disk
β β βββ ata
β β β βββ ata.c
β β β βββ ata.h
β β βββ fat32
β β βββ fat32.c
β β βββ fat32.h
β βββ keyboard
β β βββ ch-fr_keymap.h
β β βββ keyboard.c
β β βββ keyboard.h
β βββ ports
β β βββ ports.c
β β βββ ports.h
β βββ screen
β βββ color
β β βββ color.c
β β βββ color.h
β βββ cursor
β β βββ cursor.c
β β βββ cursor.h
β βββ print
β βββ print.c
β βββ print.h
βββ interrupts
β βββ interrupts.c
β βββ interrupts.h
βββ kernel.c
βββ kernel_entry.asm
βββ Makefile
βββ stdlibs
βββ stdlib.c
βββ stdlib.h
βββ string.c
βββ string.h