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 !

Author: Leo Gaggl

ict business owner specialising in mobile learning systems. interests: sustainability, internet of things, ict for development, open innovation, agriculture

26 thoughts on “Installing Ubuntu: Extending the HP Touchpad”

  1. An important thing to note too is that if you have a 16gb touchpad, is that you need to take the partition sizes down otherwise the webOS Doctor will fail at 12%. I took mine down to 4gb a piece.

  2. You probably want to get rid of the / before the build directory.

    “cd /build/touchpad-p302hstnh-wifi-3.0.2/”

  3. had no trouble getting ubuntu installed on my HP touchpad, although I used a different guide, the steps are the same. I installed the xfce4 GUI which caused issues with the keyboard. I lost the p. I’m installing lxde as suggested in this guide. Hope it works better. The whole process took less that 2 hours. 2gb partitions worked fine on the 16gb model. If you need to wipe your ext3fs directory to start over just use rm -r on the sub directories. Have fun.

  4. Hi! Great article! I’ll give it a later today.

    Is there a fool-proof way to reset the touchpad, no matter, what went wrong? Maybe even if I use an option, that will replace webOS, like Android?

  5. Answered my own question: I hadn’t been able to git clone into grab the webos file because i was behind a firewall.

    New Issue:
    I have everything completed and Xecutah, XServer, XTerm and Chroot Ubuntu installed, but when I try to run Ubuntu from within Xecutah I get this error:

    Service Error (execute):
    Unable to run command: /sbin/initctl start org.webosinternals.ubuntu-natty-chroot 2>&1

    initctl: (01972/590219916_ Unknown job) org.webosinternals.ubuntu-natty-chroot

    Any ideas?

  6. @Chris: I had the same problem twice in a row. Using a different form of emulation and being a newbie to the tablet scene turned these simple instructions into a four-day software nightmare. In my case, the problem was failing to mount the ext3fs partition correctly. Rerun your configured WebOSDoctor and then give novaterm another shot. If your touchpad is connected to your Ubuntu OS via USB (not in filesharing mode, simply connected and running with Developer Mode on), then novaterm should allow you to access your touchpad’s partitions and mount them as written above. If you notice any deviation from the instructions, something’s wrong.

    Hope I haven’t led you astray.

  7. Went smooth for me, Some hints: I did all the steps on Ubuntu 10.10 32 bit.
    1. Between :
    cd build/touchpad-p302hstnh-wifi-3.0.2/
    I reboot ubuntu here
    java -jar webosdoctorp302hstnhwifi-3.0.2.jar
    2. Make sure when you create Ubuntu partition you are in development mode
    3. After last step just click the Xecutah icon in applications tab and then press the 3 options from top to bottom. Give time to each few seconds.

  8. “If you have a 16GB Touchpad make sure you reduce “VAR_PARTITION_SIZE” and “EXT3FS_PARTITION_SIZE” to fit with the smaller RAM size”

    All TouchPads have 1GB of RAM. I think you’re confusing RAM with disk space.

  9. I am using Ubuntu 11.04 to complete this process. Once I get to creating the “Creating Ubuntu Partition” step, I get an error when entering “mount -a”. Terminal shows, “root@AndrewsHPTouchPad:/# mount -a
    mount: mounting /dev/mapper/store-ext3fs on /media/ext3fs failed: No such file or directory”.

  10. It appears that /dev/mapper/store-ext3fs does not exist on the touchpad file system using novaterm to ls the /dev/mapper folder. What part of the process creates the /store-ext3fs folder?

  11. I did the steps from the following website for the partitioning (Alternative Step 1: Re-partitioning by hand) except reboot.

    http://www.webos-internals.org/wiki/UbuntuChroot#Instructions

    connect with novaterm
    get rid of cryptofs process pkill -SIGUSR1 cryptofs
    umount /media/internal
    resizefat /dev/mapper/store-media 4G – I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.
    lvresize -L 4G /dev/mapper/store-media
    now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises pkill -SIGUSR2 cryptofs here.
    lvcreate -l 100%FREE -n ext3fs store
    mkfs.ext3 /dev/mapper/store-ext3fs
    mount -o remount,rw /
    echo “/dev/mapper/store-ext3fs /media/ext3fs auto noatime 0 0” >> /etc/fstab
    mkdir /media/ext3fs
    mount -o remount,ro /
    mount -a or reboot

    I got some sort of warning (as follows) while running the command resizefat and I just realized that i have 32 GB wifi only model and terminated the novaterm session without it successfully being executed. I reconnected and rerun the command with 16G parameter as I wanted 16Gb for ubuntu, same error occurred and this time I let it finish, I then followed the above steps till mkfs.ext3 /dev/mapper/store-ext3fs . I got error while it was showing me “updating the catalog entries” text and I was shown unexpected EOF and my novaterm was terminated. I connected again and tried that command again but same thing happened. I then followed rest of the steps except rebooting my device. installed ubuntu chroot and tried running but nothing happens. My device is working fine as of now as I haven’t rebooted it yet and I am now little concerned about the file system. What should I do to recover the partition or make sure my file system is fine. As now I want to do it with meta-doctor.

    root@FBAHPTouchPad:/# resizefat /dev/mapper/store-media 4G
    resizefat /dev/mapper/store-media 4G
    dosfsck 2.11, 12 Mar 2005, FAT32, LFN
    There are differences between boot sector and its backup.
    Differences: (offset:original/backup)
    71:48/20, 72:50/20, 74:54/20, 75:4f/20, 76:55/20, 77:43/20, 78:48/20
    , 79:50/20, 80:41/20, 81:44/20
    Not automatically fixing this.
    ^CTerminate batch job (Y/N)? Y

    I am done with all the steps posted above before “java -jar webosdoctorp302hstnhwifi-3.0.2.jar”

    ONE THING I noticed is that the meta doctor version I have does not have following two options in the make file
    AUTO_INSTALL_PREWARE = 1
    ENABLE_BETA_FEEDS = 1 instead there is a option of testing feeds.

    I dont want to proceed further unless I recover the partition space I created earlier and explained above. Also I was wondering what if I reset my hp touch pad (Full erase) will it recover the partition I created additionally and will it go back to factory default settings/partitions?

    Waiting for some help here. thanks in advance

  12. I would like to add a reminder: Use “git pull” in the folder/directory within which you originally used the “git clone” command, if you ever decide to re-do your Doctor. The “git pull” command will update the files in the meta-doctor. You will most likely have to delete your altered Makefile to successfully perfom the “git pull”. Cheers!

  13. @Andrew: My best guess would be to check that you have got the partition sizes right in the MetaDoctor compile. You might have exceeded the available storage space.

  14. What is the difference of having Ubuntu on webOS vs. running xterm on webOS? I know that you can install Ubuntu apps with the Ubuntu partition, but what apps are there that you cannot already get for webOS, either in preware or the general app catalog? I’m already able to get OpenSSH and a bunch of other apps running from webOS.
    Can someone clue me in to what I’m missing if I don’t install Ubuntu? Also, we all know webOS is a linux base so why partition off space for another linux distro? It just seems unnecessary to me.

  15. On Ubuntu you have every Linux Application that you can install on Ubuntu available (including Apache and other server daemons). But if you are happy with what you have on webOS there is really no point in installing Ubuntu as well.

    The reason for the separate partition as far as I can see is basically so you have the best of both worlds. You are running Ubuntu on top of WebOS. I am sure there will be some boot-loaders that will replace WebOS (I am looking at the Android Cyanogen Mod at the moment – just need to find some time).

Leave a Reply