Using Fedora on your shiny new OLPC XO

So you’ve just received your shiny new OLPC XO 1.75 as part of the awesome Fedora Open Hardware Summer of fun! or you have an existing OLPC XO that you haven’t used for a while and it’s gathering dust. While it’s running Fedora it doesn’t seem to act completely like Fedora and what’s more it’s likely running an ancient Fedora 14 based release and that’s not really cool is it?

Well the first thing to do is to update it to a newer release. There’s XO releases based on both Fedora 17 (stable 12.1.0 release) and devel releases based on Fedora 18 (development 13.1.0 releases). For a XO-1.5 or XO-1.75 the update process is identical. The process I mention here re-images the machine so if there’s anything you need to save back it up first!

It’s relatively straight forward. You basically get the appropriate .zd file, put it on a USB key and away we go. The Fedora 18 based 13.1 images can be found here. You just need the latest .zd (and it’s good practice to grab the .zd.md5 file too) so for 13.1.0 os3 we’d download this file or for F-17 we’d use this one and pop it on a usb key. From there we make sure our XO has battery juice and is plugged into the power. We power it on and instantly hit ESC to get the OFW OK prompt. Plug in the usb key and run the command “fs-update u:\31003o2.zd“. The screen should change to a grid and slowly go all green. Once we’re back at the OK prompt we can type “reboot”. It will take a while to boot the first time as it will update the Open Firmware and do a few other bits but you should eventually be greeted with a Sugar prompt to enter your name. More detailed instructions including for the XO-1 can be found on the OLPC WIKI.

If you wish to move from the Sugar UX to the more familiar GNOME UX you can right click on the little man in the middle, select “My Settings” to get the Control Panel and there’s a icon “Switch to GNOME”. It will ask you to restart X. There’s a matching App in the GNOME menus to switch back.

Next up we want to unblock all updates from the Fedora repositories. The OLPC releases have a specific package NVR set for stability and release just selected updates rather than the usual firehose from Fedora. We generally want all updates available. The one exception to that at the moment is the kernel. So we do the following which removes the OLPC excludes and excludes just the kernel:
vi /etc/yum.repos.d/fedora*
delete this line
include=file:///etc/yum/olpc-exclude
add this line
exclude=kernel

Of course the first thing you want to do now is “yum update” to get the latest and greatest :-D!

Next up is enabling the standard GDM login. This is as simple as yum install gdm and then updating which display manager starts with the following:
rm /etc/systemd/system/display-manager.service
ln -s /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service
reboot

Finally I suggest joining the Fedora OLPC mailing list. It’s a pretty quiet list but it’s where we copy any release announcements and also a spot to ask XO specific Fedora questions.

So that should get you to something a little more standard and allow you to install some of your favourite bits. Next up of course is getting more involved in both OLPC and ARM things happening in the Fedora community. I look forward to hearing about what works and what doesn’t on the Fedora planet and mailing lists 🙂

Also note that the above isn’t just restricted to the ARM based XO 1.75, even the original XO-1 runs Fedora 17 and 18 well so if you have an old XO lying around now is a good time to dust it off.

Fedora Board and run off voting

Well it seems I was re-elected to the board for a second term. I’m looking forward to driving forward some of the issues I was dealing with and continuing with the projects I was working on. Of course the board is just a small proportion of what I do within the Fedora Project. I believe it’s important to represent the areas of the project I work in such as ARM as well as other wide projects such as OLPC and Sugar Labs that use Fedora as a core base to their projects as well as contributing back to some of the non technical parts of the project.

Of the three board seats that were up for election the third seat was a dead heat so don’t forget there is run off election between the two candidates that ends tomorrow.

Don’t forget to VOTE once again. It literally takes less than a minute to follow the link and make your vote heard. I personally think that this is as important as the first vote to ensure we get the best candidate.

I look forward to working with you all over the next 12 months.

Announcing Sugar on a Stick 7 (Quandong)

I’d like to announce Sugar on a Stick 7 (Quandong)

There’s been a lot of work go into this release from a lot of communities from Fedora and all the Fedora 17 features that give us new and exciting hardware support to the Sugar Labs community and all the new features that come with the Sugar 0.96 release on which SoaS v7 is based.

Thanks go to all the people that have contributed to this release including Kalpa and Thomas who helped directly with SoaS, the Sugar development team and other Sugar developers. A lot of work has been done to ensure we can get working core Activities like Read and Browse work well. While those Activities look simple there’s been a lot of work from a lot of people to support GTK3 and gobject-introspection bindings, a lot of bugs were fixed with upstream packages to make it all work nicely. The few GTK3 Activities are just the beginning of a long road to convert the entire Sugar interface to newer technologies.

Some of the key new features of this release include:

  • Based on Fedora 17 and it’s new features
  • Massively improved x86 Mac support
  • Sugar 0.96 with initial support for GTK3 Activities and many other improvements
  • Return of Browse, now based on WebKit
  • The long awaited return of Read and inclusion of GetBooks
  • Enhanced hardware support with the 3.3 kernel
  • An increase in default Activities by nearly 50%

