Porting FreeBSD to the Neo1973 (arm920t)

Rafal Jaworowski raj at semihalf.com
Tue Sep 18 09:55:50 PDT 2007


M. Warner Losh wrote:
> : 
> : Any idea what to do next? How to get the uart working? And how to tell
> : the kernel to use it as console?
> 
> It might also make sense to create a mkimage port.  I have another
> AT91RM9200 board with uboot I'd like to be able to boot from...
> 

If you mean mkimage from U-Boot, it doesn't require to be "ported" as it 
already supports branding images as FreeBSD right now. The problem is 
that stock U-Boot would not recognize them during usual boot command. 
There are modifications to U-Boot required to run FreeBSD kernel directly.

For FreeBSD/powerpc running with U-Boot we have loader(8) running as a 
second stage bootloader on top of it (as a standalone app), which loads 
and runs the kernel, providing it with full metadata etc. This however 
needs changes to U-Boot itself, and they were not merged with its 
mainline yet, but I can provide patches if you're intersted. For the 
loader(8) piece you can have a look at some preliminary approach in the 
e500 branch in P4 for reference: in particular it has a common library 
that is intended to be used also on ARM, MIPS etc., only the lowest 
level gluing needs equivalent asm routines.

For early development however there's a quick path that one can always 
exercise to boot the kernel (or anything else):

1. on the host:
- build FreeBSD kernel
- objcopy it to kernel.bin

2. at U-Boot
- tftp <location> /tftpboot/kernel.bin
- go <entry point>

Rafal


More information about the freebsd-embedded mailing list