[HD2 Ubuntu Development] imperiallight:
Original thread (Thanks Martin Rhodes):

http://xdaforums.com/showthread.php?t=962023 (Join up original file parts with 7zip)

Instructions

Here are direct links to complete .img file and .sh file to be placed into ubuntu folder on root of SD card (Thanks Infinimint)

http://infinimod.com/projects/fire314/ubuntu-for-android/ubuntu.img

http://infinimod.com/projects/fire314/ubuntu-for-android/ubuntu.sh

Ingredients

ubuntu.img + ubuntu.sh (to be placed in a new folder named ubuntu on the root of your SD card)

Better Terminal Emulator (or other terminal emulator) + AndroidVNC (or other VNC client) from the market

To automate one click startup process via Better Terminal Emulator:

Preferences>Initial command:

export PATH=/data/local/bin:$PATH:.
su
cd sdcard/ubuntu
sh ubuntu.sh

Or type this for each new session in any terminal emulator:

su
cd sdcard/ubuntu
sh ubuntu.sh

It says .img loading for a bit. Seems like its not doing anything...it wont confirm when its loaded (about a minute in reality)...

Then I left Terminal running in background while it said it was still loading the img (but don't let it close via task killer or otherwise), held down the hardware menu or home button to switch programs for a bit and connected in via VNC (AndroidVNC)...

address: localhost, port: 5900, and password: ubuntu ... then hit connect (login details will be saved for next time)...

its working fine software keyboard etc and at good speed. In menu options select 24bit colour, local mouse, 1:1 scaling and Touchpad only to make navigating menus much easier.

Normal phone and Android functions should be fine.

Included applications include Firefox, Thunderbird, Openoffice.org suite, GIMP Image Editor, Emacs Text Editor (geared towards programming), C and C++ build-essential, Java JDK, Python, TeXlive and TeXmaker LaTeX editor, Transmission BitTorrent Client, eVince PDF Viewer, File Manager, Terminal, Image Viewer, Leafpad Text Editor, Synaptic Package Manager and Ubuntu Software Center with all repositories enabled, SSH server, Gnash (GNU flash player for Firefox) among others.

Short press hardware menu key to get mouse options etc and longpress to bring up software keyboard (using Android VNC).

Type exit in android terminal emulator to shut down the ubuntu image.

I am using the Hyperdroid Rom off NAND, overclocked at 1.2ghz and a 16GB class 6 microsd (although it should be independent to all this... worth mentioning)

GIMP

Here is Open Office 3.2 on the HD2 using Smart Keyboard Pro from the market.

Edit 1. I Can use my bluetooth keyboard using this nandroid rom to edit open office etc

Edit 2. I can make full screen editing on my PC monitor/TV through connecting it via USB.

HD2 USB connected to a r3610 hanging behind a 42" HDTV connected through HDMI. Using my desktop keyboard and mouse. The Mouse scroll button and right click work just as they would on desktop!

Connect via usb to PC and enable usb debugging on your phone, needs android sdk installed on PC, then you run from pc command line

adb forward tcp:5900 tcp:5900

and you should be able to create a vnc conection from your pc (recommend TightVNC) to:

127.0.0.1:5900 [U]or type[/U] localhost:5900

and use password ubuntu displayed on your monitor or TV. Wireless solution.

In fact, you can use the same method to mirror the Android system using 'Droid VNC' server from the market.

Edit 3. Can also just connect straight to the device via VNC over WIFI but its slightly slower.

Type ifconfig into lxde terminal to find WIFI address, use your desktop VNC viewer (recommend TightVNC) and password ubuntu to log in.

Edit 4. Bluetooth mouse control with cursor now works as well (but its a bit jerky), works much better with 'Remote VNC Pro' from the market selecting use external mouse.

Edit 5. Can only seem to pair bluetooth mouse and keyboard input simultaneously using BlueInput.

Edit 6. To fit whole ubuntu display area onto HD2 screen (as above) or to otherwise change screen res via LXDE terminal:

export USER=root
vncserver -geometry 800x480

Restart AndroidVNC but connect to port 5901. You can automate this process by adding it to the end of the Better Terminal Emulator Initial Command script i.e

export PATH=/data/local/bin:$PATH:.
su
cd sdcard/ubuntu
sh ubuntu.sh
export USER=root
vncserver -geometry 800x480

Just remember to connect on port 5901 instead of 5900 using VNC subsequently.