What follows is my personal experince in installing GNU/Linux on a HTC Universal pocketpc. I used Titchy Linux, a Debian Lenny based distribution with special drivers/config for HTC Universal. But the heart is Debian, and full support to Debian repois is grated.
Actually the only not working hardware is:
-wifi sometimes works, sometimes doesn’t, the driver is unstable.
First of all, I splitted a 1Gb SD memory stick into two partitions: the first with 32Mb of size and FAT32 filesystem, the second an ext2 filesystem in all the remaining space. In this way, I can port all my config in another HTC (launcher and Linux installation) and show the magic of Linux to all of my Universal-friends. If you need some shared data on memory card, between Windows Mobile and Linux, simply make the FAT32 partition bigger and use it for storing these data.
I followed the steps in Titchy wiki for Universal installation and I copied haret.exe, zImage and startup.txt in the FAT32 memory stick partition. After 30 minutes, thanks to Titchy image, my HTC Universal booted with Linux. Included in the image a very nice sms /calling graphical interface, access to it pressing the green phone key. That’s all, have fun!
For alternative install (no xfce file manager, encripted home partition and lot of tricks) there is another great resource, with lot of useful post-configurations. Be sure to read the Titchy wiki for UMTS and Bluetooth access to the Internet.
RAM CONSIDERATION: The HTC Universal has only 64 Mb of ram, and the base system, with
textual console, uses 12 Mb of it. XFCE installed by Titchy is nice, but the ram
consumption arrive to 40 Mb and the system responsivity is very bad.
With IceVM, instead, the totat used ram is 24 Mb and the system
responsivity is still good.
And now, general tip’s tricks.
NETWORK VIA USB
For software and drivers update, i need to connect HTC to my pc via
USB, and from my pc to the Internet. Obviusly, in the Titchy wiki,
there is the solution:
Check for this lines in /etc/network/interfaces file on pocketpc:
iface usb0 inet static
post-up echo nameserver 192.168.0.1 > /etc/resolv.conf
And run these commands in your pc:
ifconfig usb0 192.168.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
If you prefer to have a working internet connection as soon as you plug
the Univesal USB cable into pc, just add these lines in your /etc/network/interfaces file, for Debian and Ubuntu derived distro (full disclosure here):
iface usb0 inet static
echo 1 > /proc/sys/net/ipv4/ip_forward; iptables -D FORWARD -j
ACCEPT; iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
(pay attention to network address and interface name, 192.168.0.x and eth0 in the example)
SSH REMOTE ACCESS TO HTC UNIVERSAL
Install ssh server and client metapackage with apt-get install ssh
UPDATE SYSTEM TIME/DATE
apt-get install ntpdate
edit /etc/default/ntpdate and set to NO the value of NTPDATE_USE_NTP_CONF
ICEWM INSTALLATION AND GRAPHICAL ISSUES
Titchy Linux use xdm and root access to the graphic environment. The first only consumes ram, and the second is a very bab security practice.
For first issue, change the runlevel to 2 for a normal text startup, editing the /etc/inittab file and setting 2 as default runlevel. For second issue i must create another user in the system and set xwindows to correctly start with this new user:
echo “sudo /etc/X11/X” > /usr/bin/X
chmod 755 /usr/bin/X
If you obtain a similar error message: error /etc/X11/xinit/xserverrc: line 5: exec: /usr/bin/X11/X: cannot execute: No such file or directory, the solution is here:
ln -s /etc/X11/X /usr/bin/X11/X
icewm is a light and simple windows managar and, at least for me, is a better choice for the limited resource of HTC Universal. Install it with apt-get install icewm icewm-gnome-support icewm-theme.
if you need to recalibrate the screen, first delete a file with rm /etc/ts.conf and the run ts_calibrate.
Icehamster installation (a light web browser based on Mozilla Minimo).
Base office software: apt-get install abiword gnumeric xpdf claws-mail sylpheed mousepad
Compact/decompat utiliies: apt-get install grun zip unzip bzip2 arj
Misc useful things: apt-get install sudo gsudo
And, finally, a big thanks to Fabio for the HTC ;)