Karlsruhe Operating System
| include | ||
| src | ||
| .gitignore | ||
| bootboot.cfg | ||
| config.default.mk | ||
| font.psf | ||
| kernel.json | ||
| kernel.ld | ||
| Makefile | ||
| Readme.md | ||
| run-qemu.sh | ||
KarlOS
KarlOS is a student effort in Karlsruhe to create a hobbyist Operating System from scratch. The current goal of the project is to develop a simple monolithic kernel for 64-bit Intel / AMD PCs, which could serve as a platform for experimentation in the future.
Build Dependencies
You will need:
- A x86_64 cross-compiler GNU toolchain
- GNU make (the current Makefile is unfortunately not compatible with BSD make)
- mkbootimg (part of [^BOOTBOOT])
- qemu-system-x86_64 to run the kernel in an emulator
Building
make all builds the entire kernel and creates a bootable disk image in build/disk.img.
Building for the first time copies the file config.default.mk to config.mk.
The latter can be used to configure the build and to adapt it to the host machine.
config.mk is not checked into the git repository.
References
[^BOOTBOOT] [https://gitlab.com/bztsrc/bootboot](The BOOTBOOT boot protocol and reference implementation)