[Discussion]Linux and Android on the HD2 *READ POST3 BEFORE ASKING QUESTIONS*

What would you like best on your HTC HD2 ?

  • Windows Phone 7

    Votes: 205 15.2%
  • GNU/Linux and Android

    Votes: 1,077 80.0%
  • I'm happy with the shipped HD2 operating system

    Votes: 64 4.8%

  • Total voters
    1,346
  • Poll closed .
Search This thread

rasumia

Senior Member
May 31, 2009
424
39
Dubai
hello kholk, is it meaning first boot in linux then once ready with drivers and links to devices inside then we can handle the android? i saw many chat in IRC but dont understand much though but interesting to read anyway...


Android is sythetically a "program" that works on the top of the linux kernel that itself is modified with some added drivers for the communication with Android.
SO..

We're porting Linux, not Android ;)
 

dcordes

Retired Senior Recognized Developer
Nov 20, 2007
707
254

kristoff123

Senior Member
Mar 21, 2009
146
8
I have 2 days to return my HD2. If I am stuck with Windows Mobile for the life of the phone, it's looking a little bleak.

Just wondering if you could give me an honest guess at the chances of having android running on this? Or is it totally up in the air until you get past the timing problems with the kernel?

Thanks - just looking at my options, one of which is to just trade the HD2 for a Nexus One, straight up. People on craigslist seemed eager to do it!
 

ozkaya

Senior Member
Mar 22, 2006
649
302
I have 2 days to return my HD2. If I am stuck with Windows Mobile for the life of the phone, it's looking a little bleak.

Just wondering if you could give me an honest guess at the chances of having android running on this? Or is it totally up in the air until you get past the timing problems with the kernel?

Thanks - just looking at my options, one of which is to just trade the HD2 for a Nexus One, straight up. People on craigslist seemed eager to do it!

even Android on HD is not 100% finished yet. if you don't like Winmo that much, why did you get it in the first place? (no offense) it has been suggested by some android gurus that it might take a year to have an almost completely functional version of Android.
 

mikolas

Member
Apr 21, 2008
19
2
Guys,

