Your CubeCactusOS has been successfully built and a bootable ISO image has been created!
os/build/cubecactusos.bin (9.6 KB)os/build/cubecactusos.iso (7.8 MB)✅ Boot loader (Multiboot-compliant, NASM assembly) ✅ Kernel library (klib.c) - printf, memcpy, memset, I/O ports ✅ Kernel main (main.c) - initialization and scheduler ✅ Process Manager server (pm.c) ✅ Virtual File System server (vfs.c) ✅ TTY driver (tty.c) ✅ GRUB bootloader configuration
make -f Makefile.os os-run
qemu-system-i386 -cdrom os/build/cubecactusos.iso -m 512M
qemu-system-i386 -cdrom os/build/cubecactusos.iso -m 512M -serial stdio
qemu-system-i386 -cdrom os/build/cubecactusos.iso -m 1024M -serial stdio -vga std
# Build kernel only make -f Makefile.os os-build # Create ISO image make -f Makefile.os os-image # Build and run make -f Makefile.os os-run # Clean build artifacts make -f Makefile.os os-clean # Show help make -f Makefile.os help
CubeCactusOS follows the MINIX3 microkernel architecture:
CubeCactusCpp/ ├── os/ │ ├── boot/ │ │ ├── boot.S # Multiboot bootloader │ │ ├── linker.ld # Linker script │ │ └── grub.cfg # GRUB configuration │ ├── kernel/ │ │ ├── main.c # Kernel entry point │ │ └── kernel.h # Kernel definitions │ ├── lib/ │ │ └── klib.c # Kernel library (printf, etc.) │ ├── servers/ │ │ ├── pm.c # Process Manager │ │ └── vfs.c # Virtual File System │ ├── drivers/ │ │ └── tty.c # Terminal driver │ └── build/ │ ├── cubecactusos.bin # Kernel binary │ └── cubecactusos.iso # Bootable ISO ✅ ├── Makefile.os # OS build system └── README.md # Documentation
-m 1024Mos/boot/grub.cfgmake -f Makefile.os os-clean make -f Makefile.os os-image
# Write ISO to USB (⚠️ CAUTION: Will erase USB drive) sudo dd if=os/build/cubecactusos.iso of=/dev/sdX bs=4M
make -f Makefile.os os-runos/kernel/main.cCongratulations! You've built a working operating system! 🎊