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
add this line

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

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.

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”.

OLPC XO-3 and Fedora

For a lot of you its not been much of a secret that I’ve been working on various OLPC things for quite a number of years now in my own time. Its also not a shock to a lot of people that I’ve been spending a lot of my Fedora time on ARM related things in recent months! After all in both cases it’s been not unusal for me to bother you about dependency or build issues whether it be by email, bugzilla, or even in person πŸ™‚

Most Fedora people would have seen the announcement of the XO-3 Tablet by One Laptop Per Child and Marvell Semiconductor. You’ve likely seen it in the media, its been reported all over the place. You might have even seen some of the cool press shots like this one..

XO-3 Tablet

or this one…

XO-3 Tablet

One of the things that you may not have realised is that the devices being demoed at CES were running Fedora 14 on ARM. Pretty cool huh? Sure it’s by no means currently as fast as it could be. Firstly it’s running “softfp” which doesn’t properly make use of the hardware floating point. It also doesn’t even begin to make use of Marvell’s equivilent of SSE/MMX let alone some of the other features. We’re aiming to make it scream, comparetively for a device that draws 2 watts! It will never be a super computer but it will be able to run an OS that is pretty close to the linked beast, and even be a little more rugged and portable to boot!

If you don’t believe me check some of the following photos (courtesy of Gizmodo) . Do any of them look familiar?

Yes, that’s Sugar

And GNOME 2.32, I’m working on GNOME 3… help wanted!

a close up.

Say CHEESE! Well say Record on Sugar actually.

More details can be found in Gizmodo’s OLPC XO 3.0 Hands On: The $100 Wonder Tablet article.

I think it’s very cool to have Fedora running on a device that is again so ground breaking in both cost and design right from the very beginning! No Android here, it’ll come later. I’ll have its big brother at FUDCon Blacksburg and I look forward to getting it running Fedora 17 very soon πŸ™‚

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 πŸ˜€

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.

FUDCon Day 1

Wow what a busy day! We started off with BarCamp pitches followed by the FPL traditional “Fedora State of the Union” talk from Jared.

The first BarCamp I went to was the Fedora on ARM including an update of OLPC on Fedora from Martin Langhoff. Very interesting and there was a lot of interest in my Toshiba AC100 SmartBook running Fedora 13 ARM on the nVidia Tegra250 dual core ARM A9 processor.

Lunch was very interesting. All the people involved in Sugar on Fedora got together for a chat about what everyone was up to and how things were working, and a quick discussion as to what different parties saw from Sugar on a Stick and whether it was useful. The people in attendance (from memory) were myself, Sebastian Dziallas, Mel Chua, Simon Schampijer, Martin Langhoff, Stephen Parish, Bernie Innocenti, Dennis Gilmore and Samuel Greenfeld. It was good to chat face to face about the requirements and challenges of Sugar in Fedora and the various requirements of Fedora, OLPC, SugarLabs and third party users like the Dextrose crew. There were many other hallway chats about various Sugar related things including with Adam Williamson and Samuel for QA related testing of Sugars and associated components, and with Martin about XS Server related things. The whole day was very sweet (pun intended!) with Sugar related discussions. Of course the discussions didn’t stop there and continued into the evening at FUDPub.

After lunch I attended the Education ΓΌbertalk which was very interesting about various means of teaching open source from MΓ‘irΓ­n’s teaching of design and graphics through open source applications, to ctyler’s 15 minutes on teaching open source at universities and how that’s allowed them to use Fedora as a showcase of a release process because its all open, and of course Mel and Sebastian’s slot of POSSE. All very interesting and very different takes on getting open source out there.

I managed to make it to Mike McGrath’s talk on cloud, although I didn’t make it to enough cloud related talks over the weekend, because as always there seems to be way too many cool things to attend and way to many conflicts!

The discussion about Fedora Spins and the future there of was also very interesting. Its something that’s been long over due and while we didn’t have enough time to get through all the required bits to discuss I feel that we got enough of the root ideas out and discussed and noted down to be able to take the rest of the discussion to the lists. I was very interested in this and in time there should be some nice improvements to enable some improvements to the way the spins process that should greatly help both the Sugar and possible future MeeGo spins.

In the evening there was the traditional FUDPub. And what fun it was too. Although I do place the blame for how I felt the following day on Martin and Simon for moving me from drinking beer to Cuba Libre’s and big ones at that!

FUDCon Day 0

Having arrived in Tempe for FUDCon late on Thursday evening having been in transit for close to 24 hours it was great relief to meet up with Mel and Sebastian at the hotel. After a great nights sleep, except for a massively sore neck, it was great to get up on Friday morning to find people starting to arrive and the office hallway track begin to take shape.

I went out in the afternoon to get out and about from the hotel and see a little of the surrounding areas. By the time I got back a huge crowd had started to gather and it was good to catch up with adamw, jsmith, dgilmore, pfrields and many many others.

FUDCon officially started with the first birthday party of with beers, pizza and cake provided them to assist the conversations and celebrations.