Comments: Build and Boot
Andrew Alexander <[email protected]> Tue, 26 Jan 2010 23:59:03 -0500
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
Hello,
I found the l4ka project and thought I'd take a poke at it. Here is a
general outline of my endeavors, which should produce a bootable cd image of
i4ka-amd64. These are my notes, so they are kind of messy, as its a cross
between commands and my actions
Main System:
Intel Core i7
Windows 7 64bit
Compiling Platform:
Virtualized with VirtualBox
Ubuntu-9.10-server-amd64
Test System:
Virtualized with VirtualBox
Build :
//****** Main
Install hg
install gcc
install g++
grabbed the kernel: hg clone http://hg.l4ka.org/l4ka-pistachio
//****** Kernel
went into the kernel directory
make BUILDDIR=<some nonexistance directory>
went into the new directory
make menuconfig
Hardware:
x86, 64bit, Pentium4, PC99
Use APIC+IOAPIC, 2 IO Apics, 1000 Timer Tick
Kernel:
Enable Debugging mode
Debugger:
Nothing
x to save and quit
// I didnt use SMP, I will need to go back later and mess with it my
virtualmachine has 2cpus for testing this
make
// kernel was called x86-kernel not sure if this is correct, some of the
online documentation says it should be amd64-kernel
//****** User
// user contains other useful things required to make this work
install autoconf2.59 // the default package was autoconf 2.64 but it
doesnt work
went into the user directory
autoheader
autoconf
went into the kernel directory i built the kernel in (~/k) and made a user
directory
also made a directory for userheaders and such (not sure its purpose yet)
also made a directory for userbins (useful stuff)
went into the user directory (~/k/user)
~/l4ka-pistachio/user/configure --host=amd64 --prefix=<userheaders>
--libexecdir=<userbins>
// I had to use --host=amd64 because the default was i86_64 and it didnt
like that for some reason...
make
make install
// userbins should now have files
//****** Boot Image
All the documentation on the site, some of the projects and even the grub
site talk about an older version of grub, now refered to as Grub Legacy..
This is confusing because the version isnt really indicated. Anything
mentioning grub.conf or menu.lst seems to be old.. the new config file is
grub.cfg
I used the version that came with Ubuntu - 1.97~beta4
install genisoimage
made a directory ~/k/bootimage
copied x86-kernel into bootimage
copied kickstart, pingpong, sigma0 from userbins into bootimage
made a directory ~/k/bootimage/boot
made a directory ~/k/bootimage/boot/grub
created a ~/k/bootimage/boot/grub/grub.cfg with the following text (between
the -------------------------------)
-------------------------------
set timeout=10
set default=0
menuentry "PingPong" {
multiboot /kickstart
module /x86-kernel
module /sigma0
module /pingpong
}
-------------------------------
grub-mkrescue --overlay=~/k/bootimage/ --image-type=cdrom test.iso
// test.iso should be created which can be mounted as a cdrom in VirtualBox
or burned to CD.
Thats about it.. I've included a screenshot of it booted. There are some
errors present that I need to work out, but if you get something
similar, you've gotten at least as far as me.
Also, the faq link on the site no longer works, but I found it on
archive.org it helped confirm a few things for me
http://web.archive.org/web/20080729224613/i30www.ira.uka.de/~l4hq/cgi-bin/research/pistachio-faqwiz/faqw.py?req=all
Hope this helps.
pistachio-booted.jpg
(image/jpeg, 107 KB) - not displayed