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 22.214.171.124 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:
mount /dev/sdb2 /mnt/rootfs
mount /dev/sdb1 /mnt/rootfs/boot
tar xf /path/to/rootfs.tgz
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-126.96.36.199-0.fc14.armv7l.omap ; fatload mmc 0:1 0x81600000 uInitrd-188.8.131.52-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.
So yesterday the 11.3.0 release of the XO-OS went gold. Its the first release to support the ARM based XO-1.75 and as a result the XO-1.75 is also the first commercial product to be based on Fedora ARM! This is the culmination of over eight months of solid work for me.
There’s a number of interesting points of these releases that the Fedora community might not be aware of. The 11.x releases of the OS have been derived from Fedora 14. Pretty much the entire release is built from mainline Fedora with very few differences, and most of those are patches to the kernel including build related stuff, and a few patches to the Sugar UX to assist with deployments. I strongly suspect that the 11.x releases are the largest deployment of Fedora 14 anywhere 🙂 and probably also of the gnome desktop and its components too.
Moving forward from this release we’re investigating moving the OS release process to mirror rawhide. We’re aiming for the XO-OS 12.1.0 release to be based on Fedora 17 and be released around a month after the main Fedora 17 release. Its going to be a massive release as its encompassing a move of the Sugar UX to gtk3 and gobject-introspection and associated underlying changes as well as jumping to other newer technologies like systemd and NetworkManger 0.9. I’ll be doing a release of Fedora 16 on XO for the XO-1 and XO-1.5 with the latest sugar 0.95.x development release for olpc/sugar developers and others that are interested in testing. I’ll also be doing regular snapshots from rawhide throughout the release process.
One of the advantages I see in moving to rawhide is that we’ll be testing the functionality the OLPC uses and depends upon as its being pushed to rawhide which means we can catch all breakages as early as possible and file bugs or generally bother people while its fresh in their minds rather than trying to get fixes for things that broke in the dev cycle two releases ago and that the developer likely doesn’t have any interest in any longer.
So for all Fedora people out there with various releases of OLPC XO hardware gathering dust now is the time to dust it off and play again as there’s new stable releases on F-14 and soon to be various releases on the latest and greatest Fedora releases. I announce all releases to the Fedora OLPC list. The XO-1 is even getting faster with each new Fedora release so there really is no excuse 😀
So it’s been a long time since I’ve blogged! At the beginning of the year I was aiming to post regularly. Jared challenged me to blog about my Fedora happenings weekly at FUDCon Tempe, that seemed to go OK until around June. For a while there I was actually quite a bit ahead, now I’m about 10 posts behind my goal 🙁
So what has this slacker been up to? Well quite a lot actually!
- I’ve started my tenure on the Fedora Board. I’m some what into the groove now but I need to start blogging more about it too.
- Fedora 14 on ARM. As part of the OLPC XO 1.75 I’ve been rebuilding the entirety of Fedora 14 on ARM. Its been somewhat daunting and I think to some people it must look like I’m on a quest to get a ChangeLog entry in every package in the distro :-/
- My $DAYJOB has been manic! Lots of interesting RHEL 6 bit but also massive amounts of VMWare vSphere stuff. I’m off the VMWorld in Vegas this week so if there’s any Fedora people about at VMWorld or Vegas and you want to catch up get in touch with me
I’ve also been going through the final bits of my naturalisation process in the UK and attempting to sail regularly with my crew. Last week we won 2 races and came second in two races in the Sussex Regatta which gave us an overall win 😀
There’s all sorts of other things going on but I think that’s the biggies. Hopefully I’ll be able to start blogging more in the coming weeks!
I’ve been meaning to do a post with details of all the small devices I have. Not all the devices pictured below currently run Fedora although nine out of the twelve shown either currently run Fedora or I’ve had them boot Fedora. The three devices that don’t, as yet, boot Fedora are devices 8, 9 and 11. There’s no reason why they can’t as they all run some form of Linux, in the case of 8 and 11 its Android and 9 is a Logitech SqueezeBox Touch.
One of the things that I’ve been trying to achieve in Fedora for many years is slimming of the required dependencies of certain combinations of installs. Not everyone needs everything, and not everyone has Terabytes of storage that can be thrown about.
So what are all the devices above. I’ll go through each one and give some details of each:
- OLPC XO 1.75: 1Ghz ARMv7 Processor, 512Mb RAM, 4Gb eMMC storage, GPU Unknown
- OLPC XO 1.5: 1Ghz VIA C7 Processor, 1Gb RAM, 4Gb microSD storage, VIA VX855 GPU
- OLPC XO 1.0: 433Mhz AMD Geode Processor, 256Mb RAM, 1Gb Flash storage, Geode GPU
- Nokia n900: 800Mhz OMAP3 A8 ARMv7 Processor, 256Mb RAM, 32Gb eMMC storage, PowerVR SGX530 GPU
- BeagleBoard XM: 1Ghz OMAP3 A8 ARMv7 Processor, 512Mb RAM, 8Gb microSD storage, PowerVR SGX530 GPU
- Fit-PC 1.0: 500Mhz AMD Geode Processor, 256Mb RAM, 40Gb HDD, Geode GPU
- O2 Joggler: 1Ghz Z520 Atom Processor, 512Mb RAM, 2Gb Flash storage, GMA-500 Poulsbo GPU
- Orange SanFrancisco AKA ZTE Blade: 600Mhz Qualcomm MSM7227 ARMv6 processor, 512Mb RAM, 150Mb Flash, Adreno 200 GPU
- Logitech SqueezeBox Touch: 600Mhz ARMv6 Processor, 128Mb RAM, 128Mb Flash, GPU Unknown
- Toshia AC100: Dual Core 1Ghz Tegra 250 A9 ARMv7 Processor, 512Mb RAM, 8Gb SSD, GeForce ULP GPU
- Samsung Galaxy Tab:1Ghz Samsung A8 ARMv7 Processor, 512Mb RAM, 16Gb SSD, PowerVR SGX540 GPU
- Asus EeePC 901: 1.6 Ghz Atom Processor, 1Gb RAM, 4Gb Primary SSD, 16 Gb Secondary SSD, Intel G450 GPU
All the devices have WiFi, some have wired Ethernet, some 3G, GPS etc.
There’s two main issues with smaller “mobility” devices. Firstly is the GPU support is obviously a mixed bag, there’s obviously AdamW’s favourite GPU… the Poulsbo on the Intel Z5xx series atoms. The Poulsbo is basically a variant of the PowerVR GPU’s that Intel licenese. Unfortunately this is still basically the case for the new Z6xx series which contain a GMA-600 Poulsbo device. Buyer beware! Its been leaked this week that Intel for later generations isn’t going to improve the situation as they just going to use the PowerVR GPU directly.
The other issue is storage. Most of the devices just don’t have that much of it. This is why I spend so much time filing bugs to split out dependencies. While you can install the standard desktop into 4Gb it doesn’t leave that much for things like yum updates or fun things like music 🙂
For Fedora people that are interested in getting involved with the ARM secondary arch you can currently get a Pogo Plug from CompUSA for a smidg under 60 greenbacks. In hardware specs, its pretty much a SheevaPlug in pretty clothing, so its well supported on Fedora ARM. There should also be some nifty improvements soon to make it even easier to use Fedora on ARM devices thanks to some cool projects by students at Seneca College for kernel build rpms!
Well its not long before I’ll be jumping on a plane to head over the pond to Tempe, Arizona to the latest and greatest FUDCon. This will be my forth FUDCon event. I always enjoy them. Its lots of fun catching up with friends and fellow contributors who’ll no doubt become friends. There’s always one thing I really don’t like about FUDCon…. its that there’s always too many awesome topics of discussion and sessions that I want to attend but they conflict with other sessions that I want to go to 🙂
So what do I want to discuss and see discussed at FUDCon Tempe? Well as per usual there’s lots so here’s a quick bullet list:
- Fedora Mobility: How to take it forward and who wants to achieve what, and how we all go about it. As devices get smaller and every company and their dog release tablets I think mobile devices will become more key to Fedora. It also fits in very well with a number of the Fedora Board Long Term Goals in particular I think it fits well for the help people control their content and devices and the Access from anywhere strategy.
- Sugar, OLPC and Sugar on a Stick: there’s going to be quite a few people from various OLPC and Sugar projects in attendance. Also the awesome adamw and the Fedora QA team is going to be there so there’s plans to extend the discussions we started at FUDCon Zurich. The OLPC project is arguably the largest deployment of devices based on Fedora. The OLPC OS that runs on their XO laptops is pretty close to a vanilla Fedora release and as the last of the XO kernel patches make it upstream you can run vanilla Fedora on them with few issues.
- Fedora ARM and secondary architectures: dgilmore, ctyler, PaulW will (I think) all be there and Fedora ARM is really starting to amp up with their awesome work! This also crosses over somewhat into OLPC and is hand in hand with Fedora Mobility. I suspect the discussions will revolve around getting Fedora 14 and rawhide building, ARMv7 + hardfp builds and ensuring ARM becomes a solid secondary arch.
- Cloud: This sort of stuff is part of what I do for my $dayjob and it interests me greatly! I just wish I had more time to contribute to the SIG.
- MeeGo Netbook UX: yes, this was a big FAIL for Fedora 14 and I need to blog on this. Looking much better for Fedora 15. Watch this space!
- IPv6. There’s been some interesting posts on using IPv6 with various ISPs with that other Linux based desktop OS. Why isn’t there the same for Fedora??
- Friends: One of the big ones of the four F’s of Fedora.
- There’s always lots of random hallway discussions.
There’s no doubt a number of things that I’ve missed. The other thought I have is what of my Mobility tech toys to bring along. I have my laptop obviously. My atom based netbook running MeeGo Netbook UX on rawhide, my XO 1.5 running Fedora 14, my Toshiba AC100 running Fedora ARM 13 but I don’t think I can pack 4 laptop/netbook devices 😛
I finally sat down on the weekend to try and get some OS other than Android running on the Toshiba AC100 I bought off ebay on a whim. The AC100 doesn’t look that different to your average 10.1 inch netbook except its extremely thin and and light and on the inside it has a Nvidia Tegra 2 SoC based on the dual core ARM Cortex A9. My initial plan was to get Ubuntu running on due to the instructions about doing that to be found on the net. After doing some reading and while part way through the process I decided that I would try Paul Whalen’s Fedora 13 ARM rootfs instead as the process of creating a linux rootfs is similar across all distributions! There’s still quite a way to go. For starters its currently a very base system and its currently running a 2.6.29 kernel for ubuntu based on the code released by Toshiba but its a start. Over the next couple of days I plan on getting networking up and from there X plus gnome. Once I’ve got that done I’ll put up a more defined process and add the details to the ARM wiki devices page.