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.

Allwinner ARM SoCs

Allwinner ARM Systems on a Chip is a cheap SoC producing some cheap and interesting devices. The SoCs themselves are made in China by a company that licensed the Cortex-A8 reference design from ARM, it was one of the earlier ARMv7 chips so isn’t bleeding edge but it is ARMv7 so fully hardfp compatible. They currently produce two widely available chips the Allwinner A10 and A13.

The Allwinner chips are something I’ve been interested in supporting in some form or another on Fedora ARM for a while as they simply have a lot of cheap hardware available that is of reasonable specs. There’s a few things that have stopped me to date. Firstly it doesn’t appear that all their kernel code is upstream as yet so we’d be in a similar situation as we are with the Raspberry Pi. I’ve also not had a lot of time of late (as can be seen by my lack of blog posts recently!) as I’ve had other more pressing things non Fedora ARM things on my plate. Lastly I’ve been concentrating on ensuring Fedora 18 and rawhide remains in reasonable shape, the kernels of the devices we support keep moving forward and I’ve also got some other boards that have upstream kernel support I would like to see being usable on Fedora. Simply put… there’s just not enough hours in the day.

The other day I noticed that the company behind the Allwinner SoC (or some other company) had decided the create a cheap development board similar to that of the Pi, BeagleBoard or some of the other devices on the market. It’s called the CubieBoard.

It’s an interesting board. It’s some what higher speced than the Pi being an 1Ghz ARMv7 Cortex-A8 processor with 1Gb of RAM (or 512Mb), 4Gb of NAND Flash, 100Mb ethernet, most of the usual peripherals and interestingly a onboard SATA port. All for $49.

I contacted the CubieBoard team to see what their plans were for Fedora support and offered my assistance. I’ve since got an email back saying they’ll send me a board to enable us to get it working with Fedora. So once I’m back from holidays I should have a Allwinner A10 board waiting for me which I can start investigating what is required to support the Allwinner devices in Fedora. It seems they’re moving to get the kernel support upstream, there’s also a project to write an open source X driver for the MALI 200 and 400 GPUs. So with luck before long we might have another class of cheap ARM devices for people to play with Fedora on.

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

Board questions and Townhall

What will you be able to accomplish if elected, that you couldn’t as an unelected contributor? Why this post? These are the answers to my board questions which are in the wiki here. The questions and answers from the first Board Elections Townhall meeting are here in the IRC logs. The second one is tonight at 20:00 UTC.

It allows me to contribute back to the project in a more central way than being a contributor and to contribute ideas and direction in a quicker and more direct way. It also allows me to continue on in the work I’ve being doing up until now including working to improve Fedora on cheap devices in particular working to have ARM accepted and promoted to a primary arch. In my last term I worked as part of the ARM team with FESCo to get a set of guidelines for promotion of a new architecture to primary.

What are your goals for your term on the board (in more detail)?

In no particular order:

* Continued expansion of support within Fedora to mobile and low power devices such as ARM to ensure Fedora can lead in the ever expanding mobile and low powered device space and allow Fedora to assist others to innovate in this massive arena.
* Allowing all groups that wish to use Fedora to be able to do so as simply and easily as possible.
* Ensuring all groups work together nicely and think outside their own box and to impact other groups in a good way rather than a “my way or the highway” attitude.

What do you think are the problems and challenges Fedora is currently facing? Do you have solutions for these issues?

There’s a number of challenges facing Fedora and there’s certainly problems.

One of the issues you can get whenever you put a large amount of people of different interests and diversity together. Having travelled to a number of FUDCons and chatted with people online I know Fedora has a wide and diverse community and that is a great thing as it’s what makes Fedora a thriving and diverse community. I would like to see the community be more aware of differences of others within our great community whether that be religion, cultural, sex or even desktop UX of choice. Whether it be on IRC when chatting, in mailing list discussions or face to face at a conference there should be no reason for people to be abused, objectified, yelled at or worse. I don’t believe we should support people in our community that known to do as such. We can do a lot more to improve this.

