[Dec 27] Ubuntu for HTC HD2 - v0.3 released

Search This thread

Top Liked Posts

  • There are no posts matching your filters.
  • 146
    Ubuntu for the HTC HD2 version 0.3

    This is the new v0.3 release of Ubuntu for the HTC HD2 I announced a while ago on twitter.

    Ubuntu is a full Linux distribution - and it's not designed for smartphones. But with the large touchscreen, high display resolution and fast system speed of the HTC HD2 I decided to make Ubuntu easily available to HD2 end users!
    This is not a secret warez ROM proprietary junk. Source code information below ! Wiki use for contribution purposes is highly encouraged! You can find all information needed to reconstruct my builds there.

    The interest seems large enough so you can expect an improved version 0.4 :
    -The no-menu problem will be solved
    -It will be bootable via cotulla's MAGLDR and HaRET (Handhelds Revers Engineering Tool)

    beta closed!! please do not in quire any longer.
    => I am looking for people to test a 0.4 beta version soon as I'm done. If you are interested please direct message or @ me via twitter @htc_linux as I will send the beta download link there.


    * You can get online using 3G and WiFi
    * Attach all kinds of USB devices like mice, keyboards, flash drives, card readers, networking devbices, etc. to turn your HD2 into a full PC
    * Use full desktop like web browser without the usual limitations found in smartphone browsers
    * Use instant messaging
    * Watch videos
    * Handle text messages and make calls (without sound so far)
    * Install thousands of programs for your internet experience, office needs, social networking fun, etc.
    * Be cooler because you have something special on your phone!

    It is difficult to create a release like this as opposed to all the Android builds for the HD2.
    Technical background to this:

    The Linux kernel we ported to the HD2 is originally designed for use with Android user space (because we based our work on the Linux kernels of official Android devices) and Ubuntu is originally designed for large laptop or desktop computers.
    This means many workarounds on kernel and user space level must be made in order to make this usable.
    Despite lots of work not all problems could be tackled yet: Audio and suspend/resume do not work as of v0.3 and it is a bit tricky to navigate.

    md5sum hd2-ubuntu_0.3.zip aa7ad65d247594e95bb7abe2e7aa7688
    You can run an Md5sum program on your download. If you get the above hash you have a 100% trusted release.

    Direct mirror: ( Torrent usage encouraged. )
    http://hotfile.com/dl/92426365/63801e6/hd2-ubuntu_0.3.zip.html thx to shah_vm
    Additional direct mirrors welcome.

    If you like it you can buy me a beer

    Posted from my HD2 via firefox-3 on hd2-ubuntu-0.3 :cool:

    Thanks to Jaxbot (from windowsphonehacker website) for shooting this video!
    Additional pics / videos welcome


    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 or other Linux/Android builds remain 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) It is useful to set the CPU speed up for better performance. Tap the CPU speed meter in the mid of top bar.
    4) Use shutdown icon in the home menu to bring the system down savely.

    Thanks to Jaxbot for shooting this video

    Please read the attached and included readme.txt for detailed information.

    Ubuntu 10.10 Maverick basis
    -optimized for our hd2 CPU
    -large performance improvement
    -up to date app versions
    -new graphical interface

    Better connectivity
    -3 modes to interact via USB selectable
    -file transfer and interactive shell via ADB and USB ETHERNET (ssh)
    -USB HOST mode to connect thousands of peripheral devices like keyboards, mice, usb mass storage devices.

    Improved drivers
    -Backlight control
    -Battery charging and state reading

    -There is a known problem with the menu not appearing so you will only see a single icon on a normal desktop instead of the fancy menu seen above. You can fix it as explained below.
    -There is still no audio in calls and generally due to lack fo ALSA driver for hd2.
    -The hardware keys don't work
    -No screen rotation added
    -The battery % can only be read via shortcut. Icon will always show low state

    Please do not report these problems.

    In case you are affected by the no-menu problem here is a quick fix:
    Add the 'main menu' in the top panel in order to start apps:

    -Tap and hold a free spot in the top panel for like 3 secs (note that the area between the left and middle icons is not free s1pace but the window picker) and release the cursor. This is supposed to simulate right click. It is a big tricky..
    -A drop down menu should appear
    -Select add to panel
    -Drag the 'main menu' item to the panel
    -You can now start programs and edit settings.
    a)In settings menu select session settings and make 'Ubuntu netbook 2d' session default settings menu. Only drawback is you can't add programs to the panel in it.
    b)Go to 'startup applications' and try raising the delay in seconds for nbl (netbook-launcher-efl) to start.

    Let me know if you get the workaround going in case you were affected


    I documented the most important stuff about 'Ubuntu for HD2' in the htc-linux wiki. With that information you can rebuild it from scratch - or implement other OS like meego, kubuntu, etc.
    Some parts are not yet updated to match the 0.3 status but I hope I can do it soon.

    Get the Linux kernel souce code:
    git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git htc-msm-2.6.32

    Compile Linux kernels for your HTC

    Mirror to ease server loads, should be up soon. :)
    Here is screenshot:

    Hey guys,
    yesterday i finally found the time to try out the fix posted a couple pages before in this thread. And since there were many requests to write a guide on how to boot ubuntu 0.3 with magldr and nand android, i wanna share the following. please notice, that you wont be able to use the touchscreen or the hardware keys. at this time i dont know what causes this problem, but the only way to input ubuntu on my htc hd2 was through a hardware mouse.

    Guide to get ubuntu 0.3 running with magldr and nand android:

    1. first of all download all the required stuff ... ubuntu 0.3 (first thread) is needed, linit.zip (look at the attachments of this post) and if you not allready have a linux distribution, download a ubuntu or opensuse livecd on distrowatch.com or somewhere else

    2. now unzip hd2-ubuntu_0.3.zip and linit.zip to whatever folder you like.
    rename a zimage of your choice to "zImage", rename "initrd.cpio.gz" to "initrd.gz", put your zimage and initrd.gz to the root of your sdcard. all the other files inside hd2-ubuntu_0.3.zip belong into /linux

    3. open up your terminal and execute the following command to gain root rights: "sudo -s" if your on ubuntu or simple as can be "su" on other distributions.

    4. mount your ext2 image: to do so, execute the following commands:
    a. "mkdir /mnt/ext2" (creates a folder ext2 in your mnt folder)
    b. "mount /path/to/your/image/rootfs.ext2 /mnt/ext2 -o loop"
    (mounts the image rootfs.ext2 to the previously created folder)

    5. now the command "mount -l" should be listing your image ("/dev/loop0") as mounted, followed by the directory "/mnt/ext2" where it has been mounted in

    6. now you can access the mounted image with the following command:
    "cd /mnt/ext2" (changes directory to "/mnt/ext2")
    "ls" (shows you the content of the mounted image)

    7. after that you need to copy the "linit"-file to the bin directory of the mounted image with the following command:
    "cp /path/to/linit/file/linit /mnt/ext2/bin" (copys your linit file)
    "ls /mnt/ext2/bin" (should now show you the linit file inside the binfolder)

    8. the last step to success is the following:
    open up "/mnt/ext2/etc/rc.local" with your favorite text editor. you could use kwrite or vim, and edit the following:
    before editing rc.local looks something like this:
    #!/bin/sh -e
    # rc.local
    # stuff
    # stuff
    # stuff
    # stuff
    # stuff

    exit 0

    after editing rc.local should look like this:

    #!/bin/sh -e
    # rc.local
    # stuff
    # stuff
    # stuff
    # stuff
    # stuff

    /bin/linit >> /var/log/linitlog
    exit 0

    dont forget to save rc.local

    9. now you can unmount the rootfs.ext2 image again by executing
    "umount /dev/loop0"

    10. congratz your rootfs.ext2 image has been successfully edited and the reboot loop problem should be fixed. you can check if "linit" is being executed correctly by reading the "/var/log/linitlog"- logfile. of course you need to mount your image again before being able to access the logfile.

    please gimme some feedback on this guide since i dont know if i forgot something or made a mistake.

    greetz :)