My BeagleBoard XM was the first ARM device I bought for running Fedora on ARM. I had it running for ages just fine but then I attempted to do something and ended up with a corrupted filesystem on the microSD card and it was gone. So I attempted to recover it and then re-install but I had no luck with a newer kernel and the dreaded u-boot. I had no luck and gave up and every now and again gave it a shot but achieved nothing more than some cussing and a loss of time. Last night I attacked it again with a F-14 rootfs and a 18.104.22.168 kernel and I had success!
So what did I do? The BeagleBoard likes to boot the kernel off a dos partitions so I partitioned the SD card into three: a 200Mb partition 1, a 1gb partition for swap with the remaining going to root.
mkfs.vfat -n bootfs /dev/sdb1 mkfs.ext3 -L rootfs /dev/sdb2
Mounted the roofs and then the dos partition under /boot, extracted the rootfs so the kernel was installed onto the dos partition:
mkdir /mnt/rootfs mount /dev/sdb2 /mnt/rootfs mkdir /mnt/rootfs/boot mount /dev/sdb1 /mnt/rootfs/boot cd /mnt/rootfs tar xf /path/to/rootfs.tgz cd boot vi fedora_boot_cmd
Add the following:
setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait selinux=0' mmc init; fatload mmc 0:1 0x80000000 uImage-22.214.171.124-0.fc14.armv7l.omap ; fatload mmc 0:1 0x81600000 uInitrd-126.96.36.199-0.fc14.armv7l.omap; bootm 0x80000000 0x81600000
Then run the following command:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Beagleboard-xM boot script" -d fedora_boot_cmd boot.scr
From there you should be able to put the microSD card into you BeagleBoard and boot away. You can get one of the current rootfs tar files from the Fedora ARM wiki page. The current images are a little incomplete but I plan on publishing a new F-14 image soon and before long we should start to have newer images available.