The OS build requires a cross-compiler toolchain. You have three options:
./os/install-toolchain.sh
This installs:
./build-docker.sh
Builds everything in a container with all tools pre-installed.
macOS:
brew tap nativeos/i386-elf-toolchain brew install i386-elf-binutils i386-elf-gcc brew install qemu xorriso brew install grub --HEAD
Linux:
sudo apt-get install build-essential gcc-multilib g++-multilib sudo apt-get install qemu-system-x86 grub-pc-bin xorriso
Once toolchain is installed:
# Build kernel and create bootable ISO make -f Makefile.os os-image # Run in QEMU emulator make -f Makefile.os os-run
make -f Makefile.os os-build - Compile kernel onlymake -f Makefile.os os-image - Build + create ISO filemake -f Makefile.os os-run - Build + create ISO + run in QEMUmake -f Makefile.os os-clean - Clean build artifactsos/build/cubecactusos.binos/build/cubecactusos.iso# Run in QEMU qemu-system-i386 -cdrom os/build/cubecactusos.iso -m 512M # Or use the Makefile target make -f Makefile.os os-run
Run ./os/install-toolchain.sh or use Docker build
brew install grub --HEAD xorriso
brew install qemu
The build system creates:
This is a development/educational OS based on MINIX3 architecture.