First and for most this guide has been created from a mixture of a few guides to get it all working on our phone, I do not take any credit for the methods all I have done is taken the time to work out how to get it working on our phone. This guide is for windows or can be done all on the phone. Anyway on with the guide
How To Install Ubuntu on the Desire S
Before we start you will need a ROM and kernel that supports loop devices.
This works best on lighter roms like cyanogenmod 7.1, however if you don't want to run a GUI it also works fine on sense ROMS. Please post any ROMS it doesn't work on.
It is also recommend that you have the Android SDK install so that you can access adb however all commands can be done on the phone via the terminal emulator
Also make sure that you have debugging mode enabled Go to Settings->Applications->Development and make sure USB Debugging is checked ON.
You will also need atleast 4GB of memory card space
Download and extract ubuntu.zip
Once you have a working ROM with loop support you must now download the special modified ubuntu image. I have hosted the file on my own server however if this is not quick enough feel free to mirror it or message me and I shall host else where as well.
There are now three versions to use as you wish, however the new 10.10 image has pretty much everything working, see change log at the bottom of the next post. the 11.10 image's UI does not work right and the 9.04 image is well rather old :P
Once you have downloaded this .zip file you will need to extract it to a folder on your sdcard name this folder "ubuntu".
Install and run Ubuntu!
If you do not have the android SDK install or wish to do all the commands via your phone please skip to step 7
1) Connect your Desire S to your computer via your USB cable and make sure USB mode is set to “Just Charge”.
2) Your Android device should be recognized as “ADB Device” under Device Manager. If not, install appropriate drivers.
For all HTC Android smartphones/tablets (such as G2 Phone, Nexus One), you can download Windows drivers here:
HTC Windows 64-bit driver download – Click Here to Download Driver
HTC Windows 32-bit driver download – Click Here to Download Driver
3) Now open a command window and navigate to the directory that you have installed the android SDK for example
Lists of devices attached HT09SR204261 device
6) Next type “adb shell” to enter the Android shell
7) Now type su to enter super user mode, then type cd /sdcard and then cd ubuntu to enter the directory on the SD card that you stored the ubuntu files.
su cd /sdcard cd ubuntu
9) Now type bootubuntu to enter ubuntu (note in the future to start ubuntu simply type bootubuntu there is no need to run the script again)
And thats it you now have a working ubuntu command line running within android! however this isnt really much use so lets now get a more useful system running
How to Install TightVNCserver
This is by far the best program to install first off as it will let you access the GUI of Ubuntu as it run on your Desire S. (note this is already included in the 10.10 (V1 and V2) image there is no need to carry out this step)
0) Before you install any program first we need to update by typing
it shall then as you if you wish to install the program etc etc say yes and it will install, simples.
How to Install LXDE (optional but recommended)
only need to carry out this step if you are using the 9.04 image
1) Type “apt-get install lxde” and ubuntu will do the rest
Set up TightVNCServer and fix keyboard issues
(note on the 10.10 image this step has been included already! so no need to carry it out)
Before we launch the TightVNCServer we much make changes the the xstartup file to change to it uses LXDE if we want this and also to fix a big issue with the android keyboard not being mapped correctly.
1) Start off by typing
cat > /root/.vnc/xstartup
2) Now type
#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession
3) Now press ctrl+D twice and then press enter to the save the file, we are now ready to start up the VNCServer!
Now we are ready to start the server and connect our phone or windows computer to the Ubuntu running within our phone! (This step is not needed in the new 10.10 V2 image VNCserver now auto starts)
1) Start off by typing
export USER=root vncserver -geometry 1024×800
2)TightVNCServer will then ask you for a password to connect to it, fill this in and your server will be then ready to accept any incoming connection from your phone or computer! (on the 10.10 image it will not ask for this, the password is set to ubuntu)
Connect to VNC on your phone
1) download the free app Android-VNC-viewer
2) open the app and set your IP address to 127.0.0.1 ( set this to localhost in 10.10 V2) and port number 5901 (5900 in 10.10 V2)and enter the password you set before (or ubuntu on 10.10 images) to then connect.
If all works right you will have a working GUI!!!
Connect to VNC on your computer
1)Start by downloading the desktop version of TightVNC Here
and install it
2) Open the TightVNC Viewer from the start menu it will ask for your phones IP address, to find this type ifconfig in your ubuntu terminal it will display your IP.
3)Type this into TightVNC and remember to add the port 5901 (5900 in 10.10 V2), it will then ask you for the password ('ubuntu' on 10.10 image) , enter this and you should then have a fully working GUI on your computer!