Showing changes from revision #0 to #1:
Added | Removed | Changed
There are two ways to run RISC OS on a beagleboard – the easy way and the hard way. If you get stuck, it may be worth reading over the official Beagleboard rev B/C validation/x-loader & u-boot upgrade instructions
The easy way involves placing the ROM image on a FAT-formatted SD card along with a u-boot boot script.
When you want to update the RISC OS ROM image, all you need to do is replace the ROM file on the card.
If you don’t have a suitable version of u-boot in NAND, you can update to a new one using the following steps. Note that these steps are suitable for both revision B & C boards.
There are actually three hard ways – manual booting, booting as a uImage, and booting without u-boot.
mmcinit;fatload mmc 0:1 0x80000000 riscos;go 0x80000000
A uImage is an operating system kernel with a u-boot header attached, containing information such as the load & execution address of the image, the operating system name and version contained within, etc. To boot RISC OS as a uImage, follow the following steps:
mkimage -A arm -O linux -T kernel -C none -a 0x81000000 -e 0x81000040 -n "RISC OS" -d riscos uImage.bin
When you want to upgrade your RISC OS ROM, you’ll obviously have to go through the mkimage step again. Technically this uImage could also be written to NAND and booted from there, but you’ll have to be careful with the NAND boot commands since the default only loads 4MB of data and the uImage will be slightly larger than that.
Currently the only way to boot without u-boot is to get x-loader to boot your ROM image directly. However currently there is a bug in the RISC OS video driver which will prevent video output from working unless the ROM is loaded via u-boot.
If you’ve got a ‘new’ version of x-loader in your NAND which supports automatic loading of u-boot from SD cards (e.g. x-loader version 1.4.2 or above) then all you need to do is copy the RISC OS ROM image to an SD card and name it as ‘u-boot.bin’.
If you’ve got an older version of x-loader, and don’t feel like upgrading, then you’ll have to create a bootable SD card and use that:
TODO – someone who owns a DevKit8000 needs to fill this section in! In general, the steps should be roughly the same as for a beagleboard, except a DevKit8000-specific version of u-boot and/or x-loader will be required.
Note that no guarantee is made of the suitability of QEMU to run the current version of OMAP3 RISC OS. At the time of writing QEMU’s OMAP3 emulation capability is rather poor, and the last time running a build under QEMU was attempted, both emulator patches and RISC OS source changes were required.
To make things easier, you can create a script that will build the NAND image for you:
#!/bin/bash
rm -f beagle-nand.bin
./bb_nandflash.sh x-load-bin.ift beagle-nand.bin x-loader
./bb_nandflash.sh riscos.rom beagle-nand.bin u-boot
./bb_nandflash_ecc beagle-nand.bin 0x0 0xe80000
The script will put the ‘riscos.rom’ ROM image into a NAND image, ‘beagle-nand.bin’, suitable for use by QEMU.