Slightly off-topic, but linux is stil a unixoid operating system. And every hint on system startup and debugging is valuable.
Seems like running OpenOCD and Turtelizer2 JTAG dongle with NanosG20 will be necesssary. AT91SAM9G20 support should be available, I hope.
Other points are:
- Use QEMU/VirtualBox + GDB to observe startup behaviour of FreeBSD
- Remember, nobody forbids looking at certain portions of Linux/NetBSD/OpenBSD kernel sources
- OpenBSD and NetBSD are also a source of knowledge
- Take a look at Atmel startup code
- Make a table of prio 1 peripherials used by the kernel
- Prioritize other peripherials
So, in summary I will use NanosG20 hardware, U-boot for PortuxG20 and FreeBSD kernel (no idea what is implemented at the moment)