I have a new project now. It’s called Gentoo for Pandora. It’s pretty easy to figure out what it’s all about, but I’ll summarize for those who don’t know:
Gentoo is a distributon of Linux, and it features a very flexible, very powerful package system called portage (though some would say otherwise). Gentoo’s recommended installation media doesn’t actually install anything for you, either. The entire system is all about customizing everything to your needs, which means you can leave out extra junk you know you’ll never use. Gentoo also practices “rolling updates”, which means there’s no “Gentoo v1” or “Gentoo v2”. There’s just “Gentoo”, and whether or not you’re behind is determined by whether or not you’ve updated recently. This means that you’re always up-to-date, and never have to do a time-consuming upgrade that Ubuntu requires every six months.
Now, there are problems with using Gentoo on a handheld. First of all, installing from source requires a ton of power. The Pandora has a 900MHz processor. A 1.8GHz processor is as low as I’d go for Gentoo. Also, the Pandora has 256MB of RAM. Compiling likes RAM. Also, and lastly, compiling inherintly comes with a ton of random writes to the hard-disk, or, in the case of the Pandora, the SD card. There is wear-leveling, and the card does take a ton of writes before any part dies, who wants to bet 16GB of data that the SD card will hold up after the nth package? Plus, did I mention the Pandora uses a not-so-commonly-used ARM processor?
So, because the entire platform is different, from memory to graphics processor, it really requires a whole extra layer on top of the Gentoo foundation to provide additional support. So far, we’ve been able to take a blank partition (or chrooted environment) and turn it into an ARM-compatible minimal installation of Gentoo. Testing is underway on BeagleBoards (the one I have was donated: thanks!!).
Actually, the truth is, so far we have been unable to actually test Gentoo on the BeagleBoard due to relatively minor blocks. “viridior” (as he’s known on FreeNode) has been unsuccessful in getting his BeagleBoard networked via USB to his Windows computer, and I’m currently missing a rather important cable necessary to instruct my infant board in its first steps. Rest assured: we’re both working towards some resolutions, such as going out first thing tomorrow to buy that cable, or finally deciding to use Linux for real rather than Windows (*cough* for extra emphasis on that *cough* point).