############## Ubuntu for HTC HD2 v0.3 ##############

Ubuntu Linux for HTC's HD2 cell phone aka HTC LEO


1)Extract the linux folder to the main directory(!) of your Storage Card.
If the linux folder is not located in the main directory of the Card,
it will not work.

Note: This will not touch your phone's internal memory (WinMO remains unchanged).


1) Save all your current work and start the HaRET exectuable to boot Linux.

2) Watch the system boot up fully until you see a graphical desktop interface.

3) Have fun.

4) Use shutdown icon in the home menu to bring the system down savely.


There is an On Screen Keyboard enabled by dafult.
-hide it using the minimize button
-make it appear again using the yellow/blue icon in the top left corner
-drag it around by pressing and holding on its title bar
-if you close it accidentally, open it again using keyboard icon in top bar
-Multitouch is in the making. We have some exclusive HD2 patches in Ubuntu for that :)
It will support two finger gestures (pinch, drag, rotate, etc.) in loads of apps.

A video player is included. You can put videos on your storage card,
(see SD Card icon on the desktop) and play them back by tapping them.
I installed a firefox plugin to download youtube videos. To try it
visit a youtube video url and look for the download menu below the yt
window. You can save them in your Download folder and play them back
by tapping them in file browser.
There is no built in audio support. You can only use USB audio devices for now.

In the midst of the top bar you will see an item that displays
the current CPU frequency. Tap it to set the highest clock setting
for fast CPU speeds or chose powersaving or ondemand mode for less
battery drain. By default it is in ondemand mode.

Check the battery percentage using the power icon in the top bar.
The stuff reported by the default gui is wrong. It will claim your battery
is critical soon as you unplug usb.

For size reasons the only language included is english.
It is possible to install any extra language supported by Ubuntu.
Visit for such information and much more.

You will be automatically logged in as user 'htc-linux'. I set the /etc/sudoers
file up to let it gain sudo automatically. This eases many things.
openssh-server is ran on startup to allow usbnet connectivity.

user: 'htc-linux'
passwort: 'ubuntu'
It is recommended to change the password.

SORRY - OUT OF ORDER !! - I can't get the keypad going in Ubuntu Maverick 10.10
Something is wrong with Xorg . Driver didn't change vs hd2-ubuntu_0.2 .

[Hold down the "home button" to move windows around
for example when something is OFF SCREEN.
Mapping: (Also see included keymapping.png picture)
Volume Up = Left
Volume Down = Right
Dial Button = Enter
Home Button = Alt (hold down to move windows with touchscreen)
Windows Button = Down
Back Button = Up]


To connect to the internet via 3G DATA connection, tap the "3G Connection"
icon in the home menu. You will be asked for your 3G Access Point Name,
user name and password. Enter this information exactly as provided by your
cell phone network provider.
Wait until it says it's done.

To connect to a WiFi network, tap the "WiFi mode" icon on the home screen.
After seeing the success message, you can scan start scanning for networks.
Tap the networking icon (two monitors) in the top right of your display
(only once!) It takes a while until the window appears and until network
scan is complete.
If you don't see the icon in the top right and no window will appear
automatically just run the "Wicd" program (same icon as WiFi mode).

To send and view SMS and make phone CALLS, tap the signal quality
indiciator icon located in the top right of your display.
Unfortunately there is no sound during calls yet. But you can dial :P
To send SMS you can alternatively tap the TUX icon on the desktop.
A window will pop up when you receive an SMS message or a call.


There are 3 USB modi avilable: Ethernet and adb - both excellent for diagnostics
and file transfers with a host computer - and there is usb host mode.
Each usb mode requires a different kernel image. Thast's what the three
included zImages are for.
Please see startup.txt for further information on switching them.

In usb ethernet mode you will be able to establish a network connection
with your linux based host computer and ssh in.
If you are using the usb-ether zImage you will have the hd2 ready
to connect on boot. If you have been using 3G Mode or Wifi Mode after boot,
you can get back to USB Mode by tapping the according icon in the home menu.
On your host computer you can do the following to connect after plugging in the cable:

ifconfig usb0 up
ssh -Y htc-linux@

ADB (Anroid Debug Bridge) is weak. ssh is better. But it is useful when you
only have a windows PC handy.
To get the adb program for your windows or linux based host pc google for
anroid sdk and have a look inside the tools folder.
After booting with the adb zImage, adbd should be ready to accept connections.
Connect the USB cable with your host pc and try:

adb shell

This release comes with the requirements to attach all kinds of peripheral devices
via USB including but not limited to:
-flash disks and HDDs
-audio devices
-network devices (wifi, wired, bluetooth)
-display devices
-secret gps devices

You will have to supply power from an external source.
See below link for instructions on how to do this.


released on December 27th, 2010

New base: Ubuntu Maverick Meerkat 10.10
-Comes with mega fancy netbook gui and totally updated everything.
-It supports all the nice armv7 CPU instuctions, NEON acceleration etc.
=>Much better performance!
-New versions of apps
-Improved scripts

htc-msm-2.6.32 base.
-Support for usb net
-usb host mode
(in one release)
-Battery Charging and monitoring
-Backlight toggeling

Lots of details on this release documented at

released on July 28th, 2010


-Improve touchscreen driver (still not perfect)
-Add WiFi driver
-Add 3G DATA driver (using serial channel directly)
-Add vibrator driver

STATUS NOTE: The linux kernel is based on what is available as source code.
Features not available in source are not included in this release:
-Battery driver
-Panel driver

Also some features are currently only available in Google Android(tm).
"Android is a trademark of Google Inc. Use of this trademark is
subject to Google Permissions."

-Audio has a driver that works with Android(tm) only. It is being worked on.
-Camera too (V4L drivers might be available at some point)
-Also 2d and 3d accerlation (very difficult)


(Based on v0.1 rootilfesystem Ubuntu Karmic for ARM)
*Add scripts for wifi, data, screen rotation and other things
*Add on screen keyboard
*Add application to handle phone functions (see sphone below)
*Add gnome-mplayer graphical interface to the included mplayer (see below)

For Status info visit

June 30th, 2010

initial release.



Included sources:
linux_htc-msm-2.6.32_2.6.32.9-38182-g6ad7e77.tar.gz inside this archive contains the entire kernel
source code including configurations in arch/arm/configs/htcleo-*
Development tree:
git:// htc-msm-2.6.32
Git revision used in this release: "6ad7e773a614e532740a98fc3a054d05dab8d2a2"

How to compile the kernel:


The rootfilesystem is based on stock Ubuntu 10.10 Maverick Meerkat release for ARM
Ubuntu is based on debian.

mplayer is the best multimedia player available for Linux:
The mplayer installed in this release was compiled using buildsystem not.

firefox has the 'grab and drag' addon installed:
as well as greasemonkey with a youtube downloader script.

ofono mobile phone framework:
sphone: ofono GUI created by XDA user 'amiPro'


Although I don't know about any HTC destroyed by Linux, I can not be
held responsible for any damages caused by this. So use at own risk!

If I accidentally break any licenses please don't hesitate to contact me. Thanks


This Ubuntu for HTC HD2 release was made by Lukas-David Gorris (aka dcordes)

Note that the possiblity to boot the Linux kernel on the HTC HD2 is based on the effort of many!
Others also participating in the kernel development for HTC HD2:
cr2, NetRipper, Cotulla, LeTama, Markinus et al.

For any feedback you can send me a mail: 'lukas.gorris <at>'
Please be aware that this is an early version and that it is not complete.