HaiBuntu! Ubuntu on the Haipad M701

OffWorld

Senior Member
Oct 5, 2010
460
67
A while back I was trying to get the chroot Debian build to run and I posted about how wasn't all that successful with it.

Well, today I ran across an article about someone running Ubuntu on a Galaxy Tab 10.1 and the part that really caught my attention was the link to androidlinux.com because this wasn't JUST for the Galaxy Tab. It took a little editing, but I can now say that YES, YOU CAN INSTALL UBUNTU ON THE HAIPAD M701!

This is my experience on a 2GB Samsung-chip M701-R running Gingerbread 2.3.1 with a 8 GB microSD card. It uses chroot and therefore doesn't alter your Android installation at all, but it also means it is running on top of Android, which means a serious performance hit.

1. Get Busybox for your tablet if you haven't already done so: Download File - busybox_zip - DownloadAndroidFiles.com
2. If you're running the same Gingerbread as I am you'll need to edit the 2nd line of the install script to read:
Code:
cat /sdcard/tflash/busybox > /data/local/busybox

Otherwise just manually push it to /system/xbin with ADB, switch to "adb shell" and
Code:
cd /system/xbin
chmod 755 busybox
./busybox --install -s /system/xbin

3. Now get the Ubuntu files (it's a 664 MB zipped file): Download File - ubuntu_zip - DownloadAndroidFiles.com
4. Unzip it on your desktop (or wherever). It decompresses to 2.15 GB! You'll definitely need a 4 GB or better microSD card for this.

5. If you're using Gingerbread you'll need my edited script files: View attachment $haibuntu.zip

Just overwrite the ones in the "ubuntu" folder with the altered ones.

6. Get the "ubuntu" folder onto your microSD card. The easiest way is to just mount it as a USB drive and drag the folder to it. Make sure you have enough room!

7. You'll need to run the scripts with superuser permissions or it will fail to create the folders it needs or change file permissions!

8. From this point on you can use the instructions at AndroidLinux.com:
How to Install Ubuntu on Android!

If you want a GUI for your Ubuntu install I strongly recommend you do install a light desktop environment (LXDE is the example they use) and not try to use GNOME or it will be very unresponsive. In the example at AndroidLinux.com they mention pressing CTRL+D to save your xserver startup configuration, but you'll no doubt have noticed you can't use the CTRL key (even if you're using a USB keyboard that actually has one). While in Terminal Emulator press:

Menu>Preferences>Control Key

I selected "Left Alt Key" for my USB keyboard.

9. It will run a bit better if you use a lower screen resolution like 800x480 for your VNC Server.

If something crashes and Ubuntu doesn't get shut down properly you may end up with a bunch of X-Server files left over that will prevent you from connecting via VNC. It's a simple fix - all you need to do is run the bootubuntu script in Terminal Emulator and, once you've got the root@localhost prompt clear out all the files in /tmp/ before you try to start the vncserver again:

Code:
rm -R /tmp/.*

10. In the VNC Viewer app you'll most likely want to set it for 256 colors and set the input method to "Mouse Pointer Control" which will let you use your finger or a stylus (better!) to move the mouse pointer and click on things. Plugging a mouse into the USB port will not work but a USB keyboard will (however some of the key mappings might be odd).

So, how useful is it? With a GUI, not very. It's VERY slow and unresponsive almost to the point of unusable. However running Linux commands from the CLI in Terminal Emulator is certainly useable.

Here my tablet is running Ubuntu 9.10 "Karmic Koala" with the LXDE Desktop Environment:

$HaiBuntu.JPG

Ok, so once I've got everything installed I can open up Terminal Emulator and type:
Code:
su
bootubuntu

It gives you the "rock and roll" message telling you Ubuntu has booted.

Code:
rm -R /tmp/.*
export USER=root
vncserver -geometry 800x480

Then I leave the Terminal Emulator (I usually just go to my Home screen and then into apps) and run VNC Viewer app. The configuration should have been saved so all I need to do is press the "Connect" button. Then wait (and wait) for it to load the first frame.
 
Last edited:

Matcro369

Member
Jun 15, 2011
5
0
Cool, I'm about to get the haipad and I am glad I have options because I love to mess with these devices. Ive been messing with an iPod touch for almost a year now and I'm getting bored and need a new project. I have a question bc I've never used uh ubuntu or Linux. Can I install some normal programs on it like iTunes for example? I know it'll be slow and barely usable but just being able to is cool and seeing if I can sync my iPod with it. Just a thought. The "updated" haipad they have now is 512 mb ram so it might help with the lag
 

OffWorld

Senior Member
Oct 5, 2010
460
67
Yes, this method would probably work better with one of the updated Haipad tablets. More memory and a faster CPU would make a huge difference in performance.

Ubuntu is a Linux distribution ("distro"). It is based on Debian, another distro. There are thousands of customized versions of Linux. Android is actually based on Linux as well. Part of the reason the performance with this is so bad is that it's concurrently running two operating systems at the same time (Android and Ubuntu). I could probably improve things a little bit by using a task killer to end Android processes I'm not using and free up those resources for Ubuntu. In this set-up Ubuntu is running in something called "chroot" which is essentially a sandboxed environment and you access the desktop GUI through the VNC Server from Android (on the device) or externally from another computer or device (because VNC is platform independent). It means the Linux install doesn't have to worry about hardware drivers and can't mess up the Android install, but it means taking a huge performance hit.

If by "normal programs" you mean Windows or MacOS software the answer is generally going to be "no" unless the publisher has a Linux version, and even then the system specs may not support it. Some Windows programs - mostly older, simpler ones - can be run on Linux with WINE (a Windows "compatibility layer" - kind of like an emulator but not really), but I haven't tried installing that yet and can't imagine it will be usable.
 

OffWorld

Senior Member
Oct 5, 2010
460
67
I've been playing around with my "HaiBuntu" a bit more this evening. Whether it is too slow to use really depends on how impatient you are. So far everything I've run in it has actually worked, though I had to wait a bit for it to show up or react. It also helps to configure it so it is a bit more "tablet friendly" with the interface.

1. As noted in my original post, type:
Code:
vncserver -geometry 800x480

2. Then, in the VNC Viewer press Menu>More>Scaling and select "1:1" and then Menu>Input Method>Mouse Pointer Control Mode
Now at least the mouse pointer will follow your finger and you can tap to click (though you may want to go into the LXDE MainMenu>Preferences>Keyboard and Mouse and set a longer double-click delay since the interface is a little slow to respond).

3. Either in Terminal Emulator after running "su bootubuntu" or from the LXDE MainMenu>Run type:
Code:
apt-get install lxlauncher

4. Once it's done go to LXDE MainMenu>Run and type:
Code:
lxlauncher

You will now have a much more tablet friendly desktop interface with big buttony icons and tabbed organization. It's not as nice as Android's Launcher, but it's better than trying to click the tiny options in the Linux Main Menu!

(another option might be to install Ubuntu's "Unity" shell for GNOME since it is designed specifically for smaller screens, but I don't know what the overhead is for it and the multi-touch part of the interface isn't going to work anyway)

5. If you don't have a USB keyboard to connect you'll need to install a virtual keyboard. The Android keyboard will not work exactly (the VNC Viewer only has an option to send text strings and special keys to Ubuntu). I'd recommend you install the "Florence Virtual Keyboard" inside Ubuntu. Unfortunately the only precompiled ones are for 386 and 64-bit architectures and you need ARM, so you'll have to build it inside Ubuntu. Once you get it built and installed, though, you can pull up a full onscreen keyboard in Ubuntu. (I use this on my HTPC/Media Center when I'm too lazy to get the wireless keyboard)

6. Make the taskbar at the bottom of the screen taller. It makes it a little easier to click on things if it's not right at the bottom edge of the screen. You need to edit a config file which may be in one of two locations. I simply changed mine from 24 pixels to 48 and saved the file.

7. Go to Box-Look.org from inside Ubuntu and see if you can find an Openbox theme with wider borders/titlebars for the windows. They are quite small and hard to grab onto and without a stylus you'll have a really difficult time clicking the window control buttons in the titlebar.

And now to head off a certain question somebody will ask: "Will it run Flash?"
Answer: Technically yes, it installs and runs but it's not usable. You won't be playing games, you won't be watching videos because the performance of Ubuntu under these conditions on this hardware is too poor to support such a processor-intensive program.
 
Last edited:
Top