You have your Touchpad in hand and are feeling adventurous, where do you go from here? Into the wide world of Linux of course! In this tutorial I walk you through how to install Ubuntu on your HP Touchpad so that it can run along side the existing WebOS operating system. We will be creating what is called a “chroot” environment for Ubuntu to run in. This tutorial is not for the faint of heart. We will be compiling things from source code and working with command line statements. If you can follow instructions, you should be fine. Questions can also be asked in the comments section, and I will do my best to answer them.
Before We Begin
It should be noted that the things we will be doing will clear out a lot of settings on your device. If you have any care for wanting to back things up, like your saved game in Angry Birds, we will need to do some extra prep work. Your documents and pictures that are save into the main media store aren’t touched (think the files you see when you plug the Touchpad into your computer and view it like a flash drive), so you needn’t worry about them. This section assumes that you have Preware installed. If you do not, a guide on how to do that can be found here.
Applications that you install from the HP App Catalog are backed up every 24 hours and will be reinstalled after everything is done, but applications that are installed by Preware are not so lucky. In order to backup our list of installed programs in Preware we will need to download an app called “Save/Restore.” Once the app is installed and while you are still in Preware, in the top left, open the menu and tap “Saved Package List,” then tap update. This will update the list with what packages you currently have installed. After that, launch “Save/Restore,” select “Save Application Data.” You can then select which applications you want to back up data for.
Now that we have all of our important data backed up, we are able to proceed to the next step.
Step 1: Setting Up The Build Environment
All of the steps that we need to do must be done in Linux. CYGWIN will not work, for those that know what it is, and neither will a VM as we have to connect the Touchpad to the Linux machine (USB pass-through may allow you to use a VM, but it is untested). This can cause some trouble for people that strictly use Windows. Luckily there is an easy solution for installing a copy of Ubuntu on your PC, just like you would install an application. When you’re done, you can uninstall it like a program and have no trace left. It is also a good way to familiarize yourself with the Linux operating system if you’re curious. You will need to download a program called wubi, it can be found here.
Once you are booted into Linux you will need to open a web browser and download the latest version of Java from their site. After Java is installed, open a terminal from the ( Applications > Accessories ) menu. Inside the terminal, type:
sudo apt-get update
sudo apt-get install git
From the terminal run:
git clone git://git.webos-internals.org/tools/meta-doctor.git
We are now ready to get the file that we will need to edit to make our Ubuntu partition. From the terminal run:
mv webosdoctorp302hstnhwifi.jar webosdoctorp302hstnhwifi-3.0.2.jar
Leave the terminal open as we will be coming back to it in the next step.
Step 2: Configuring Meta-Doctor
We now need to edit the Makefile in the meta-doctor directory. Open the file with a text editor and uncomment the following lines:
ENABLE_DEVELOPER_MODE = 1
AUTO_INSTALL_PREWARE = 1
ENABLE_BETA_FEEDS = 1
VAR_PARTITION_SIZE = 2GB
Uncomment and change the following line:
EXT3FS_PARTITION_SIZE = 8GB
*Note* this is for a 32GB model Touchpad, if you have a 16GB model, you may want to lower the partition size to 4GB to save space. This is the partition that Ubuntu will save all of it’s files to.
To make things easy for us, change the following lines:
DEVICE = touchpad
CARRIER = wifi
*Optional* You can comment out the section about the CUSTOM_BOOTLOGO if you want to keep the standard HP boot logo, otherwise it will change it to a image of Tux the penguin.
Save the Makefile and switch back over to the terminal that we left open. Run the following command:
Go get a coffee as it will take a while for it to finish building the file.
Step 3: Running Meta-Doctor
Now that we have our jar file created we can get down to business. Run:
At this point you should plug the Touchpad into your machine, but don’t put the Touchpad into USB Drive mode. Then run the following:
java -jar webosdoctorp302hstnhwifi-3.0.2.jar
This will run the webOS Doctor program. Follow the on screen prompts until it starts flashing your Touchpad. This will also take a while to run, so you can have a bathroom break after drinking all that coffee.
Step 4: Installing Ubuntu
When it finishes, the device will reboot and go through the first time setup procedure. Enter in all of your information like you did the first time. Make sure the Touchpad is plugged into the computer and type the following in the terminal:
mount -o remount,rw /
mkdir -p /media/ext3fs
echo "/dev/mapper/store-ext3fs /media/ext3fs ext3 noatime,data=writeback 0 0" >> /etc/fstab
We have now set the Ubuntu partition to mount at boot time. We are now ready to install the program from Preware.
*Note* If you backed up your files in the beginning of the guide, now is the time to go through the restoration process. Open Preware and install “Save/Restore.” Run the app and select to restore Preware’s settings. A device restart is required after you restore the settings. Once the device restarts open Preware and tap the menu in the top left and select “Saved Package List.” You can then select install all and it should reinstall all of your Preware apps. After the apps are reinstalled you can use “Save/Restore” to restore the settings for the individual apps, provided you backed them up.
Continuing on, launch Preware and install “Xecutah,” it will also install “XTerm” and “XServer.” You can then install “Ubuntu 11.04 Chroot” from Preware. After that finishes, launch Xecutah.
You will then select “Start XServer,” this will open a new card with the X session, you will need to flip back to Xecutah and then run “Start Ubuntu 11.04 Chroot.” This will start the command line Ubuntu session in the X session that you already have open.
*Tip* You will want to change the size of the on screen keyboard to XS so it doesn’t cover up part of the X session. You can do this by holding down the keyboard icon on the bottom right of the on screen keyboard and then selecting XS. If you have a bluetooth keyboard and have no need for the on screen one, the app “Tweaks” in Preware can disable the keyboard when you run an X session.
Step 5: Wrapping It All Up
So where do we go from here? You can install a window manager to make the experience more enjoyable. I recommend using LXDE, as it’s light enough to run on the Touchpad without any issues. Some other alternatives are icewm and Xfce. Technically you could run a full blown desktop environment like KDE or GNOME, but they’re a bit too resource intensive to be practical. If you want to run LXDE, run the following command on your Touchpad:
apt-get install lxde
Once it is installed, you can start the session by running:
Congratulations, you now have a fully functioning version of Ubuntu on your Touchpad. You can install any application that you can install on Ubuntu, assuming there is an ARM port of it. The potential is unlimited.
LXDE comes with Chromium installed and users have reported that Firefox, and the Flash plugin for those web browsers, appear to work as well. Other apps reported to work include the LibreOffice office suite, Transmission bittorrent client, and even VNC software for logging into a remote computer. I personally have had success using rdesktop to connect through an SSH tunnel to a remote machine. If you have any questions or comments, feel free to post them below.
For more ideas on what to do with your Touchpad, be sure to check out our Top 10 Things To Do With Your HP Touchpad.