A reimplementation of the Linux 0.11 kernel in Zig.
This is a cross-compiled kernel targeting i386-freestanding:
# Check compilation
zig build check --target i386-freestanding
# Build kernel binary
zig build-exe -target i386-freestanding init/main.zig --name system# 1. Build bootsector
as --32 -o build/bootsect.o boot/bootsect.s
ld -m elf_i386 -Ttext 0 -s --oformat binary -o build/bootsect.bin build/bootsect.o
# 2. Build setup
as --32 -o build/setup.o boot/setup.s
ld -m elf_i386 -Ttext 0 -s --oformat binary -o build/setup.bin build/setup.o
# 3. Build kernel
zig build-exe -target x86-freestanding -femit-bin=build/system.bin init/main.zig
# 4. Create floppy image
dd if=/dev/zero of=build/image.img bs=512 count=2880
dd if=build/bootsect.bin of=build/image.img conv=notrunc
dd if=build/setup.bin of=build/image.img bs=512 seek=1 conv=notrunc
dd if=build/system.bin of=build/image.img bs=512 seek=7 conv=notruncGNU General Public License v2.0. This is a derived work of the original Linux 0.11 kernel by Linus Torvalds, which is also GPLv2.