From a technical perspective there’s a number of things we can do to improve the community. The Fedora Engineering team is leading the charge in some of this such as the great mailing list mock ups, I’m sure community members have more ideas.

From a technical perspective there’s always a lot of challenges and things can be improved including simplification of some of our processes, making the documentation easier to find and read for new contributors and easier to understand when they do read it.

What do you think can be done to attract more people to join the Fedora community as contributors? Do you think Fedora’s visibility needs improvement? If yes, do you have any ideas on how?

I think Fedora has very good visibility already but I’m not sure everyone realises it and we can certainly improve that. For example Fedora runs on the 2.5 odd million OLPC XOs that are currently deployed and the couple of million already scheduled to be deployed this year. They’re probably the widest single deployment of Fedora and will also be one of the first products to ship with Fedora ARM. I also don’t believe we’ve done enough promotion of the work we’ve done with the Raspberry Pi. I’m sure these examples are just a few of where Fedora is used and where we’re leading the curve that people both within and more importantly outside the community realise.

I think we can also do a lot to improve the community involvement for non native English speakers. You just have to look at the size of the two FUDCon APACs to see the size of the community already involved and I’m sure they’re just the tip of the iceberg.

Do you think the issues the Board discusses and the decisions the Board makes are effectively and efficiently communicated throughout the Fedora community? If you believe communication between the Board, the Fedora community, and even the public at large can be enhanced, what first steps or ideas would you propose?

The communication of the board can certainly be improved. I think this is the case for all areas of the community though including but not limited to FESCo and FAmSCo too. I don’t think there’s a single fix for the communication issue, the board over time has tried a number of communication methods some more effect than others but none were perfect. I think it would be good for the board members to communicate more by blog posts as it’s a means of all parts of the community to read when they get time.

Failure to build

Having done two complete OS builds of Fedora on ARM. First with Fedora 14 and now with Fedora 17 on both hardfp and softfp flavours of ARM is never ceases to amaze me how many packages won’t build on mainline Fedora. Now days if I get a build failure on ARM the very first thing I do is a scratch build on mainline so I can be sure whether the problem is ARM specific or a general failure, in a lot of cases sadly it’s the later.

What’s more it’s surprising to see how many packages are FTBFS post mass rebuilds even though it’s advertised that packagers need to fix their build failures post mass rebuild. In fact post F-17 mass rebuild there’s still nearly 300 packages that are FTBFS in F-17 and that’s just doing a basic grep against the latest f-17 tagged packages so it doesn’t take into account packages that were built in the f17-build prior to gcc 4.7 landing but are FBTFS with gcc 4.7.0, ruby or some of the other F-17 features.

I know of the last 3-4 months I’ve personally fixed into the 100s of broken packages, and I know spot fixes a lot too but it still amazes me that maintainers don’t fix the build failures for their packages. A lot of fixes, especially for the older build packages, are basic things like patch fuzz so shouldn’t be hard to fix!

