-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathREADME.L4
66 lines (55 loc) · 2.17 KB
/
README.L4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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.)