BSDCan2008 - Final - we hope

BSDCan 2008
The Technical BSD Conference

Warner Losh
Day Talks - 1 (2008-05-16)
Room G
Start time 11:30
Duration 01:00
ID 86
Event type lecture
Track Embedded
Language en


Embedding FreeBSD

FreeBSD now runs on the MIPS platform. FreeBSD/mips supports MIPS-32 and MIPS-64 targets, including SMP for multicore support.

FreeBSD/mips is targeted at the embedded MIPS marketplace. FreeBSD has run on the MIPS platform for many years. Juniper ported FreeBSD to the Mips platform in the late 1990's. However, concern about intellectual property issues kept Juniper from contributing the port back to FreeBSD until recently. The contributed port was a 64-bit mips port.

In the mean time, many efforts were made to bring FreeBSD to the mips platform. The first substantial effort to bring FreeBSD to the Mips platform was done by Juli Mallet. This effort made it to single user, but never further than that. This effort was abandoned due to a change in Juli's life. The port languished.

Two years ago at BSDcan, as my involvement with FreeBSD/arm was growing, I tried to rally the troops into doing a FreeBSD/mips port. My efforts resulted in what has been commonly called the "mips2" effort. The name comes from the choice of //depot/projects/mips2 to host the work in perforce. A number of people worked on the earliest versions of the port, but it too languished and seemed destined to suffer the same fate as earlier efforts. Then, two individuals stood up and started working on the port. Wojciech A. Koszek and Oleksandr Tymoshenko pulled in code from the prior efforts. Through their efforts of stabilizing this code, the port to the single user stage and ported it to three different platforms. Others ported it to a few more. Snapshots of this work were released from time to time.

Cavium Networks picked up one of these snapshots and ported it to their multicore mips64 network processor. Cavium has kindly donated much of their work to the comminuty.

In December, I started at Cisco systems. My first job was to merge all the divergent variants of FreeBSD/mips and get it into shape to push into the tree. With luck, this should be in the tree before I give my talk.

In parallel to this, other advances in the embedded support for FreeBSD have been happening as well. I'll talk about new device drivers, new subsystems, and new build tools that help to support the embedded developer.