A list of the current < f17 packages currently tagged into F-17 stable (sorry if there's already a fix in the works via updates-testing): Mayavi-3.4.0-2.fc15 Panini-0.71.103-5.fc15 PyKDE-3.16.6-7.fc15 Temperature.app-1.5-8.fc16 UnihanDb-5.1.0-7.fc15.3 alacarte-0.13.2-3.fc16 alevt-1.6.2-16.fc15 amanda-3.3.0-2.fc16 apache-commons-fileupload-1.2.2-2.fc15 apache-commons-jxpath-1.3-6.fc15 apache-commons-launcher-1.1-7.20100521svn936225.fc15 ape-1.1.0-3.fc15 aplus-fsf-4.22.4-21.fc16 async-http-client-1.6.1-1.fc16 audtty-0.1.12-3.fc15 autoarchive-0.2.0-3.fc15 ax25-apps-0.0.6-8.fc16 barcode-0.98-17.fc15 base64coder-20101219-2.fc16 blahtexml-0.8-3.fc16 boolstuff-0.1.13-2.fc15 bwa-0.5.9-1.fc16 cargo-parent-4.7-1.fc15 chronojump-0.8.14-1.fc12 cmucl-20b-1.fc15 cobertura-1.9.3-3.fc15 compat-flex-2.5.4a-6.fc12 coredumper-1.2.1-10.fc12 crossvc-1.5.2-7.fc12 ctemplate-0.97-1.fc14 dhcp-forwarder-0.9-1501.fc15 diveintopython-5.4-19.fc16 driftnet-0.1.6-21.20040426cvs.fc15 dvipdfm-0.13.2d-42.fc15 eboard-1.1.1-7.fc15 eclipse-anyedit-2.3.3-2.fc15 eclipse-collabnet-merge-2.2.1-2.fc15 eclipse-emf-query-1.4.0-2.fc15 eclipse-emf-transaction-1.4.0-2.fc15 eclipse-emf-validation-1.4.0-2.fc15 eclipse-m2m-qvtoml-3.0.0-2.fc15 eclipse-mdt-ocl-3.0.0-2.fc15 eclipse-mdt-uml2-3.1.0-2.fc15 eclipse-mercurial-1.8.2-1.fc16 emacs-common-proofgeneral-3.7.1-5.fc15 email2trac-0.13-6.fc12 erlang-ebloom-1.0.2-5.fc15 erlang-js-0.5.0-3.fc16 esc-1.1.0-14.fc15 ext3grep-0.10.2-2.fc15 ezmorph-1.0.6-3.fc15 fbdesk-1.4.1-7.fc15 fbida-2.07-8.fc15 fedora-idm-console-1.1.3-3.fc15 felix-parent-1.2.1-6.fc16 felix-shell-1.4.2-3.fc15 fillmore-lombard-0.1.0-5.fc15 flickcurl-1.18-2.fc15 freenx-client-0.9-11.fc15 fuse-emulator-1.0.0.1-1.fc16 fvwm-2.5.30-4.fc16 fwbuilder-4.1.2-1.fc15 g-wrap-1.9.11-4.fc12 gant-1.8.1-5.fc15 gconf-cleaner-0.0.3-2.fc15 gdmap-0.8.1-8.fc15 gengetopt-2.22.3-1.fc13 gforth-0.7.0-5.fc16 gimmix-0.5.7.1-2.fc15 gmpc-0.20.0-4.fc15 gnaughty-1.2.4-2.fc15 gnofract4d-3.13-2.fc15 gnome-do-docklets-0.8.2-4.fc15 gnome-speech-0.4.25-5.fc15 gok-2.30.1-1.fc15 goldendict-1.0.1-4.fc16 gooddata-cl-1.1.9-2.fc15 google-gson-1.7.1-3.fc16 grace-5.1.22-9.fc16 gshutdown-0.2-8.fc16 gtkglextmm-1.2.0-10.fc12 gtkmm-utils-0.4.1-3.fc15 gtksourceview-1.8.5-8.fc15 gtksourceview-sharp-2.0.12-14.fc16 gtksourceview2-sharp-1.0-10.svn89788.fc16 gtksourceviewmm-2.10.2-2.fc16 gwget-1.0.4-5.fc15 hardinfo-0.5.1-3.fc15 healpix-2.13a-2.fc14 ibus-table-cangjie-1.2.0.20100210-18.fc15 ibus-table-cantonese-1.2.0.20100305-3.fc15 ibus-table-code-1.2.0.20100305-8.fc15 ibus-table-others-1.3.0.20100907-6.fc15 ibus-table-xingma-1.2.0.20100305-3.fc15 ibus-table-yinma-1.2.0.20100305-7.fc15 icewm-1.3.7-1.fc16 ini4j-0.5.1-1.fc16 ipe-6.0-0.32.pre32patch1.fc12 jaffl-0.5.9-1.fc16 jgraph-5.13.0.0-2.fc13 jmol-12.0.41-1.fc16 jpoker-1.0.16-2.fc15 json-lib-2.3-5.fc15 kadu-0.6.5.4-5.fc15 kaffeine-1.2.2-1.fc16 kismet-0.0.2011.03.R2-1600.fc16 komparator-0.9-5.fc15 krecipes-1.0-0.2.beta2.fc15 ksplice-0.9.9-2.fc15 latexila-2.3.0-1.fc16 lekhonee-gnome-0.11-4.fc15 libAfterImage-1.20-2.fc15 libbsr-0.2-4.fc12 libcrystalhd-3.5.1-1.fc14 libfc14audiodecoder-1.0.2-3.fc17 libfwbuilder-4.1.2-1.fc15 libgdbus-0.2-6.fc15 libgdiplus-2.10-2.fc16 libgtkhotkey-0.2.1-4.fc15 libgtksourceviewmm-0.3.1-7.fc15 libharu-2.1.0-3.fc15 libhid-0.2.17-6.fc15 libinfinity-0.5.0-2.fc15 libkml-0.6.1-8.fc15 libmnetutil-0.8.0-0.3.20100629svn3775.fc15 libofx-0.9.4-1.fc16 libopensync-plugin-opie-0.22-5.fc15 libpano12-2.8.6-5.fc15 libqttracker-6.11.0-2.fc15 libsoup22-2.2.105-9.fc15 libvpd-2.1.1-2.fc15 licq-1.3.5-10.fc15 links-2.2-13.fc15 lsvpd-1.6.8-3.fc15 maven-changelog-plugin-2.2-7.fc16 maven-changes-plugin-2.6-2.fc16 maven-invoker-plugin-1.5-5.fc16 maven-license-plugin-1.8.0-5.fc16 maven-plugin-cobertura-2.5.1-1.fc16 maven-stage-plugin-1.0-0.3.alpha2.fc16 mercury-1.0-0.4.alpha6.fc16 metapixel-1.0.2-7.fc15 mimetic-0.9.6-2.fc15 mod_scgi-1.13-5.fc15 mod_security-2.5.12-4.fc15 moksha-0.5.0-5.fc15 munipack-1.2.10-2.fc15 nagios-plugins-rhev-1.0.0-2.fc16 natus-0.1.5-2.fc15 ndesk-dbus-0.6.1b-1.fc13 node-0.3.2-8.fc15 notify-sharp-0.4.0-0.14.20100411svn.fc15 ntfs-config-1.0.1-13.fc15 numptyphysics-0.3-0.6.20080925svn.fc15 ocaml-augeas-0.4-9.fc15 ooo2gd-3.0.0-1.fc16 openoffice.org-diafilter-1.7.0-6.fc15 openvrml-0.18.8-2.fc16 ovaldi-5.9.1-1.fc16 parole-0.2.0.2-6.fc15 perl-Config-Augeas-0.701-5.fc16 perl-Crypt-CBC-2.29-8.fc16 perl-Log-Any-0.11-6.fc16 perl-MD5-2.03-10.fc16 perl-Module-Starter-Plugin-CGIApp-0.30-6.fc16 perl-Test-Refcount-0.07-1.fc16 perl-XML-Filter-XInclude-1.0-9.fc16 pgp-tools-1.1.3-4.fc16 php-ezc-Authentication-1.3.1-2.fc15 php-pear-File-Find-1.3.1-1.fc15 php-pear-Payment-Process-0.6.6-7.fc16 pianobooster-0.6.4b-3.fc15 piccolo2d-1.3-9.fc16 pino-0.3-0.3.20101112hg.fc15 pioneers-0.12.3-3.fc15 pki-java-tools-1.3.1-1.fc14 plexus-sec-dispatcher-1.4-4.fc16 pmd-4.2.5-11.fc16 pngcrush-1.6.10-7.fc15 pngnq-1.1-1.fc16 pnmixer-0.3-1.fc16 polyxmass-bin-0.9.8-2.fc12 postgresql-odbcng-0.99.101-0.5.test1.fc15 postgresql-pgpoolAdmin-2.2-2.fc12 postgresql_autodoc-1.40-2.fc14 printoxx-2.8.1-2.fc15 professor-is-missing-0.1-6.fc15 putty-0.60-7.20100910svn.fc15 pxe-kexec-0.2.3-3.fc15 pysvn-1.7.5-1.fc16 python-GeoIP-1.2.5-0.4.20090931cvs.fc15 python-HTMLgen-2.2.2-14.fc14 python-bitarray-0.3.5-4.fc15 python-blinker-1.1-1.fc16 python-blist-1.3.4-1.fc16 python-catwalk-2.0.2-4.fc15 python-cclib-1.0.1-1.fc16 python-cement-0.8.18-2.fc16 python-cerealizer-0.7-3.fc15 python-cherrypy2-2.3.0-15.fc15 python-cherrytemplate-1.0.0-12.fc15 python-chm-0.8.4-10.fc15 python-clientform-0.2.10-2.fc15 python-cloudservers-1.2-3.fc16 python-coffin-0.3.5-2.fc16 python-compositor-0.2b-4.fc15 python-configobj-4.7.2-3.fc15 python-couchdb-0.6.1-4.fc15 python-cpio-0.1-12.fc15 python-cssutils-0.9.7-2.fc15 python-ctags-1.0.5-4.fc15 python-daap-0.7.1-7.fc15 python-daemon-1.6-1.fc16 python-dialog-2.7-14.fc15 python-dictclient-1.0.1-6.fc14 python-dmidecode-3.10.13-3.fc15 python-dns-1.9.4-1.fc16 python-dotconf-0.2.1-12.fc15 python-dpkt-1.7-2.fc15 python-drizzle-0.08.2-7.fc15 python-dtopt-0.1-8.fc15 python-durus-3.9-2.fc14 python-empy-3.3-7.fc15 python-enum-0.4.4-3.fc15 python-epdb-0.11-6.fc15 python-exif-1.0.8-6.fc15 python-formencode-1.2.2-4.fc15 python-modjkapi-0.1.2.28-7.fc15 python-mpmath-0.17-2.fc15 python-pywt-0.2.0-3.fc15 python-unidecode-0.04.7-4.fc16 qalculate-kde-0.9.7-3.fc15 qbrew-0.4.1-7.fc15 qtparted-0.4.5-26.fc15 quesoglc-0.7.2-2.fc15 qwtplot3d-0.2.7-10.fc15 ragel-6.6-3.fc15 raul-0.8.0-2.fc15 rinputd-1.0.4-1.fc16 rmic-maven-plugin-1.1-7.fc16 rpmdepsize-1.0-7.fc15 scite-2.22-2.fc15 selenium-core-1.0.2-0.5.20100324svn.fc15 selenium-remote-control-1.0.3-8.20100318svn.fc15 sinjdoc-0.5-10.fc15 snoopy-1.8.0-1.fc16 sofsip-cli-0.16-3.fc15 specto-0.3.1-3.fc15 sphinx-0.9.9-6.fc16 spor-1.0-4.fc15 sshfp-1.2.0-1.fc16 stardict-3.0.2-2.fc16 stratagus-2.2.4-9.fc15 subcommander-2.0-0.7.fc15.7 surf-0.4.1-3.fc15 svnkit-1.3.4-2.fc15 symkey-1.3.0-4.fc13 synapse-0.2.6-1.fc16 synfigstudio-0.62.02-1.fc15 tesseract-3.00-2.fc15 testng-6.0.1-1.fc16 tilda-0.9.6-6.fc16 tomoe-0.6.0-19.fc15 tucnak2-2.31-1.fc13 txmpp-0.0.2-3.fc14 txt2man-1.5.6-1.fc15 tyrion-0.1.0-1.fc15 ucblogo-6.0-8.fc15 umlgraph-5.4-2.fc15 uncrustify-0.58-1.fc16 vifm-0.5-5.fc15 vorbisspi-1.0.3-3.fc15 winwrangler-0.2.4-2.fc15 wmdrawer-0.10.5-11.fc16 wmfire-1.2.3-4.fc15 wmweather+-2.11-3.fc15 wormux-0.9.2.1-5.fc16 writer2latex-1.0.2-6.fc16 xaos-3.5-2.fc15 xdrawchem-1.9.9-15.fc15 xesam-glib-0.5.0-5.fc15 xmlbeans-2.4.0-7.fc15 xulrunner-python-2.0-1.20110406hg.fc16 xxdiff-3.2-14.fc15 yaws-1.89-4.fc15 zhu3d-4.2.2-3.fc15

ARM hardware now and the not so distant future

So one of the things that I noticed during the heated discussion on the devel mailing list is the impression is why would we want to promote ARM to a Primary Architecture when there wouldn’t even be hardware available to run it in the next year or so. Well the lack of hardware is completely untrue and that will only increase in the coming months and years. So I thought I would try and cover off some of the hardware that is either available now or will be in the next year or so that you might want to run Fedora on. All of the devices covered are available now or should be available by the time Fedora 18 makes it’s Halloween début, of course I have no crystal ball as to HW time lines so things might well change.

Development Boards: all these devices are currently available, there will no doubt be new releases or refreshes in the coming months, likely as Cortex-A15 chips become more widely available.

  • BeagleBoards: There’s three main varieties of these single core Cortex-A8 devices consisting of the original BeagleBoard, the BeagleBoard xM and the new tiny BeagleBone. They range from 800Mhz – 1Ghz and 256-5126Mb RAM with a few other options.
  • PandaBoards: There’s the PandaBoard and the PandaBoard ES. Bother at dual core Cortex-A9 processors the former at 1Ghz, the later at 1.2. From there the specs are similar with 1Gb RAM, WiFi, BT, 100Mb ethernet and various other features.
  • Raspberry Pi: The little baby that took the world by storm taking pre orders in the order of 200K boards and taking a couple of sites offline. There’s a model A and B based on a Broadcom ARMv6 chip the later has ethernet, both have 256Mb of RAM. Fedora is the recommended OS by the Foundation
  • Snowball: A ST-Ericsson based dual core Cortex-A9 with 1Gb RAM, wifi, BT, GPS, ethernet, 4/8Gb emmc and a raft of other fun stuff. It also has a MALI GPU which has development on the open “LIMA” driver
  • Origen: based on a Samsung dual core 1Ghz Cortex-A9 processor which can be replaced, it has 1Gb of RAM, wifi and number of other bits including the same MALI GPU of the igloo
  • Freescale i.MX53: A single core 1Ghz Cortex-A8 Freescale board 1Gb RAM, SATA, ethernet, with options of LCDs etc

SmartBooks, SmartTops, Terminals: These devices are the equivalent of the x86 netbooks and nettops, all are mostly available now.

  • OLPC XO 1.75: Initially shipping with Fedora 14 but we’ve already got dev images running F-17 and it will be the basis of the June stable release. The first production shipment of this device will be 60,000 units. There’s various SKUs but it’s a 1ghz Marvell processor with either 512Mb/1Gb RAM, 4/8Gb emmc, wifi, and the usual XO features, it should have in excess of 9 hours of battery life.
  • Efika SmartBook: a 800Mhz Cortex-A8 Freescale processor, 512Mb RAM and with all the usual 10 inch Netbook style of features
  • Efika SmartTop: the same specs as the smartbook
  • Toshiba AC100: A dual core Cortex-A9 1ghz processor with 1gb of RAM, and all the usual 10 inch netbook options, very thin and light with great battery life but the device wasn’t widely available but is sought after
  • ASUS eeePad Transformers: These devices are a combination tablet and netbook. Depending on the model they either come with a dual core 1ghz Tegra2 or a quad core Tegra 3 CPU with various specs. They are a tablet with the option of a keyboard dock which makes them into a netbook. With touchscreens, quad core processors, an interesting form factor and an unlocked bootloader they’re an interesting format.
  • HP t5325 thin client: A Marvell 1.2ghz Cortex-A8 512Mb RAM thin client
  • Trimslice: A Tegra 2 based smarttop desktop device with a couple of different modes all with a dual core 1ghz Cortex-A9 processor with 1Gb of RAM, 1Gb ethernet plus a couple of options including dual HDMI, 11n wifi.

Tablets: these aren’t readily available at the moment but should be available this year.

  • OLPC XO 3: Similar specs to the XO-1.75 but in tablet form factor, it will ship the Fedora derived OS all touch based UX it will likely be one of the first production devices using the new gtk3 and XInput 2.2 touch support in Fedora 17
  • Vivaldi: A 7inch tablet running KDE Plasma tablet UX on Mer the HW is a 1ghz single core Cortex-A9 processor with 512Mb of RAM and a MALI GPU it’s not the highest spec device but it should be easy to run Fedora on it

Servers:

  • HP Moonshot: In conjunction with Calxeda this is a quad core processor server with 4GB of RAM with up to 288 servers in a 4U chassis. Includes all the expected server features with things like a fully reconfigurable switch backplane with each device using a mere 5 watts of power.
  • Dell: has announced it’s intention to enter the ARM server market, there’s not much detail as yet
  • Seco Carrier Boards: these are various boards using Tegra processors used in things like the Barcelona Super Computer

Plug Computers: There’s a number of plug computers out there based on the Marvell Sheeva Plug generally a 1ghz ARMv5tel processor with 512Mb RAM. These devices are low power, generally quite cheap and come in a number of different devices.

So I think that gives a reasonable overview of ARM based devices that will be available in the coming months, if not already, that should be easily able to run Fedora on ARM without too many problems. This covers but a few of the available ARM based devices but they are a subset that should be relatively easy to run Fedora on them in the coming releases. ARM processors have a number of interesting advantages hardware wise. Firstly they are generally very low power with a lot of quad core devices needing only 5 watts to run, but some of the other advantages is HW encode/decode support for things like MPEG2/4 out of the box which would enable HD decode without having to ship encumbered codecs in Fedora as well as HW crypto as well.

I’m also sure this isn’t a definitive and there’s a lot of other devices that should be able to run Fedora on ARM without too many problems if someone is prepared to roll up their sleeves and get stuck in.

An alpha ARM full of Beefy Miracle (AKA Fedora 17 on ARM alpha 1)

A day later than I had hoped and probably not perfect but I don’t want to keep the hungry masses from their ARM based Beefy Miracle any longer!

So down below is a pair of minimal root fs for ARM hardfp (ARMv7hl) and softfp (ARMv5tel) but first a few notes about known issues:

  • It’s not for the faint of heart! If you don’t like to roll your sleeves up and get dirty, it’s time to back away and go and buy an iPad. While the ARM team is happy to help out with queries we don’t have the time to walk you though step by step. Google is your friend!
  • SELinux is disabled by default. It should work just find but as it’s a tar file the file system would need to be re-labelled. I suggest you enable it but get your device booting first
  • root password is “fedoraarm” (no quotes)
  • There’s some known annoyances with the kernel. It’s not a major problem, just annoying having BUG messages on the console. We’re working to get a fix for the next kernel
  • There’s 4 kernels installed by default the base “versatile” for qemu, and one each for OMAP (3 and 4), tegra and IMX. Remove which ever one you don’t want once you have a working system.
  • It boots to run level 3. We’re working to get GUI interfaces but we’re not quite there yet, see below for more details
  • A lot of ARM devices don’t have battery backed RTCs so you need to ensure you check your time hasn’t regressed to the 70s 😉 as it will cause havoc with yum amongst other things, ntpdate can assist you with that.

So some quick links to get you started on various devices. First there’s the Fedora ARM SIG Page, it’s a little out of date but a good spot to get started. For boards you can get Trim Slice HOWTO, for the various OMAP boards (Beagle* Panda*) here and for the various plug devices here.

Now on the missing GUI interfaces and “your favourite desktop”. We’re working as quick as we can to get all the mainline packages built. I would ask if you please don’t just go and build random packages in koji. We have scripts handling the build process to ensure it’s built identical to Mainline Fedora so everything works as it should but this takes time. The quickest way to get these appearing for use if for you to fix broken packages in mainline Fedora. If they don’t compile there they certainly won’t on ARM. These breakages block the build process of packages higher up the stack as the needed dependencies aren’t there. Again please just don’t go and compile random packages in koji.

That being said there’s been a LOT of work done by a few people to get us to this point so I do hope you jump in and enjoy the ride 😀

Now for what you really are after:

Fedora ARM F-17 and rawhide status update

or as the saying goes… the mustard indicates progress! Well there certainly has been an a-bun-dance of movement in the Fedora ARM world of late and it’s been way too long since I’ve given an update on the status of the Fedora ARM SIG.

We’re progressing well and there’s a lot of stuff going on. Of course you’re all going to be up be up at 06:00 GMT tomorrow (Wed) to order your Raspberry Pi running Fedora 14… aren’t you! I’m sure those of you that got a voucher for one at FUDCon Blacksburg will be ready and waiting.

In terms of raw package building of rawhide and F-17 branches we’ve been progressing well since we kicked off the mass rebuild shortly after the aforementioned FUDCon. In terms of numbers of a total 11348 packages in F-17 we’ve built 8861 of them giving us around 2487 left to go. Of course that’s not an exact number as there’s a number of x86 only packages and between now and the final beefy F-17 release there will be lots more releases of the packages that will need to be built. We’re already building rawhide to ensure we stay up to speed on that front too! One thing that is slowing us down is having to spend a lot of time fixing broken upstream packages and of course fixing ARM specific issues.

In terms of devices that will be supported for the Fedora 17 release the number will be quite small. The list at the moment will likely be PandaBoard (including ES), all modern BeagleBoards, Trimslice, Efika SmartTop and SmartBook, Raspberry Pi and the OLPC XO 1.75. The last two will be Fedora re-mixes. In most cases of pure Fedora the support will likely be console based or accelerated 2D UX. The device market and associated support is moving pretty quickly at the moment so that could easily change between now and release, this is very much a moving target. It’s also not to say that Fedora 17 won’t run on all devices, it’s just that Your Mileage May Vary and it depends a lot on the state of the mainline kernel support.

So what else are we working on? We’ve been doing a lot of planning in preparation for the Proposal to primary arch. We’ve also been working with various tools teams like Anaconda to get some features for building images. In this regard we also need to work with the appliance-tools and livecd-tools teams to see what can be done to allow them to support image creation. It would be cool to be able to use the appliance tools to create an qemu image that can be directly reported into libvirtd and virt-manager (hint hint 😉 ). I’m also slowly starting to investigate what’s needed to support DeviceTree so we can build less kernels and support more devices but I’m not sure it’s all quite there yet.

So what can you do to help? The most simple and best thing is to ensure your package has been built properly for mainline as part of the mass rebuild, or if we file a RHBZ bug with ARM issues to fix it or assist us in fixing it quickly. Most people have been fabulous with quick fixes and attention on bugs. Lastly we should have some minimal rootfs files available soon for F-17 😉

In summary we’ve got nearly nine thousand individual packages already built for ARM supporting both ARMv7 and ARMv5tel architectures. For our Fedora 17 release will be on a reasonable number of innovative and interesting devices. We’re aiming to release as close as is humanly possible to the Mainline Fedora release. Users should be able to run anything they would on similar x86 devices. We’re running and fast catching up 😀

Fedora 17 and rawhide build failures from the mass rebuild

I would like to remind people to check if their package is in the failure list for packages that have failed to compile since the Fedora GCC 4.7 mass rebuild. There’s still well over 550 packages that have failed to build! I’ve fixed well over 50 of them myself as they packages were holding up the Fedora 17 ARM building but frankly I’m getting somewhat sick of fixing things that the package maintainers should be actively dealing with. So check the failure list and if a package is yours or you can fix it please do so 🙂