This guide will help you set up and build CubeCactusOS based on MINIX3.
Build essentials:
# macOS xcode-select --install brew install gcc make # Ubuntu/Debian sudo apt-get install build-essential
Cross-compiler (for x86 target):
# macOS brew install i386-elf-gcc # Ubuntu/Debian sudo apt-get install gcc-multilib g++-multilib
QEMU (for testing):
# macOS brew install qemu # Ubuntu/Debian sudo apt-get install qemu-system-x86
GRUB (for bootable images):
# macOS brew install grub xorriso # Ubuntu/Debian sudo apt-get install grub-pc-bin xorriso
The current CubeCactusOS provides a framework. To build a complete bootable OS:
cd /Users/agalyaramadoss/repo/CubeCactusCpp git clone https://github.com/Stichting-MINIX-Research-Foundation/minix.git minix3-source cd minix3-source
# Follow MINIX3 build instructions ./build.sh
Copy your custom kernel and drivers to the MINIX3 source tree:
cp -r ../os/kernel/* minix/kernel/ cp -r ../os/servers/* minix/servers/ cp -r ../os/drivers/* minix/drivers/
./build.sh cd releasetools ./mkimage.sh
For rapid development and testing of individual components:
# Build kernel components only make -f Makefile.os os-build # This compiles but doesn't create a bootable image # Useful for syntax checking and development
Once you have a bootable ISO:
qemu-system-i386 \ -cdrom minix3-source/minix_x86.iso \ -m 512M \ -enable-kvm
os/kernel/, os/servers/, or os/drivers/make -f Makefile.os os-buildbrew install i386-elf-gccsudo apt-get install gcc-multilibbrew install grub xorriso-m 1024MFor detailed architecture information, see os/README.md