Sponsored By
Efika 5200B Project
Get FreeBSD working on EFIKA

in category Operating Systems
proposed by zxombie on 20th November 2006 (accepted on 6th December 2006)
Project Summary
I will port FreeBSD to the EFIKA. This will help make the FreeBSD PowerPC platform less Apple centric. It will also help the Embedded FreeBSD project.

I will do this by:
1. Port the FreeBSD loader to the EFIKA. This is important as the kernel expects some environments variables to be passed from the loader. This should not require too much work as the loader is a lot smaller than a kernel.
2. Working on getting a minimalistic kernel to single user mode. This will allow me to get to the point where a single executable can be run.
3. Move to Multi user mode. This should be easy as the PowerPC platform is already multi-user on FreeBSD, it would just be porting any Apple specific code to work on the EFIKA board.
4. Get all the devices working and produce a kernel config file tailored to the EFIKA.

Note: I have a previous proposal but can\'t edit it, this is to replace it.

Project Blog Entries

  Back to working on the Efika
posted by zxombie on 14th October 2007

I've been too busy recently to work on porting FreeBSD to the EFIKA. I've started working on it again and can push some patches back into FreeBSD now HEAD has opend up after RELENG_7 (the cvs branch for 7.x releases) has been branched.

I have started working on an open firmware network driver. It's sending ARP requests and reading them in correctly however I can't get it to send the NFS packet it was asked to send. When I get this working I should be able to get it to it to single user mode.
  FreeBSD EFIKA starter kit
posted by zxombie on 10th April 2007

I've made a FreeBSD Efika Starter kit. It is just a patch and two files to be placed in the FreeBSD src tree. It is available from my web site. More information is available on my blog.
  Fixed cpu exceptions
posted by zxombie on 5th April 2007

I've managed to fix enough of the cpu exceptions in FreeBSD when calling out to openfirmware. The problem is in OF_read and OF_write the address passed in must be a real address. The changes to get it done will not be put in the FreeBSD CVS tree as Peter Grehan is working on a new version the openfirmware function that should replace many of the changes I needed to make.
  Project Status
posted by zxombie on 28th March 2007

I managed to get my EFIKA to boot to the point where it will start to schedule tasks. The problem now is the tasks stacks are in the virtual address space. The EFIKA appears to expect memory addresses passed to it to be a real address. My understanding from reading the NetBSD code is they have a region of memory they use to copy data to before passing it to Openfirmware.
posted by zxombie on 22nd January 2007

I was working on getting the Efika to boot FreeBSD before Christmas. During January I have been investigating why the kernel is panicking during boot and looking at porting a patch from NetBSD regarding how OpenFirmware is called.

The NetBSD patch is going to be difficult as the NetBSD code is in assembly where the FreeBSD code is in C. There is also a problem where values passed from FreeBSD to OpenFirmware can be virtual addresses where the Efika's firmware runs in real mode.
Genesi Network: Genesi - Main Site Power2People PowerDeveloper