Slimmed Down Fedora 10 on XO (was Fedora 10 on XO)

Erik Garrison erik at laptop.org
Tue Dec 16 12:27:45 EST 2008


On Mon, Dec 15, 2008 at 04:42:48PM -0500, Greg Smith wrote:
> Hi All,
> 
> Thanks for all the feedback on my questions about what it would take to
> run a slimmed down Fedora 10 on the XO NAND. 
> https://www.redhat.com/archives/fedora-olpc-list/2008-December/msg00022.html
> 
> To reiterate, the goal is one distribution with two Desktop Environments 
> (Sugar and one "standard" one).

What of the case where all the functionality of Sugar can be replicated
using a properly-configured standard desktop environment?  (Strawman
this sentence may be, but I think we should be open to this option
moving forward.)

> I think the main work now is to pick the minimal package list that we 
> need and will fit on the XO NAND.

This is *the* work of making builds.

> Can anyone get a slimmed down Fedora 10 with window manager running on 
> an XO?

Yes.  I have a build tool which does so.  See:

    http://dev.laptop.org/git?p=users/erik/rpmxo;a=summary

or just:

    git clone git://dev.laptop.org/users/erik/rpmxo

The build tool depends on the current development version of rinse, a
rpm bootstrapping utility.  For our testing purposes I have included a
copy of the rinse mercurial repository in that git tree
(http://rinse.repository.steve.org.uk/).

Then install rinse by following the instructions in the
rinse.repository.steve.org.uk directory in the rpmxo repo created by the
above git command.  You will need perl, rpm, and wget (note the
dependencies listed at http://packages.ubuntu.com/intrepid/rinse).
Rinse manages a variety of common issues encountered when build and
re-building images, such as caching rpms, bootstrapping yum, and running
post-install scripts.  It does so in a relatively platform-independent
manner.  The author and I have been working together to update the
system for Fedora 10 and to increase its configurability.  (Please note
that I have submitted changes to the author's repo which may not yet be
reflected in a fresh clone, this is why I have temporarily added the
repository to the rpmxo git tree.)

To run the build script do:

    sudo ./initchroot.sh

 ... in the rpmxo git repository directory yielded by the git clone
command above.

By default this will make f10.root.  Then generate an image to flash
onto an unsecured laptop by using:

    sudo ./mkjffs2.sh fc10.root fc10.img

This will create the .crc and .img files which are required for OFW to
flash the image onto the laptop.  Putting these on a USB key and typing:

    copy-nand u:\fc10.img

 ... at the OFW prompt on an XO will flash the system onto the internal
NAND.  Rebooting should yield a prompt 

This procedure is still in alpha.  Interested parties should test and
immediately inform me of any issues encountered.


> The hard part will come when we need to pick the bare minimum set of 
> functionality. I especially want to know what additional 
> libraries/RPMs/features we need to install beyond what we alrady have in 
>   XO 8.2.0.

I have been quite frustrated with the Fedora toolset in this regard.
Getting a bare minimum of functionality is not something which these
tools are typically used to do.  The experience of building a Fedora
system from 'scratch' contrasts starkly with what we find in Debian,
where debootstrapping is a common development pattern which is
well-supported by the community.

It can be done, and I am going to seek as much help from the Fedora
community in doing so as possible.  It just isn't easy and I have felt
like there are a lot of problems in using Fedora in this fashion which
will have to be resolved to make it easy for deployments to use such a
build script.

(I sincerely hope someone flames me here as any attention to this issue
is good attention.)

Erik



More information about the Devel mailing list