I'm still not having a great deal getting Fiasco + hello running. I
opted for the slash and burn technique and reinstalled RedHat 6.2,
downloaded fresh from the cvs server (10 July 2000) and tried to build
from there.
The only snag that I hit that I was not sure about was when compiling
oskit10, the file oskit10/freebsd/src/lib/libc/i386/gen/alloca.S did
not want to compile. There was, however, a comment in oskit mailing
list suggesting that a fix ("jmp %edx " changes to "jmp *%edx"). I've
appended a script at the end of this mail that make the other small
changes that I needed to build.
Now that it is built, it crashes at boot time:
RMGR: loading (hd1,1)/fiasco/sigma0
RMGR: detected new-style DD-L4
RMGR: starting (hd1,1)/fiasco/main -nokdb proto=0x10128c
Welcome to Fiasco!
DD-L4/x86 microkernel (c) 1998 TU Dresden - Jul 13 2000
KDB: init
L4KD -BP----------------------------------------------EIP: f00011c9
(hang)
Any further suggestions?
james
--
Dr. James Riordan email: rij(a)zurich.ibm.com
IBM Forschungslaboratorium notes: James Riordan/Zurich/IBM
Säumerstrasse 4 Tel +41 (0) 1 724 89 81
CH-8803 Rüschlikon, Switzerland Fax +41 (0) 1 724 89 53
O /
----------- X Cut Here -----------------------------------------------
O \
#!/bin/bash -nolineediting
#
# This is a build script for the Fiasco distribution on a generic RedHat 6.2 platform
# James Riordan (rij(a)zurich.ibm.com)
#
# easier to see in color but "alias comment=echo" will also work
#function comment () {echo "[01;34m"$*" [0m"}
alias comment=echo
function backup ()
{
if [ ! -f $1.orig ]; then cp $1{,.orig}; fi
}
BUILD_ROOT=$PWD
export L4_DIR=${BUILD_ROOT}/l4
if [ -d grub -a -d l4 -a -d oskit -a -d oskit10 ]; then
comment all directories found
else
comment you seem to be in the wrong directory
exit -1
fi
comment making oskit
cd oskit
./configure
comment edit oskit/flux/config.h to get rid of HAVE_CODE16
if [ ! -f flux/config.h.orig ]; then cp flux/config.h flux/config.h.orig; fi
cat << EOF | ed flux/config.h
1
/CODE16
d
w
q
EOF
make # making oskit
comment making oskit10
cd $BUILD_ROOT/oskit10
./configure
comment edit oskit/config.h to get rid of HAVE_CODE16
backup oskit/config.h
cat << EOF | ed oskit/config.h
1
/CODE16
d
w
q
EOF
comment edit Makeconf to get rid of have_code16
backup Makeconf
cat << EOF | ed Makeconf
1
/code16
s/have_code16//
w
q
EOF
comment removing in2000 from oskit/dev/linux_scsi.h
backup oskit/dev/linux_scsi.h
cat << EOF | ed oskit/dev/linux_scsi.h
1
/in2000
d
w
q
EOF
comment changing freebsd/src/lib/libc/i386/gen/alloca.S
backup freebsd/src/lib/libc/i386/gen/alloca.S
cat << EOF | ed freebsd/src/lib/libc/i386/gen/alloca.S
1
/jmp
s/%/*%/
w
q
EOF
make
exit
comment making fiasco
cd $BUILD_ROOT/l4
comment killing pkg/names/man/Makefile as we do not have sdc
backup pkg/names/man/Makefile
echo all: > pkg/names/man/Makefile
comment killing pkg/l4util/examples/perf/Makefile
comment as we do not need it and it does not work
backup pkg/l4util/examples/perf/Makefile
echo all: > pkg/l4util/examples/perf/Makefile
comment change egcc to gcc in kernel/fiasco/src/Makefile
backup kernel/fiasco/src/Makefile
cat << EOF | ed kernel/fiasco/src/Makefile
1
/egcc
/CC
s/egcc/gcc
w
q
EOF
comment create dependency files I am not sure how they are supposed
comment to be created but this seems to work
cat > Makedeps <<EOF
ifeq (\${L4_DIR},)
L4DIR = ../../..
else
L4DIR = \${L4_DIR}
endif
ifeq (\${OSKIT_DIR},)
OSKITDIR = \$(L4DIR)/../oskit
else
OSKITDIR = \${OSKIT_DIR}
endif
include \$(L4DIR)/Makeconf
EOF
allow_null_glob_expansion=t
pushd kernel/fiasco/src/
/bin/rm .*.d
for file in *.cc *.c *.S *.cpp; do CC=gcc make -f ${L4_DIR}/Makedeps .$file.d; done
popd
make
pushd pkg/log
make
popd
make