Installing Ubuntu: Extending the HP Touchpad

As one of those who grabbed a HP Touchpad at the recent firesale (after announcing the killing of the product line) I did it as in full knowledge that this device in it’s current form is of limited use and (highly) unlikely to have lots of additional applications created for it.

After casually using it for a few nights of use I am personally not surprised that HP decided to ditch this product. Compared to the current Tablet leaders the Touchpad is miles behind both Android and iOS and HP would have had to spend  serious money to even get close to the current functionality of the competition. And you can take a bet that both of these will not remain static. I was actually hoping that WebOS can be a serious competitor to the current duopoly, but after using this thing I have to say that it is not even close.

However I still think the AUD149 I spent for the 32GB model are actually well spent. Since WebOS has always been a very open platform built on a Linux base I knew it would not be a major effort to run other Open Source OS’s on this device. There is already a whole bunch of people working on a full Android port (see TouchDroid and XDA Devs).

But since I already have an Android Tab (Samsung Galaxy Tab 7”) I am more interested in other alternatives at this stage. As a current Ubuntu user I started looking around and after comparing some of the existing efforts found that the guys at Preware (WebOS Internals) have already done an excellent job in getting Ubuntu to run on top of WebOS, rather than replacing WebOS entirely. Which at the current stage of this seems to most reasonable choice.

ubuntu on touchpad

The installation was a very smooth process from an existing Ubuntu machine (Windows users might find it a little more challenging).

I have documented the process in case it’s useful for others. This assumes a WIFI only 32 GB Touchpad as sold in Australia. Detailed instructions for all devices (such as other WebOS phones) are avaialble on the WebOS Internals Wiki. Hat-tip to these guys for the excellent work.

Install Preware

  1. Set Device into Developer Mode: just type “webos20090606” into the ‘Just Type’ box on the home screen (once you have installed Preware you can install a patch to permanently un-hide the Developer Mode icon).
  2. Check that you have Java JRE installed
  3. Download latest version of Preware WebOS Quickinstall
  4. Connect the Touchpad to your computer with the USB cable, and select “Just Charge” (do not select USB Drive)
  5. Run WebOS Quick Install JAR. WebOS Quick Install will download and install the Novacom Driver for you if not yet installed.
  6. Click the globe icon (third button on the right)
  7. Search for Preware (in the Applications tab) and install

Apart from Preware itself I also installed OpenSSH and a few other useful packages from the WebOS Internals Homebrew Apps

Install MetaDoctor

Again the instructions here are for the Wifi Touchpad 32GB – check http://www.webos-internals.org/wiki/Application:MetaDoctor for details on other variants. The current version of MetaDoctor can be found here.

Pre-requisites: check if git is installed (apt-get install git)

git clone git://git.webos-internals.org/tools/meta-doctor.git
cd meta-doctor
mkdir downloads
cd downloads
wget http://palm.cdnetworks.net/rom/touchpad/p302r0d08012011/wifip302rod/webosdoctorp302hstnhwifi.jar
mv webosdoctorp302hstnhwifi.jar webosdoctorp302hstnhwifi-3.0.2.jar
cd ..
vim MAKEFILE
---------------------------------------
Uncomment:
ENABLE_DEVELOPER_MODE = 1
AUTO_INSTALL_PREWARE  = 1
ENABLE_TESTING_FEEDS  = 1
VAR_PARTITION_SIZE    = 8GB
SWAP_PARTITION_SIZE   = 512MB
EXT3FS_PARTITION_SIZE = 8GB

Changes:
DEVICE = touchpad
CARRIER = wifi
---------------------------------------
make all

The compile process takes a few minutes – COFFEETIME !!!

Edit: If you have a 16GB Touchpad make sure you reduce “VAR_PARTITION_SIZE” and “EXT3FS_PARTITION_SIZE” to fit with the smaller Flash Memory size (thanks to @Dan & @bob for comments)

cd build/touchpad-p302hstnh-wifi-3.0.2/
java -jar webosdoctorp302hstnhwifi-3.0.2.jar

For those who just want to run the MetaDoctor install without compiling it as described below I have made the JAR file available for download. As always with these things – use at your own risk. EDIT: Removed JAR due to licensing issue. You will HAVE to compile yourself.

Create Ubuntu partition

After the reboot when finishing the MetaDoctor install just run novaterm with the USB cable connected and mount the ext3fs partition

mount -o remount,rw /
mkdir -p /media/ext3fs
echo "/dev/mapper/store-ext3fs /media/ext3fs ext3   noatime,data=writeback   0   0" >> /etc/fstab
mount -a

Install Ubuntu

On the Touchpad run the Preware App and install the following

  • Xecutah
  • XServer
  • Ubuntu 11.04 Chroot

Start Xecutah and run (in the order listed)

  1. XServer
  2. Xterm
  3. Ubuntu Chroot

You will have a Ubuntu commandline prompt and can use apt-get from here on to install any ubuntu app (provided there is an ARM port for it).

apt-get install lxde
startlxde

TIPS: if your keyboard covers some of the X Window keep the keyboard icon on the soft-keys pressed and choose the XS size.

Enjoy !