Pi hw2 uboot

Through some experimentation I was able to get Xinu to boot on the Raspberry Pi, with no changes to Xinu at all.

I initially started with the uBoot binary you referenced from FreeBSD, however I had no luck. I complied and got working the RPi U-boot found here: https://github.com/gonzoua/u-boot-pi

To do this I add three files to the existing boot FS:

u-boot.bin - This is the U-boot binary compiled from sources above
boot.scr - This is a compiled U-Boot script. To compile this you use the U-Boot utility mkimage: mkimage -A arm -O linux -T script -C none -d boot-tftp.cmd  boot.scr

uEnv.txt - this sets the environment variables for U-Boot, for tftp only two variables are needed serverip (the tftp server) and ipaddr (the RPi's address)

You can change what image the GPU loads in config.txt by adding a property 'kernel'. This allows easy switching between running U-Boot (u-boot.bin) and running Xinu (kernel.img).

Once these files are in place U-Boot will launch. By default it gives you 3s to press any-key to override the boot.scr, in-case you want to change the boot commands, otherwise it will tftp the kernel and execute it. 

This is all documented in README.uboot