- kFreeBSD headers:
Patched version in http://people.debian.org/~rmh/kfreebsd-mipsel/kfreebsd-mipsel-headers.tar.gz (patch is included in kfreebsd-kernel-headers package too, but needs update)
- binutils:
Use latest CVS, or otherwise 2.20.1 with patch from http://people.debian.org/~rmh/kfreebsd-mipsel/binutils-2.20.1.diff
- GCC:
Patch for GCC 4.4 in http://people.debian.org/~rmh/kfreebsd-mipsel/gcc-4.4.4.diff Upstream won't merge it yet because of timing in their release cycle (we need to wait untill GCC 4.6 is branched). Build with --disable-tls as TLS is not supported yet.
- GDB:
Apply patch from http://sourceware.org/ml/gdb-patches/2011-01/msg00178.html on top of latest CVS.
- Debian EGLIBC
Get latest Debian package of eGlibc (including Debian patchset!!). Resync with latest kfreebsd port SVN (http://svn.debian.org/viewsvn/glibc-bsd/trunk/glibc-ports/) and apply patches/mips_mktime.patch as well. Build with --without-__thread as TLS is not supported yet. CFLAGS="-march=mips64 -O2 -g" is recommended. Dynamic linker doesn't work yet, use -static when building programs.
- init: to build a minimal system, cross-compile bash and then you can use the following shell script as init:
\#!/bin/sh exec < /dev/console > /dev/console 2> /dev/console export PATH=/usr/sbin:/usr/bin:/sbin:/bin export HOME=/root export PS1="\h:\w# " export CFLAGS="-static -g -march=mips64" mount -o rw / cd $HOME while : ; do /bin/sh done
- kFreeBSD (kernel of FreeBSD):
Image for MALTA available from kfreebsd-image-*-malta package (e.g. http://packages.debian.org/kfreebsd-image-8.2-1-malta). Tested on gxemul (see below).
- Build disk image:
/usr/sbin/makefs /tmp/mips.img directory
- Run with gxemul:
gxemul -e malta -C 4Kc kfreebsd-*-malta -x -M 256 -d i:/tmp/mips.img
- Run with qemu (note: this doesn't work yet):
qemu-system-mipsel -M malta -kernel kfreebsd-*-malta -serial /dev/tty