-
Notifications
You must be signed in to change notification settings - Fork 3
Building Zambesii
Note: This document corresponds to docs/build.md in the repo, and may or may not be up-to-date with it.
- Git
- A GCC cross-compiler configured for i586-elf target – See Building a Cross Compiler for instructions
- cdrtools or cdrkit
For the BSDs and other *nixen you'll also need GNU Make and Bash.
Set your PATH to include where you built the cross-compiler:
export PATH="~/toolchain/bin:$PATH"
That's all! Zambesii has no other dependencies and is very easy to build.
There are two parts to the Zambesii source: Zambesii and ZUDI. Clone their repositiories:
git clone https://github.com/latentPrion/zambesii
git clone https://github.com/latentPrion/zudi
ZUDI is a small set of utilities that Zambesii uses to build.
Note: substitute gmake
in place of make
if you're on the BSDs or another system with a default non-GNU Make.
cd ~/zudi # Or whever you cloned ZUDI to
make
sudo make install
That's all there is to it.
Now that you have all the dependencies installed, building Zambesii is a snap. No mucking around with dependencies or autotools necessary.
Start with ./configure
and answer ‘gnu’ to the toolchain questions. For the architecture questions, just enter the only option it gives (since Zambesii is x86-only currently). When you get to the toolchain target question, enter i586-elf.
Then simply
make
And you're done!
After the ISO is made, you can test that it boots with
qemu-system-i386 -boot d -cdrom zambesii.iso -m 256M
NUMA support can be tested with QEMU as well:
qemu-system-i386 -boot d -cdrom zambesii.iso -m 1G -smp 8 -numa node,mem=512M,cpus=0-3 -numa node,mem=256M,cpus=4-5 -numa node,mem=256M,cpus=6-7