As I mentioned before, one thing that I've been spending some time on is getting a “stock” Fedora to run on the OLPC XO hardware. Obviously there's not a CD drive, but there is a USB port and there is also an SD card slot. Which given the support in our live images for running off of such things, there seemed to be a bit of an obvious matchup.
There's just one (large-ish) problem. The XO is a Geode, so an i586 processor with cmov. So the stock i686 kernel on the live images definitely doesn't boot there. Unfortunately, neither does the i586 kernel. I'm working on tracking down what the relevant configuration difference is so that it can be fixed — interestingly enough, if you don't load an initrd, a Fedora i586 kernel can boot fine. So there's definitely something a little odd going on. If you have experience in debugging early boot of an XO and have any tips, leave a comment or catch me on IRC or send me mail 🙂
So, instead I've done a modified version of the main OLPC kernel with the help of sdziallas that includes squashfs and also turns on things like dm-snapshot which we need for live images.
That plus a pretty straight-forward image config and we can build a live image that boots into the GNOME desktop on the XO off of either an SD card or a USB stick. There are definitely still things to be fixed, though. To try to help some of that, I've created a tracking bug that can be used by those who have an XO and try running a Fedora live image on it.
Do you have an XO and are interested in trying it out? If so, first be sure that you have a developer key for your system. Then, you can download an image based on today's rawhide (debranded) from here. I've basically tested that it boots, logs in to the desktop and associates to my access point. Then gpk-update-icon fires up and we run out of memory for things. If you kill it quick enough, then you can fire up firefox and slowly do a little bit of other stuff.
Some things that are continuing to be worked on:
- Having somewhere to swap would help a lot
- Using the SD card/USB stick for your persistence instead of eating up valuable RAM
- Persistent /home on the internal NAND (jffs2)
- Looking at high memory usage things and helping to make them better
- Fixing the standard kernel so that we can boot it on the XO
- And if we do the last one then we can boot the standard live images, any of them, on the XO
Any help appreciated! Any bugs you find, please be sure to make them block the tracker so that we can keep up with them accordingly.
As for the questions about what the end goal is here — ultimately, I'd like to have any Fedora spin working on the XO just like it works on lots of other hardware. For Fedora 10, this may be a stretch (although I'm going to land any small changes that can be identified in that timeframe even though it's not a feature and we're at feature/beta freeze). But for Fedora 11, it should certainly be doable.