The GNU Hurd ============ This is not the GNU Hurd. But it might become it some day. How to build ------------ You need at least automake 1.9 and autoconf 2.57. To build the documentation, you also need pdflatex and some supporting packages. On Ubuntu Hardy (probably pretty much the same for Debian and other Ubuntu systems), you'll need these packages installed for the documentation build to succeed: * texlive-fonts-recommended * texlive-latex-base * texlive-latex-extra * texlive-latex-recommended * texlive-science Building the code is straightforward: $ autoreconf -i $ mkdir test build $ cd test/ $ ../configure --host=x86_64-pc-viengoos-gnu --enable-tests $ make check $ cd ../build/ $ ../configure --host=x86_64-pc-viengoos-gnu --with-newlib $ make [to build the cross compiler] $ make [to build Viengoos proper] $ mkdir /install-directory/boot $ install -s viengoos/viengoos /install-directory/boot $ install -s hieronymus/hieronymus /install-directory/boot When configuring, you can use --enable-runtime-checks=N, 0 <= N <= 3, to control which run-checks are executed. Level 3 includes very expensive consistency checks; level 0 disables all consistency checks, the trace buffer and all debugging output except that at level 0. If you happen to be on a multi-processor system, you can run ``make -j'' to have several target be built in parallel. This may save some time. It might even shorten the building time on one-processor system. (No specific measurements exist currently.) Documentation ------------- A ``Viengoos Developer Reference'' is available in the `doc' subdirectory. A PDF will be created during the build process if pdflatex is found. Also, the header files are a good source of documentation. Booting ------- GRUB 2 can boot Viengoos. Set up GRUB 2 to boot viengoos as a multiboot kernel and hieronymus as a module (in that order). Here is an example stanza for a grub.cfg file: menuentry "Viengoos Fast" { multiboot /install-directory/boot/viengoos -D 3 -o serial module /install-directory/boot/hieronymus } Output will be on the first serial port (115.2kbps, 8N1). Using the Cross-Compiler ------------------------ Does the package you want to cross-compile use the GNU build system (`configure' script)? If not, then... If yes, then proceed as follows. Do something like ``PATH=$PATH:/where/the/viengoos/build/is/bin'' to make sure that `x86_64-pc-viengoos-gnu-gcc' can be found via `$PATH'. As the master GNU system-guessing scripts don't know about Viengoos (yet), you have to link the package's `config.guess' and `config.sub' to the Viengoos ones. That's what `fix_config_guess_and_sub' (see `Makefoo.am') does, used in `newlib/Makefile.am', for example. After that, configuring the to-be-built package with ``--host=x86_64-pc-viengoos-gnu'' is all that *should* be needed, for a portable package. Otherwise you'll see things explode.