Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign up
Cannot retrieve the latest commit at this time.
| Failed to load latest commit information. | |||
|
|
bin | ||
|
|
distrib |
|
|
|
|
etc | ||
|
|
games |
|
|
|
|
gnu |
|
|
|
|
include |
|
|
|
|
kerberosV | ||
|
|
lib | ||
|
|
libexec | ||
|
|
regress |
|
|
|
|
sbin |
|
|
|
|
share |
|
|
|
|
sys | ||
|
|
usr.bin | ||
|
|
usr.sbin | ||
|
|
.gitignore | ||
|
|
Makefile | ||
|
|
Makefile.cross | ||
|
|
README.L4 |
|
|
README.L4
OpenBSD port to the Fiasco-UX/L4 microkernel
============================================
Build kernel:
- setup a Linux machine
- unpack l4re-snapshot, compile fiasco and L4
( e.g. in /home/l4/ )
- unpack this source tree into that base path
( e.g. in /home/l4/openbsd/src )
- export the /home/l4 path via NFS
- setup an OpenBSD machine with a version corresponding to these sources!
- find current version with
# grep "^osr" /home/l4/openbsd/src/sys/conf/newvers.sh
- import the /home/l4 path via NFS (needs to be the same path on both machines)
- adjust the kernel configuration to point to your L4 build directory
- edit /home/l4/openbsd/src/sys/arch/i386/conf/L4 and change the
makeoption L4_BUILDDIR
- build the kernel on OpenBSD
# cd /home/l4/openbsd/
# mkdir -p obj/sys
# cd obj/sys
# ln -s /home/l4/openbsd/src/sys/arch/i386/conf/L4 .
# config -b . -s /home/l4/openbsd/src/sys/ L4
# make clean depend
# make
[ lots of output => generates file: bsd ]
- copy final "bsd" to l4loader directory on Linux machine
- in l4loader directory on the Linux host:
- edit Makefile and set L4_BUILDDIR as for the OpenBSD kernel configuration
above
# make
[ less output => generates: l4bsd ]
Build ramdisk:
- on your OpenBSD machine, build the complete userland
# mkdir -d /usr/obj
# rm -rf /usr/obj/*
# set BSDSRCDIR=/home/l4/openbsd/src/
# set BSDOBJDIR=/home/l4/openbsd/obj/
# cd $BSDSRCDIR
# echo "BSDSRCDIR=$BSDSRCDIR" >> /etc/mk.conf
# echo "BSDOBJDIR=$BSDOBJDIR" >> /etc/mk.conf
# make obj
# cd $BSDSRCDIR/distrib/special
# make
# cd $BSDSRCDIR/distrib/`uname -m`/ramdisk_cd/
# make mr.fs
- copy the resulting obj/mr.fs file to your Linux machine
Run:
- treat "l4bsd" as if it was vmlinu[xz] from L4Linux
- treat "mr.fs" as if it was the initrd from L4Linux
(load as command line parameter lx_rd=rom/mr.fs)
General hints:
If you need debugging symbols in your userland binaries, add DEBUG and/or
DEBUGLIBS to /etc/mk.conf. See mk.conf(5) for details.
To add support for debugging symbols in your kernel, add the DEBUG kernel
config(8) option. (NOTE: This is known to be broken at the moment.)