MIPS port

Boards

Download

svn co svn://svn.freebsd.org/base/projects/mips

View project history: http://svn.freebsd.org/viewvc/base/projects/mips/

Build

Use something like this script:

setenv SRCROOT /home/gonzo/FreeBSD/svn/mips
setenv TARGET mips
setenv TARGET_ARCH mips
setenv TARGET_CPUTYPE mips32
setenv KERNCONF MALTA
setenv MAKEOBJDIRPREFIX /home/gonzo/FreeBSD/obj/mips
set NFSROOT=/home/gonzo/FreeBSD/nfsroot
set TFTPBOOT=/tftpboot


set MAKEFLAGS=(-DWITHOUT_CDDL           \
                -DWITHOUT_GAMES         \
                -DWITHOUT_DOCS          \
                -DWITHOUT_KERBEROS      \
                -DWITHOUT_ACPI          \
                -DWITHOUT_KERBEROS      \
                -DWITHOUT_RESCUE        \
                -DWITHOUT_MAN           \
                -DWITHOUT_PROFILE       \
                -DWITHOUT_BSNMP         \
                -DWITHOUT_NIS           \
                -DWITHOUT_IPX           \
                -DWITHOUT_ATM)

cd ${SRCROOT}
make ${MAKEFLAGS} kernel-toolchain
make ${MAKEFLAGS} buildkernel
make ${MAKEFLAGS} DESTDIR=${TFTPBOOT} installkernel
make ${MAKEFLAGS} buildworld

sudo -E make DESTDIR=${NFSROOT} ${MAKEFLAGS} installworld
sudo -E make DESTDIR=${NFSROOT} ${MAKEFLAGS} distribution

Boot

There is no ready-for-use firmware yet so you'll need either netboot your board and mount root over NFS. Or build disk image for emulator (like gxemul)

Netboot

TBD:

subnet 192.168.10.1 netmask 255.255.255.0 {
        deny unknown-clients;
        option routers 192.168.10.1;
        next-server 192.168.10.196;
        filename "kernel";
        option root-path "10.0.1.196:/src/nfsroot";
}

host mips {
        hardware ethernet 00:15:6d:c1:28:2e;
        fixed-address 192.168.;
}

GXEmul

makefs mips.img $DESTDIR

gxemul -e malta -d i:/path/to/mips.img -C 4Kc -d /path/to/kernel

Related articles

Cavium Simulator -- How to run the Cavium Network Simulator on FreeBSD with a FreeBSD kernel

FreeBSD/mips (last edited 2009-06-29 19:42:04 by OleksandrTymoshenko)