[Prev][Next][Index][Thread]

Re: OSKit hosted on freebsd questions...problems..



Hi Jim. So, where is OIT? Anyway, the oskit requires an a.out linker to
create BSD a.out images (from ELF binaries) that the BSD boot loader can
load. We do this by compiling a binutils that can deal with both a.out and
elf formats. Something like:

        /build/src/binutils-2.9.1/configure --prefix=/build/tools
                --target=i386-mach \
                --enable-targets=i386-mach,i386-unknown-freebsdelf3.0


Then setenv AOUT_LD to:

        /build/tools/bin/i386-mach-ld -m i386mach

Then reconfigure and build your oskit, which will now include a bsd boot
adaptor directory, built with ELF tools of course. Then you can take an ELF
oskit kernel (from the same build tree) and run it through mkbsdimage,
which references a new linker script. This linker script does the usual
munging of sections and such, so that the output image actually works.

Also, take a look at boot/netboot, and the documentation for it. This
allows you to load multiboot images over the network (no need to mkbsdimage
them), which is a time savings since you can build on one machine and boot
kernels on another machine that just sits around running netboot. Netboot
must be created with mkbsdimage of course, but you only have to build it
and stick it on your root partition once. Look in the README file under
Netboot for more info.

Hmm, if you want to go the netboot route, and avoid the linker mess, take a
look at http://www.cs.utah.edu/flux/oskit/boot-floppy.html. I think this
page still works, and while its based on an older oskit kernel, that
shouldn't matter just for boot kernels.

Lbs

----------------------------------------
Leigh B. Stoller
University of Utah - Flux Research Group
http://www.cs.utah.edu/~stoller
----------------------------------------

References: