Skip to content

Commit

Permalink
Up-to-date build document
Browse files Browse the repository at this point in the history
Peter Cannici authored and latentPrion committed Oct 19, 2016
1 parent bf76856 commit 58c23ee
Showing 3 changed files with 125 additions and 75 deletions.
75 changes: 0 additions & 75 deletions docs/build.htm

This file was deleted.

64 changes: 64 additions & 0 deletions docs/build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
- [Prerequisites](#orgheadline1)
- [Get the Source](#orgheadline2)
- [Ready!](#orgheadline5)
- [ZUDI](#orgheadline3)
- [Zambesii](#orgheadline4)
- [Boot](#orgheadline6)


# Prerequisites<a id="orgheadline1"></a>

- Git
- A GCC cross-compiler configured for i586-elf target
- 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.

# Get the Source<a id="orgheadline2"></a>

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

# Ready!<a id="orgheadline5"></a>

## ZUDI<a id="orgheadline3"></a>

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.

## Zambesii<a id="orgheadline4"></a>

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!

# Boot<a id="orgheadline6"></a>

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
61 changes: 61 additions & 0 deletions docs/build.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#+TITLE: Building Zambesii

*Note: if you don't have a cross-compiler targeting i586-elf, see
cross-compile.md in this repo to get set up.*

* Prerequisites
- Git
- A GCC cross-compiler configured for i586-elf target
- 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.

* Get the Source
There are two parts to the Zambesii source: Zambesii and ZUDI. Clone their
repositiories:

#+BEGIN_EXAMPLE
git clone https://github.com/latentPrion/zambesii
git clone https://github.com/latentPrion/zudi
#+END_EXAMPLE

* Ready!
** 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.

#+BEGIN_EXAMPLE
cd ~/zudi # Or whever you cloned ZUDI to
make
sudo make install
#+END_EXAMPLE

That's all there is to it.

** Zambesii
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!

* Boot
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

0 comments on commit 58c23ee

Please sign in to comment.