Karlsruhe Operating System
Find a file
2026-06-17 22:25:17 +02:00
include (TEMP) some more insns, cleanup; idea for app using jit 2026-06-17 22:12:23 +02:00
res cleaned-up karlos svg 2026-05-08 17:03:09 +02:00
src repaired tests 2026-06-17 22:25:17 +02:00
tests repaired tests 2026-06-17 22:25:17 +02:00
.gdbinit gdbinit script 2025-02-21 16:08:03 +01:00
.gitignore virtio stuff, discovery of virtio devices over PCI 2026-05-22 22:13:20 +02:00
bochsrc SATA sector read progress 2025-12-20 17:08:59 +01:00
bootparam.cfg bootparams for panic on mem exhaustion 2026-05-21 17:49:38 +02:00
config.default.mk Disabling intrs + NMIs during CMOS access 2025-05-14 20:09:52 +02:00
debug-run-qemu.sh virtio stuff, discovery of virtio devices over PCI 2026-05-22 22:13:20 +02:00
kernel.json Renamed bootboot.cfg to bootparam.cfg 2026-02-25 22:46:44 +01:00
kernel.ld Preprocessor+Linker Voodoo for boot param decl 2026-02-25 22:27:44 +01:00
Makefile (TEMP) some more insns, cleanup; idea for app using jit 2026-06-17 22:12:23 +02:00
Readme.md Update Readme.md 2025-02-13 10:34:30 +01:00
run-qemu.sh virtio stuff, discovery of virtio devices over PCI 2026-05-22 22:13:20 +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)