Fedora on a BeagleBoard

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 2.6.40.3 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-2.6.40.3-0.fc14.armv7l.omap ; fatload mmc 0:1 0x81600000 uInitrd-2.6.40.3-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.

3 thoughts on “Fedora on a BeagleBoard”

    1. There’s pre compiled kernels for a number of devices including the BeagleBoard, PandaBoard, Trimslice, qemu already in Fedora ARM and I used that.

      1. Nice; could you provide a link for those who are too blind to find them (myself included)?

Comments are closed.