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: 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.