XS Porting to ARM

From OLPC
Revision as of 06:41, 21 February 2012 by Tinker (talk | contribs) (added info on current state of F15)
Jump to navigation Jump to search

OLPC-SF Project
R. Howard

Goal is to create an XS that runs on low power consumption system.
Chosen test target is an OpenRd Client with a low power consumption 2.5 " internal SATA drive. Uses approximately 5 watts.
OpenRD client uses Marvell Kirkwood SOC.

Hardware received middle of July 2009. Waiting for Fedora 11 ARM port and drivers to be ready for device before starting on XS work.
Needed bits have not been added to Kernel so full functionality of board is not available.

October 2010 - finally the Kernel patches have landed in linux-next. Git cloned kernel next 2.6.36 rc? and built it and some modules.
Proceeded to setup RFS using Fedora 11 for ARM (arm5tel).
Fedora F11 for ARM is missing major components required by the XS.
Fedora ARM project is currently porting Fedora 13 to ARM (arm5tel). I pointed out that the XS required certain components and those are in the build list.

Mid February 2011 - Fedora 13 for ARM is not ready for release.

Summer 2011 - Fedora 13 for ARM is now usable
Plan going forward is use Fedora 13 for ARM then when Fedora 14 is usable switch to it ( or maybe even Fedora 15).
According to Martin L. all his patches for Ejabberd are upstreamed and in Fedora 13.
Have ejabberd on system and need to try some tests with XOs
Problem with Bios-Crypto failing to build...removed the intel specific -m32 flag from an experimental version of the makefile.
Starts to build but fails near end with a few errors which are arm gcc specific errors due to a problem with handling static linking failing to find libgcc.a Workaround is to explicitly link the libgcc_s.so. Supposedly a fix is in the works for gcc tools for static linking of libgcc.a .
Plan going forward is to try to get individual components running on system and then integrate. Using http://wiki.laptop.org/go/User:Martinlanghoff/XS_0.7-F14-rebuild as a guide to what is needed

End of August 2011 - gcc has been patched to fix the static linking problem upstream in Fedora 14 for arm5tel.
Attempted to boot using an alpha of F!4 RFS but boot failed. According to Fedora arm developers a lot of churn is going on in the F!4 build system and a working amr5tel RFS will not be available until maybe mid September 2011. Moved back to F13.

Thinking of creating RPMs for arm5tel that will pull everything in and modify scripts when run.
Future goal would be arm7l

Feb 2012 - Had to take a several months hiatus from working on this for various reasons.

F14 was never officially released and F15 is still being built.  To help the F15 effort I made my ARM build machine part of the ARM Moji farm to help bootstrap F15.

Now getting ready to work on ARM XS again.

Feb 20, 2012 Erlang and ejabberd packages were missing from F15 for arm. This weekend I managed to catch 'juhp' on #fedora-arm and he kicked off builds for both erlang and ejabberd. Plan of action is to complete the move of my OpenRd Client to F15 arm5tel. Get erlang and ejabberd installed and working as a baseline. Then grab the src rpm for ejabberd and Daniel's patch for XS .7 and recompile it and test. Puppet is currently not available because it relies on a low level X86 library. The library is being ported to ARM instruction set so eventually Puppet should be available.