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