Almost all of the previous Activities have seen updated releases including but not limited to:

  • Abacus 35 (GTK3)
  • Record 95
  • Physics 9
  • TurtleArt 138

Newly added Activities include:

  • Browse 137 (GTK3)
  • Countries 33
  • Finance 7
  • GetBooks 11
  • Help 14 (GTK3)
  • Infoslicer 14
  • Labyrinth 12
  • Paint 43
  • Portfolio 21
  • Read 99 (GTK3)

There are many more Activities available through the usual Fedora repositories.

There’s a good getting started guide for Activity developers who wish to work with Fedora 17. It is a step by step guide to getting sugar and the development environment configured to enable a quick head start on development.

The release name, Quandong, continues the tradition of naming releases by types of fruit. The Quandong, or Native Peach, is a native Australian bushfood.

You can download the release from the following link.

http://spins.fedoraproject.org/soas/

It can also be installed as part of a standard Fedora 17 install and is shipped as part of the official Fedora installer DVD and the Fedora Multi Spin Live DVD. It can also be installed from the GUI package tool within a running Fedora install or by command line “sudo yum install @sugar-desktop”.

Preparing for FUDCon Blacksburg

Well its almost time for FUDCon Blacksburg. In fact this time next week I will have already been in Blacksburg for over a day. I’m really looking forward to the event but I know it’s going to be very busy. So what have I got planned for my time in Blacksburg? The list in fact is pretty small:

  • Fedora Board Business: We have a open board meeting planned. There will no doubt be a numbner of things to discuss and there’s already a number of things on the list.
  • Fedora ARM and Secondary Architectures in general. There’s a lot of things to discuss with ARM from koji infrastructure, building rawhide, things we need to do to progress ARM to a Primary Architecture and a lot of other things from technical to procedural and process oriented. There will also be ARM based OLPC XO 1.75s and if the rumours are true possibly even a pre production Raspberry Pi

That looks like a small list but it would be very easy to fill an entire week with those two topics on their own. If I get a spare session here and there I would also like to spend some time attending some of the Cloud SIG sessions as there’s going to be some great stuff happening there too!

My Fedora 2011 in review

Its been a some what mixed year for me personally and I certainly won’t be massively disappointed to see the end of 2011. In Fedora land the year has been completely full on!

The first major event that kicked off 2011 for me in Fedora was FUDCon Tempe which as always was brilliant. Its always awesome to catch up with a lot of Fedora Friends and to drive forward various bits of the project that are sometimes easier done face to face, whether it be in a session or at FUDPub over a beer or two! It was at Tempe that our fearless leader threw down his first challenge of the year to me… to blog about what I’m doing in the land of Fedora on a weekly basis. I didn’t quite meet this goal but have still averaged a post every fortnight.

From April a massive amount of my time was taken up with helping the Fedora ARM in particular getting Fedora 14 built for the XO 1.75 but also massively fixing packages upstream to build on ARM. With the F-14 release for the XO out I’ve been concentrating on F-15+ and later for both hard and soft floating point. The ARM project still continues to consume massive amounts of time and has basically covers a lot of the things I wanted to achieve as part of the Fedora Mobility SIG.

May saw me head off to the excellent Red Hat Summit for the second time. I was there for work and as always its very useful for the type of work I do for my $dayjob. I helped out on the Fedora booth and as always spent quite a bit of time with a number of Fedora contributors. It was there that our fearless leader convinced me that standing for The Fedora Board was also a good idea.

Fedora 15 was next up on the list, of course. A great release with gnome-3 and all sorts of other goodies. Not so good for Sugar on a Stick which had massively broken networking 🙁

October saw me attending FUDCon Milan which was a rather shorter than some FUDCons but great as always.

Fedora 16 was much more successful for Sugar on a Stick and we shipped probably the best release ever. In fact I think Fedora 16 was an awesome release.

I’m looking forward to 2012 greatly, both in the land of Fedora and in my personal life. I’m looking forward to seeing ARM progress onwards and upwards and hopefully make it to a primary architecture in the coming year. I’m not one for resolutions, I think ongoing reviews are much better so I look forward to working with all my Fedora friends throughout the coming year.

New release for OLPC XO laptops

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 😀

FUDCon Milan

Well another FUDCon is over, they seem to go quickly! This one seemed shorter than previous ones and that’s primarily because it was. Most FUDCon events are 2.5-3 days. This one was two. That’s not to say it wasn’t productive as it most definitely was and I was in Milan from Thursday until Tuesday along with a number of others which meant I got the opportunity to discuss a number of things face to face with a number of people that I usually speak to daily on IRC or other online means so it was certainly productive. And as always its good to meet up with friends face to face, meet new friends and eat, drink and generally be merry 🙂

