diff options
Diffstat (limited to 'microkernel/viengoos')
-rw-r--r-- | microkernel/viengoos/building.mdwn | 106 | ||||
-rw-r--r-- | microkernel/viengoos/hardware.mdwn | 50 | ||||
-rw-r--r-- | microkernel/viengoos/serial_port.mdwn | 15 |
3 files changed, 171 insertions, 0 deletions
diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn new file mode 100644 index 00000000..3c27af83 --- /dev/null +++ b/microkernel/viengoos/building.mdwn @@ -0,0 +1,106 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +## Viengoos build + +Checkout hurd-l4: + + cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 + +There is a patch in the README file, to change to %%gs:0 in libl4/ia32/l4/bits/vregs.h in line 35. It should have been applied already in the checked out code. Do verify. + +Configure: + + autoreconf -i + mkdir test build + +Make check on test (fails to complete as on July 7, 2008): + + cd test + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests + make check + +Build the compiler: + + cd ../build + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib + +Build cross-compiler: + + make + +Build Viengoos proper: + + make + +Install the built executables: + + cd .. + mkdir install + install -s build/laden/laden install + install -s build/viengoos/viengoos install + install -s build/hieronymus/hieronymus install + +## BUILD L4 + +Get Pistachio using hg: + + hg clone http://hg.l4ka.org/l4ka-pistachio + +Build: + + cd kernel + + make BUILDDIR=/absolute/path/to/build + cd build + +Check Makeconf.local: + + make menuconfig + Kernel->Enable experimental features->Pager ExchangeRegisters + + make + +## Build sigma0 + + cd user + + autoheader + autoconf + ./configure + make + +## Test! + +Install all executables to /usr/local/hurd. Create a menu.lst + + title The GNU Hurd on L4 + root (hd0,0) + kernel /laden -D + module /x86-kernel + module /sigma0 + module /viengoos -D 3 -o serial + module /hieronymus -D 3 + +Get specific grub version: + + wget ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs + +Use the following to boot: + + qemu -serial stdio -hdb fat:/usr/local/hurd -fda grub-0.97-i386-pc.ext2fs -boot a + +At grub prompt: + + grub> root (hd0,0) + + grub> configfile /menu.lst + +It will boot to a kernel debugger prompt. diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn new file mode 100644 index 00000000..1b4ce514 --- /dev/null +++ b/microkernel/viengoos/hardware.mdwn @@ -0,0 +1,50 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +I boot over the network using PXE. + +On my build machine, I have installed a tftpserver. Specifically, I use +the one built into dnscache. In /tftpboot, I have symlinks to pistachio, +sigma0, and the root of the build tree. + +My build machine boots using PXE. It gets an IP address, contacts +my build machine and loads [grub2pxe](http://grub.enbug.org/PXEBOOT). +Note that there is no need to use pxelinux; grub2 is a valid PXE +executable. Further, grub2 uses the PXE interface for accessing the +network, so if your hardware supports PXE, then you do not need to +worry about a network driver. Here is how I build grub2 and the +grub2 image: + + cd ~/src + svn co svn://svn.savannah.gnu.org/grub/trunk/grub2 + cd grub2 + mkdir build + cd build + ../configure --prefix=$HOME/src/grub2/install && make && make install + cd ~/src/grub2/install + bin/grub-mkimage --output=core.img --prefix="(pxe)" pxe pxecmd help reboot serial multiboot pc configfile normal boot + cat lib/grub/i386-pc/pxeboot.img core.img > grub2pxe + +Here is my /tftpboot/grub.cfg, which sends output to the first +[[serial_port]]: + + # Timeout for menu + set timeout=1 + + # Set default boot entry as Entry 0 + set default=0 + + menuentry "Viengoos" { + multiboot /viengoos/laden/laden -o serial -D + module /pistachio + module /sigma0 + module /viengoos/viengoos/viengoos.stripped -D 3 -o serial + module /viengoos/hieronymus/hieronymus.stripped + } diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn new file mode 100644 index 00000000..53b988c5 --- /dev/null +++ b/microkernel/viengoos/serial_port.mdwn @@ -0,0 +1,15 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +Viengoos can be configured to send output to the serial port (in fact, +this is the only configuration that I use). To talk to the serial +port, I use ser2net, which provides a telnet interface to the serial +port. Be sure to edit /etc/ser2net.conf to use 115200 bps, which +Viengoos uses by default. |