* 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 }}}