So what did I achieve? Quite a bit but a lot of it isn’t directly accountable. So a bullet point list of what I can remember:

  • Discussions with dgilmore and others about ARM and various plans for F-15/16/17 and beyond
  • Secondary architectures!
  • Anaconda with wwoods and others including support for ARM, images, tablets, Live USB keys without overlay file systems to avoid corruption issues with SoaS deployments
  • Support for various OLPC XO and Sugar Labs issues we see or envision moving forward
  • Demos of ARM on the XO and other devices
  • A governance session
  • A lot of other random conversations
  • FUDPub 🙂

So what else did I get up to? Gelato with jsmith on a number of occasions, a day trip to Venice with spot and dgilmore including a VERY early start and some geocaching in both Venice and Milan and some sight seeing around Milan.

So a big THANK YOU to the organisers of FUDCon Milan with both my Fedora Board and personal hats on! 😀

The Rumor Of My Demise Has Been Greatly Exaggerated!

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!

Mobility Devices

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:

  1. OLPC XO 1.75: 1Ghz ARMv7 Processor, 512Mb RAM, 4Gb eMMC storage, GPU Unknown
  2. OLPC XO 1.5: 1Ghz VIA C7 Processor, 1Gb RAM, 4Gb microSD storage, VIA VX855 GPU
  3. OLPC XO 1.0: 433Mhz AMD Geode Processor, 256Mb RAM, 1Gb Flash storage, Geode GPU
  4. Nokia n900: 800Mhz OMAP3 A8 ARMv7 Processor, 256Mb RAM, 32Gb eMMC storage, PowerVR SGX530 GPU
  5. BeagleBoard XM: 1Ghz OMAP3 A8 ARMv7 Processor, 512Mb RAM, 8Gb microSD storage, PowerVR SGX530 GPU
  6. Fit-PC 1.0: 500Mhz AMD Geode Processor, 256Mb RAM, 40Gb HDD, Geode GPU
  7. O2 Joggler: 1Ghz Z520 Atom Processor, 512Mb RAM, 2Gb Flash storage, GMA-500 Poulsbo GPU
  8. Orange SanFrancisco AKA ZTE Blade: 600Mhz Qualcomm MSM7227 ARMv6 processor, 512Mb RAM, 150Mb Flash, Adreno 200 GPU
  9. Logitech SqueezeBox Touch: 600Mhz ARMv6 Processor, 128Mb RAM, 128Mb Flash, GPU Unknown
  10. Toshia AC100: Dual Core 1Ghz Tegra 250 A9 ARMv7 Processor, 512Mb RAM, 8Gb SSD, GeForce ULP GPU
  11. Samsung Galaxy Tab:1Ghz Samsung A8 ARMv7 Processor, 512Mb RAM, 16Gb SSD, PowerVR SGX540 GPU
  12. 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 🙂

More thoughts on the Fedora Feature Process

This is the second release running that another component of the Fedora Feature process has come and bitten me in the proverbial. This time its the “Major Features”(tm), must be landed by the Alpha release, part of the process.

For Fedora 14 the feature that abused this requirement was python 2.7. Rather than landing by the Alpha release it landed moments before we locked down for the Beta breaking things horribly and causing massive amounts of work post Beta when we were suppose to be stabilising the release. This affected Sugar amongst massively as that’s the language its primarily written in.

For Fedora 15 the abuse was by NetworkManager. Complete API borkage with very little notification (well at least that I saw) moments before the Beta release. Unfortunately again its Sugar that takes the hit and it looks like we’re not going to have it working by release. I’m doing my best to attempt to teach myself python to hack up some form of support but given I’m just learning python converting a network stack isn’t the easiest of things, and work seems to get in the way at the least opportune of moments.

I don’t want to blame developers. Everyone has different agenda’s and issues that they try and balance but what really pisses me off is that its not in by the alpha, or if its going to be massively late there needs to be a lot more heads up or assistance. BTW Massive big kudos to the Evolution developers for getting this pretty close to right for both the F-14 and F-15 releases as they were going through huge API changes. If that’s not going to happen then FESCo or The Board or whoever is in charge of developing the “feature rules and policy” actually needs to bloody well enforce them and say “sorry it needs to go in the next Release”. They do after all have all the way back to alpha of the previous release to land the feature (that was the whole purpose of forking rawhide at alpha and not later in the process) and have all the breakage they like. It gives six months for poor mugs like me to either, organise other busy upstream developers to help, or to work out how to code in python myself to fix it, rather than what seems like six days to attempt to scratch something together. It won’t be popular but maybe a single high profile incident will make everyone step back and think about others and how they may affect them.

With the upcoming FESCo and Board elections I look forward to what people have to say. Why not run for them yourself I hear you say? I’d personally love to but unfortunately with a number of other things going on in my life at the moment I don’t have the time. Either I would have to drop all the package and Sugar/OLPC stuff I’m currently doing to make enough time for it, becoming again a pure Fedora consumer, or remove all traces of the scant personal life that I currently have. I don’t currently wish to do either.