Karlsruhe Operating System
Find a file
2026-04-22 22:57:23 +02:00
include SATA: Choose first available command slot 2026-04-22 22:57:23 +02:00
src SATA: Choose first available command slot 2026-04-22 22:57:23 +02:00
.gdbinit gdbinit script 2025-02-21 16:08:03 +01:00
.gitignore Merged sata branch into significantly newer kernel 2025-10-09 18:01:58 +02:00
bochsrc SATA sector read progress 2025-12-20 17:08:59 +01:00
bootboot.cfg SATA sector read progress 2025-12-20 17:08:59 +01:00
config.default.mk Disabling intrs + NMIs during CMOS access 2025-05-14 20:09:52 +02:00
debug-run-qemu.sh Finally got output from ATA IDENTIFY 2025-10-20 02:14:04 +02:00
font.sff added box drawing characters 2025-07-31 01:28:56 +02:00
kernel.json Build proper EFI partition 2025-03-08 18:51:57 +01:00
kernel.ld Building a disk image 2025-01-15 20:19:22 +01:00
Makefile Moved sata sources out of x86_64/ directory 2026-04-22 20:01:11 +02:00
Readme.md Update Readme.md 2025-02-13 10:34:30 +01:00
run-qemu.sh Finally got output from ATA IDENTIFY 2025-10-20 02:14:04 +02:00

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

Installing Dependencies, Building, and Running

See our wiki page.

References

[^BOOTBOOT] [https://gitlab.com/bztsrc/bootboot](The BOOTBOOT boot protocol and reference implementation)