13 Apr 2009 09:59
TAGS: arm easter familiar gentoo gentoo@ipaq hobby ipaq portage
Holidays is a time you can do more things you like and less things you are obliged to do.
In Poland it's now second Easter day and fifth day with no classes. Beside eating food and meeting my family I decided to make one big thing during this time.
I managed to run Gentoo on my Compaq iPAQ palmtop computer. First I installed Familiar Linux on it, then I created a chroot on CF card I plugged into it. I used a stage3 image of ARM Gentoo from 2007 year, which seems quite outdated (including non-working version of portage). I had to upgrade the portage tree to a snapshot from 2008.0 version, to start the fun. Then it turned out, that the stage3 does not contain C++ compiler (g++), so I tried installing it with portage (emerge gcc), but with no success (because it needed C++ compiler to build one of its dependencies). I have built it myself (from previously downloaded GCC sources). After a few hours (more like 10) I had working C and C++ compilers there. It was time to start the fun.
I decided to update portage tools (emerge and company) first, but no luck, some blocking package in updating Python. So I decided to update Python first. More problems arrived. tar.lzma archives was not recognized by portage and not unpacked. Having lzma tools installed I don't know what the problem with this is. Probably portage support for tar.lzma archives was added in later version of portage (and I'm upgrading portage, right?). But this was not a big deal for me. I manually unlzma-ed them to pure tars, reedited ebuilds, regenerate digests and things work. So I feel, I can finally update Python, then Portage, then update as much as I can and then try (with fingers crossed) to update portage tree to the current (2009 one). This long way would bring me to having the newest possible software installable on my old iPAQ running 2.4 kernel.
Next step would be creating ipkg-package builders for the software and maybe releasing a new version of Familiar for iPAQ 36**-38**.
So you may ask do I really need Gentoo for this? Gentoo really simplifies compiling things. I bet this is good way to do things in an optimal way.
Do I need to run Gentoo ON iPAQ (and not cross-compile things). Crosscompiling things for 2.4 kernel is a pain from my experience, you need many old tools for this. So native-compilation is better in this case.
But do I need to run old 2.4 kernel instead of new and shiny 2.6 one? I had problems with 2.6. The 2.4 kernel that was shipped with Familiar 0.8.3 Linux was the one that REALLY worked with all hardware I have now in my iPAQ including
- the iPAQ itself (featuring 64 MB RAM, 64 MB Flash Memory, 200 MHz CPU, backlit LCD display, audio
- SD memory card (1GB one)
- CF expansion sleeve
- CF 4GB card
- CF WLAN card (one of not-now-available Socket cards) — this one was tricky — I needed a firmware and some prying for this to get it work
At least one of the things in list above was not working with 2.6 kernels I tried (with hh-patches and more recent ones with no patches).
So, wish me luck, as this is certainly going to work out and you can expect a new working Familiar-Gentoo distribution for your old iPAQs in a few weeks probably (when all of these packages compiles).
What to do next? I plan to grab latest Qt and Webkit, build them for the iPAQ and prepare a cool browser (with overview-zoom) for Linux handhelds (and this won't be limited to my iPAQ).
Other that this geeky-Gentoo-ARM-hendheld-iPAQ-ish stuff I spent my Easter free time on playing Frets on Fire, UT2004, testing db4o and writing this blog post (all these with one eye looking at iPAQ compiling packages). So pretty productive holidays I guess.