Has anyone done any reverse engineering of the TP driver yet? I've been poking around a bit with IDA Pro on touch.dll and some related libs (htci2c.dll). I've trailed some of the I/O stuff already, but a I/O memory map of some sort would help although (better still if someone could point out the virtual address space used by winmo). Also, I've not yet gotten into actual low level interrupt handlers as those live somewhere else, now I'm focusing on how the lib interfaces with GIO1: and I2C1: (and some related I/O addressing I think I've found).

Haven't been reversing stuff since I made homegrown jailbreak for iPhone, so this is fun :)
 

dcordes

Retired Senior Recognized Developer
Nov 20, 2007
707
254
Guys,

Has anyone done any reverse engineering of the TP driver yet? I've been poking around a bit with IDA Pro on touch.dll and some related libs (htci2c.dll). I've trailed some of the I/O stuff already, but a I/O memory map of some sort would help although (better still if someone could point out the virtual address space used by winmo). Also, I've not yet gotten into actual low level interrupt handlers as those live somewhere else, now I'm focusing on how the lib interfaces with GIO1: and I2C1: (and some related I/O addressing I think I've found).

Haven't been reversing stuff since I made homegrown jailbreak for iPhone, so this is fun :)

Sounds good! feel free to throw any findings into wiki. A page exists already at http://htc-linux.org/wiki/index.php?title=Leo_Ts further research info at http://htc-linux.org/wiki/index.php?title=Leo but I'm sure you've seen it already. Some i2c and ts regs are documented in the memory map.

And yes, I know that cr2 has done some research on the leo TS. I don't think he published documentation on that yet but he sure will.
 

mikolas

Member
Apr 21, 2008
19
2
As part of the I2C code (called straight after I2C1: open so that's how I figured it out) the I2C code is constantly using addresses 0xAFF8180C, 0xAFF81810 and 0xAFF812D4 @ around offset 10009A3C onwards. These are in a mapped memory space so I need to figure out the virtual base address somehow.

Any pointers to where to search for the GIO1: and I2C1: device handlers? And any docs on get_virtual_address, that might help...

I will put stuff on wiki when I get these figured out somehow.
 

Pecoy

Member
Sep 12, 2008
15
0
are the people working on this project the same people from xdandroid or no?

anyways keep up the good work guys. looks like a good amount of progress is being made in short amount of time.
 

dcordes

Retired Senior Recognized Developer
Nov 20, 2007
707
254
ok I had some thoughts on that I wanted to share but I keep this for myself- I'm just not part of that group or whatever that is.


meanwhile I have good news to share. the timer problem is solved. it was very simple but yet effective :) NetRipper flipeed a config and now it's gone :D

but no time to celebrate yet.. still some very low level problems are present that cause similar problems.
stay tuned
 

xaoc747

Senior Member
Feb 5, 2008
2,122
939
Kazan
forum.xda-developers.info

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    Development thread for Linux on the HTC HD2:cool:

    PLEASE READ THE FAQ BEFORE POSTING QUESTIONS



    Introduction:
    To run any Linux based user space on a device -this includes android, debian, ubuntu, openembedded, etc- you need a working Linux kernel.
    This thread discusses the development on Linux kernel and user space on the HTC HD2.
    All android ports to windows phones are based on the efforts of porting the Linux kernel to these devices. This is what all the porting is about. Nobody is porting Google Android to these phones. It works already.

    Contributing:
    This is not a secret club. All source code and development information is publicly available. Everybody who is willing to contribute is free to join the development process.


    People working on porting Linux to HD2:
    You can donate to the developers putting a lot of time into this Linux kernel port.
    (putting together android files (=>making "roms") is not the porting)

    cr2
    NetRipper
    dcordes
    Markinus
    LeTama
    Cotulla
    dan1j3l
    Parad0XUA
    manusfreedom


    Technical information for interested people:
    General Developer Information:
    http://htc-linux.org/

    Leo/HD2 Wikipage
    http://htc-linux.org/wiki/index.php?title=Leo

    Leo/HD2 Linux Kernel:
    git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git htc-msm-2.6.32
    gitweb: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32
    Patches welcome!!

    How to compile the Kernel:
    http://htc-linux.org/wiki/index.php?title=QuickDeveloperStartGuide#Kernel
    => use htc-msm-2.6.32 branch and htcleo machine type

    How to contribute: (Please be aware that this is primarily for developers!)
    http://htc-linux.org/wiki/index.php?title=Contact


    3
    Newsflash:


    Check http://twitter.com/htc_linux for extra quick news

    03/24/2010 compass working, battery monitor added
    03/26/2010 moved to new htc-msm-2.6.32 branch
    03/29/2010 don't use ondemand governor
    04/01/2010 add ext3
    04/05/2010 dex, rtc, battery monitor, merged with google updates
    04/08/2010 naming and pm changes, timer problem is fixed (other low level problems still exist)
    04/09/2010 memory remapped
    04/14/2010 clock updates
    05/01/2010 the cause for the segmentation faults is still unknown. a new kernel was added based on codeaurora (see Leo kernel link 1st post)
    05/13/2010 update Image build with latest (minor) changes.
    05/19/2010 vfp/neon enabled in the 2.6.32.9 kernel. built with gcc-4.4.4 cross toolchain
    05/20/2010 new video player demo added
    06/02/2010 nothing new. but we are still working...
    06/10/2010 more attention to segfault/illegal instruction problem on lkml
    06/12/2010 usb host mode works perfectly. patches and build following
    06/12/2010 usb host mode changes committed, kernel build uploaded
    06/20/2010 linux is booting on qsd8250 based acer s200 - let's see if same cpu crash problem can be observed
    06/21/2010 same cpu crash on s200 - the problem is not specific to leo
    06/23/2010 Cotulla discovered desire/bravo bootloader has some workaround for a qsd8250 CPU hardware bug..
    06/24/2010 LeTama tried out running patched bravo kernel on leo and got the segfaults
    06/25/2010 Mailing list post from K. 'Cotulla' Ivan on how he found the solution to the infamous segmentation / illegal instruction problem on htc leo / hd2. Code in attachment see mailing list
    06/25/2010 NetRipper included Cotulla's qsd8250 initialization code in haret. Build available on NetRipper's website also see Mailing List
    06/25/2010 http://twitpic.com/20cruy http://twitpic.com/20cohg Messing around with ubuntu and other distributions using usb keyboard and mouse. Full potential of hd2's great speed and big display show. This runs real smooth. Soon as I got something easy to install I will upload it along with instructions on how to power the usb peripherals - without which you can't interact yet.
    06/28/2010 Android is working. It was very simple problem with a missing configuration setting in the kernel which is fixed now.
    06/29/2010 EXTRA EXTRA Major hurdle taken towards using touchscreen GPIO are xnow fixed. Again it's a problem about initialization so we need to add this in HaRET as well.
    06/29/2010 NetRipper - aka Fastest HaRET Developer In The West - made a HaRET with GPIO IRQ fix
    06/30/2010 Touchscreen source code now in linuxtogo git ;)
    06/30/2010 New wiki page on using usb host mode to connect peripheral devices.
    06/30/2010 zImage build with touchscreen, keypad, usb-host mode posted in build section.
    06/30/2010 First version of Ubuntu for HD2 released in the Build section
    07/01/2010 android with sense for HD2 in Build section
    07/04/2010 sensors working - (compass, G, light, proximity) - code available in git. See Build section for set of files to test. zImage in Advanced section updated. Thanks for the patch go to Parad0XUA
    07/05/2010 Vibro working too. Code pushed, zImage updated.
    07/05/2010 LeTama added WiFi support. Patch and Build following
    07/08/2010 Timers updated in htc-msm-2.6.32 kernel
    link to frequently updated kernel (zImage) autobuilds in advanced builds section added
    new wiki page with detailed status info http://htc-linux.org/wiki/index.php?title=Leo/Status
    07/10/2010 initial testing with 3g data connection, WiFi patches in git soon.
    07/10/2010 Source code for 3g data connection and WiFi are available from git now
    07/11/2010 New extra smooth android kit with the most recent Linux Kernel available in Android section! This has all kinds of stuff like hardware 3d acceleration, bluetooth, WiFi and 3g data connection included.
    07/13/2010 support for camera added. taking videos does not work yet
    07/14/2010 ongoing merge of Cotullas entire linux kernel sources (which added all the new features in recent builds) with the git kernel source code repository for hd2 Preliminary patch at http://oe.netripper.com/files/cotulla-merge.diff Sorry for the delayed release of the sources!
    07/16/2010 Many of the recent changes now in official git repository
    07/17/2010 Initial support for battery monitor and audio recording available. Linux kernel zImages on cotulla's site. No code available yet.
    07/18/2010 FM receiver working in android
    07/19/2010 Proximity sensor working in official git repository
    07/20/2010 we created a facebook page for the htc-linux project
    07/22/2010 due to legal concerns I will not directly link to ripped android images with proprietary parts which I am not allowed to distribute (e.g. HTC Sense). I don't want to cope with some lawyer mail.
    07/24/2010 please read this before releasing HD2 android roms http://xdaforums.com/showthread.php?p=7336826
    07/25/2010 some new updates in the local cotulla source tree farm: seems like he added support for switching the panel (display) on/off. Find latest zImage (Linux kernel builds) on cotula's site Unfortunately there is still no source code for the recent changes but it will be released soon.
    07/25/2010 turbo mode problem fix source code in official git kernel repository. autobuilds as usual on netripper site (look for zImage builds below)
    07/26/2010 Ready to go Ubuntu v0.2 with very big changelog in the making
    07/26/2010 a stable solution to the 3g DATA problem is found. I will add the kernel code and builds for the chefs later.
    07/27/2010 New ubuntu with working touchscreen, 3g, WiFi, texting, etc. available soon for hd2
    07/28/2010 Patchfor stable 3G Data connection in git. Google Android will need some adjustments to make use of it.
    07/28/2010 GPS library was successfully patched to make use of the HD2 GPS in android: http://cotulla.pp.ru/leo/Android/libgps.so
    07/30/2010 Ubuntu for HD2 v0.2 final version released. Go grab it! It's feature rich and touchscreen friendly.
    08/03/2010 New progress with the Linux kernel with audio during calls. A binary image can be downloaded from here. Sorry but no sources are available for this. (Patch author cotulla doesn't show the code yet)
    08/03/2010 Speak of the devil. Thank Cotulla for making his entire Linux kernel source code available. Now it's the turn of the fellow developers to merge it for ease of access and modification in the HD2 git kernel source repository.
    08/08/2010 All of the recent source code is now available in the Linux kernel git repository. See first post for further information.
    08/09/2010 Linux kernel image (zImage) and module autobuilds from the git source code are available at http://oe.netripper.com/files/htcleo_autobuild/ (-latest files always link to the latest build and get automatically update once there are changes in the source code available in git)
    08/10/2010 We are working to get a stable solution to use more memory in git. This is a useful initrd to test memory for errors automatically: http://linuxtogo.org/~lgorris/initrd-memtester-armv7a.cpio.gz
    08/11/2010 Full memory source code in git - uptodate zImage and modules at http://oe.netripper.com/files/htcleo_autobuild/ use THESE memory settings in startup.txt
    08/14/2010 Kernel update: 1) LED driver added 2) Support for WiFi-Hotspot (iptables) enabled. Update kernel and modules via instructions in FAQ page.
    08/20/2010 Flashlight support added. Grab the latest development kernel to get it! http://htc-linux.org/wiki/index.php?title=Leo/UpdateKernel

    08/31/2010 Many changes in the Linux kernel since the last update:
    working flashlight
    ppp stability
    usb stability (works with windows7 now)
    fixed usb host mode kernel
    working backlight control in normal Linux distros
    working WiFi master (access point) mode: enables tethering (you might need to update firmware files. )

    09/05/2010 We have been working on a new kernel base for the HD2 for few days now. Markinus started the initiative by introducing our present HD2 specific changes in the EVO4G release kernel source code. Right now the htc-msm-2.6.32 branch is still more advanced. We might create an autobuild for the EVO4G base kernel in case it will be superior at some point.




    Builds

    Global notes:
    *None of the current releases will touch your internal flash. After restart you are back in the usual winmo.
    *When Linux is booted, windoes mobile is shutdown abruptly. Although this is very rare it can cause some data loss. Please save your work and make frequent backups!
    *You need at least a 2.08 radio rom version installed on your HD2. If yu have an older version you might not be able to boot Linux.





    Separate files
    For updating purposes and 'rom' creation
    Automatically compiled Linux kernel builds for the HTC HD2 from GIT source code.
    SEE FAQ SECTION BELOW FOR HOW TO INSTALL FRESH KERNEL
    View GIT changelog
    Click here to view autobuild history (archived dated zImages and modules)

    Most recent zImage (Linux kernel image)
    zImage-htcleo-latest
    The Linux kernel is the core element of your operating system. It contains most of the drivers. It is supplied in form of a compressed (gzipped) executable binary Image. Along with an initial rootfilesystem aka initrd it is loaded into memory and executed by the bootlaoder HaRET.

    Most recent Linux kernel modules to match zImage-htcleo-latest (has bcm4329.ko)
    modules-htcleo-latest.tgz
    Kernel modules are drivers that are not included in the zImage. They go seperately in .ko files. bcm4329.ko holds the wifi driver and tun.ko is needed for tunneling. For android use you must extract the modules.tgz file, search for the .ko files you need and copy them into /system/lib/modules/ directory. See FAQ for how to copy files into your android install.

    HaRET (bootloader)
    HaRET.exe
    The haret bootloader is used to start Linux according to the instructions it reads from the file default.txt . If HaRET sees a file called startup.txt it will use this instead and boot Linux directly without any prompt.

    startup.txt (bootloader/HaRET configuration - auto updated to match latest GIT kernel)
    startup.txt
    NOTE: This example configuration only holds the parameters critical to booting with latest GIT. Ask the person supplying you with 'roms' for additional parameters needed. See FAQ section for more detail on parameters.



    Android
    Please browse the main HD2 Android forum for various recent builds.
    It is always important to install a recent kernel. See post #3 for how to.


    Ubuntu
    Ubuntu for HD2 v0.2

    This second version has many new features like connectivity and is fully functional with the HD2 touchscreen. (No more USB stuff needed!)
    If you would like to use USB devices like keyboard, mouse, usb stick etc, see here


    release date: July 30, 2010
    filename: hd2-ubuntu_0.2.zip
    size: 773MB
    md5sum: 2d67bbe658cc7a9e8599e8adf7724768
    torrent: (use encouraged)
    http://linuxtogo.org/~lgorris/hd2/hd2-ubuntu_0.2.zip.torrent
    http://oe.netripper.com/files/hd2-ubuntu_0.2.zip.torrent
    direct mirrors:
    http://linuxtogo.org/~lgorris/hd2/hd2-ubuntu_0.2.zip
    http://oe.netripper.com/files/hd2-ubuntu_0.2.zip
    http://htc-linux.org/stuff/leo/hd2-ubuntu_0.2.zip


    Quickinstall
    It is important to check included readme.txt for safety notes, usage instructions and other confusion!

    *1) get storage card with at least 3GB free space
    *2) extract archive into root directory of storage card so that ubuntu folder is in \Sotrage Card\ubuntu
    *3) runt haret exe

    Features and Changelog
    Kernel
    *Updated Linux kernel based on htc-msm-2.6.32 revision '3af9a39113d40887f42688108ff0dbdeefd8e4cc' (see first post)
    *Improved touch screen and keypad driver allow for decent navigation with the bare device
    *WiFi driver
    *3g driver
    *Vibration driver
    *Many [[Msm_Usb_Host|USB host]] drivers added (usb mass storage, audio, networking)
    *Battery, panel and bluetooth drivers not installed yet due to lack of available source code. (only zImages available)
    *Exact kernel source code with patches used included in archive.

    Rootfilesystem based on the Karmic Koala from 0.1 release with
    *Enlarged rootfilesystem size (2,6GB)
    *Many tweaks for touchscreen use: on screen keyboard, enlarged GUI components, ..
    *One touch super easy operation of 3G and WiFi connections, screen rotation and other things
    *New packages installed, e.g. firefox and fennec browser with kinetic scrolling, pidgin instant messaging, ..
    *Easy installation of extra languages etc
    *GUI for the media player (gnome-mplayer) to allow basic control of the video playback


    Note for testers of the old 0.2-beta release
    Thanks a lot for checking the beta and providing feedback! This allowed for fixing the following in final 0.2 release:
    *The off-screen content (e.g. wicd passphrase) problem was resolved adding ALT key (Home button on HD2) to drag windows around
    *Add gnome-mplayer gui for the accerlated mplayer
    *3G DNS hack removed (opendns caused problems accessing many websites)
    *Enlarge on screen keybaord



    ~
    2
    yes camera too. sleep mode, i haven't tried video yet.
    2
    Cotulla

    Hi I hope that no one hates me for posting the same question again but I noticed for cotulla there is a patch and I have downloaded it. The only thing is I am not sure how to install the patch. Does anyone have any idea how? I put it in the root directory but noticed no change.

    Is there a certain program or folder that I should move the patch into? Any help would be great thanks. :D
    1
    I installed CopenWarren's Cyanogenmod 7 on my HD2 build 4/2/11.
    Ndrive does not work. It opens and then closes again. Any ideas on how to get it working?

    It was working perfectly on Darkstone1337's superramfroyo 1.5
    Not all apps work on the GingerBread Builds.

    Mark.