Development thread for Linux on the HTC HD2
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
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://forum.xda-developers.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
~
Frequently Asked Questions
FREQUENTLY ASKED QUESTIONS & INSTRUCTIONS
Not so small Smallprint
TRY AND WORK THINGS OUT FOR YOURSELF BEFORE POSTING QUESTIONS. IF THAT DOESNT GIVE RESULTS THEN READ THE THREAD (THE LAST 20 PAGES SHOULD SUFFICE). THEN TRY THE SEARCH BUTTON.
IF YOU ASK A QUESTION THAT HAS BEEN COVERED IN THIS POST THEN YOU WILL BE GIVEN A WARNING AND YOUR MESSAGES WILL BE MONITORED. DO IT AGAIN AND YOU WILL BE GIVEN A 1 WEEK BAN.
IF YOU SEE A QUESTION BEING ASKED IN THE THREAD WHICH IS COVERED IN THE FAQ THEN PLEASE REPLY WITH A SIMPLE LINK TO THE FAQ AND THEN REPORT THE USER TO mskip (moderator).
IT IS RECOMMENDED TO INSTALL A HARDSPL ON YOUR DEVICE FIRST
YOU CAN FIND OUT MORE INFORMATION ABOUT INSTALLING HARDSPL AND CHANGING YOUR RADIO *HERE*
USEFUL SITES
Changelog of official HD2 GIT Linux kernel (shows driver changes etc)
Latest zImage (Linux kernel) and module files (automatically updated from GIT): http://oe.netripper.com/files/htcleo_autobuild/zImage-htcleo-latest
Port progress overview: http://htc-linux.org/wiki/index.php?title=Leo/Status
Android builds and download links: http://gamesquare.co.uk/ or http://robsbay.co.uk/
INSTALLATION INSTRUCTIONS FOR DIFFERENT BUILDS
DarkStone1337 - HTC Sense (Desire build)
1. Download from one of the above sites and extract the contents to your pc
2. Copy all files to the ROOT of your Storage Card
3. Soft Reset your device then using a File Manager goto your Storage Card and run clrad.exe (it wont do anything but it has run) followed by haret.exe (do this within 30 seconds of your phone booting into Windows Mobile)
4. Wait for Android to boot (may take upto 5 minutes)
5. Update your Linux kernel and Linux kernel modules (drivers). See below
DarkStone1337 - Froyo build
1. Download from one of the above sites and extract the contents to your pc
2. Copy the Android folder (including all files within the folder) to the ROOT of your Storage Card
3. Soft Reset your device then using a File Manager goto your Storage Card, Android folder and run clrad.exe (it wont do anything but it has run) followed by haret.exe (do this within 30 seconds of your phone booting into Windows Mobile)
4. Wait for Android to boot (may take upto 5 minutes)
5. Update your Linux kernel and Linux kernel modules (drivers). See below
Patched RootFS files (thanks to michyprima) to gain Root access to your Android Build:
DarkStones DesireV5 build - *HERE*
Useage: Copy the required file across to the right place on your Storage Card, overwrite the existing file. Load Android and thats it.
INSTALLING NEW LINUX KERNEL (zImage) AND MODULES (.ko files)
Three Things to know about the Linux kernel
1) The Linux kernel is the center of your of your operating system. Its core is seated in the kernel image (zImage file - the z means it is compressed). It contains most of the drivers.
2) Some drivers go external via Linux kernel modules (.ko files). E.g. in the HTC HD2 Linux kernel, the WiFi module is supplied as bcm4329.ko
3) The kernel image and kernel modules are made to match. They need to have the exact same version. This means if you pick a random .ko file things might go wrong => Find always up to date kernel image and matching modules here
Editing startup.txt
1) The following lines are needed in startup.txt to make GIT kernels work in any build !
set mtype 2524
set ramaddr 0x11800000
set ramsize 0x1E400000
set initrd_offset 0x00a00000
set kernel zImage
<ADDITIONAL PARAMTERS GO HERE!!!!!!!!1 Remove this line.>
bootlinux
Click to expand...
Click to collapse
2)Additionally you need to specify the following. Those parameters are dependent on the build you use. Look them up in your present startup.txt
*Initial ram disk filename (set initrd initrd.gz)
*Command line paramters (set cmdline "foo=bar google=android" )
Click to expand...
Click to collapse
Installing the latest Linux kernel image (zImage)
1) Download the latest Linux kernel image (right click, save file as)
1a)for Google Android
1b) for classical GNU/Linux based distros (Ubuntu, openemebdded, meego, maemo etc)
Be aware these build links are dynamic and will be updated once the Linux kernel source code is updated. See here for static links
2) Rename the file to zImage
3) Overwrite your old zImage file with the newly obtained zImage file
Click to expand...
Click to collapse
Installing the matching Linux kernel modules (.ko files)
1) Download the latest Linux kernel modules to match your kernel image
1a) for classical GNU/Linux based distros (Ubuntu...)
1b) for Google Android
2) Install the modules...
2a) in GNU/Linux
As root run
cd /
tar xvf /path/to/modules-htcleo-usbhost-latest.tgz
Click to expand...
Click to collapse
2b) For Google Android...
extract the modules-htcleo-latest.tgz file
you will notice it contains a directory structure.
example for module locations within modules-htcleo-latest.tgz :
WiFI module:
lib/modules/2.6.32.9-38151-g827fa85/kernel/drivers/net/wireless/bcm4329_204/bcm4329.ko
Network tunneling module:
lib/modules/2.6.32.9-38151-g827fa85/kernel/drivers/net/tun.ko
Yet Another Flash Filesystem module:
lib/modules/2.6.32.9-38151-g827fa85/kernel/fs/yaffs2/yaffs.ko
Basically you want to copy all .ko files you need into /system/lib/modules directory
Learn 3 Methods to do so detailed in the following:
memin1857 said:
Three different methods for replacing bcm4329.ko (which makes wifi work) Method B seems to be the best.
Easiest: (uses winmo, does not use third party app or commands)
A) (MAY ONLY WORK FOR SHUBCRAFT BUILD) Under winmo, create a folder named root inside your Android folder in your sdcard. This folder named root will be the actual root when Android boots up.
For example:
Create this folder structure under winmo:
STORAGE CARD\Android\root\system\lib\modules
and copy the bcm4329.ko file in it. It will look like this:
STORAGE CARD\Android\root\system\lib\modules\bcm4329.ko
Boot Android and the file gets copied to the protected Android file system. (/system/lib/modules)
If you do this from within Android, reboot to take effect.
B) Start a Terminal Emulator within Android. (Install a terminal emulator from market if not already installed) Copy bcm4329.ko to sdcard root beforehand. Filename has to be all lowercase. Enter these commands:
su
mount -o rw,remount /system
cp /sdcard/bcm4329.ko /system/lib/modules
you should get no response and wifi should work immediately.
you may want to make system readonly again with command
mount -o remount r /system
Delete old bcm4329.ko file if it exists at /sdcard/Android/root/system/lib/modules or it will come back on next reboot.
C) Use a third party app like Root Explorer, Droid Explorer, Root Manager, ES File Explorer and copy the bcm4239.ko file to /system/lib/modules which is mounted in read-write (RW) mode.
(DROID EXPLORER RUNS FROM WINDOWS XP/VISTA/7 and uses adb. No reboot required. Others run from within Android)
You can do A, B OR C. You don't need to do them all. Method A had only been tested in shubcraft v1.2b build.
As a fourth way you can use adb command that comes with android sdk. install usb drivers from within android sdk and connect your hd2 with usb debugging enabled. commands are same with terminal just put adb in front of it and run from folder adb is in.
If you copy an incorrect version of bcm4329.ko that is not matched to your zImage kernel wifi will say error and not work.
You can also WAIT for a new build that properly includes these files already to come out.
You can get bcm4329.ko file from http://oe.netripper.com/files/htcleo_autobuild/modules-htcleo-latest.tgz
Open the tgz file with winrar or similar program. The bcm4329.ko file is under lib\modules\2.32.xxxx\kernel\drivers\net\wireless\bcmxxx
Click to expand...
Click to collapse
Click to expand...
Click to collapse
GENERAL FAQ
*Some Roms are reported to work better with Android than other Roms. Duttys Roms seem to have the robot voice problem on calls. Miri's WM6.5 v17 Roms and NRGz Energy Roms seem to work best and have fewer problems.
* With some old radio rom versions it is impossible to boot Linux. Make sure you install a 2.08 + Radio. known working Radios are 2.10.50.08_2 and 2.12.50.02_2
* With the working Linux kernel any kind of Linux based userspace can be used on hd2. This includes google android and any other Linux distribution.
* This is a work in progress! Lots of stuff is still missing. Check http://htc-linux.org/wiki/index.php?title=Leo/Status for current state of affairs
* We know about most available sources of Linux kernel code for the snapdragon devices. It is not necessary to point to evo, bravo, nexus etc.
ANDROID TIPS AND HELP
No Sound in Android: Make sure you run clrad.exe BEFORE running the haret.exe file to boot Android. When you run it, it will not do anything but it does run.
Mobile Internet isnt working on TMOUS HD2: T-Mous users have to manually enter the APN for the mobile internet to work. Go into Network, Mobile Networks, APN. If the APN screen is blank press the Windows button and choose "Add APN" from the menu that pops up. Enter the following, Name: epc.tmobile.com, APN: epc.tmobile.com. Leave the rest blank. Then press with Windows button again and save. Your mobile internet will now work.
Setting up APN (Access Point Name) for Wireless Internet (other than TMOUS): Get your settings from *HERE* then on Android goto Settings, Wireless & Networks, Mobile Networks, Access Point Names. If bank press the Windows Button, New APN and enter your details.
For those having issues with WiFi turning on and off: Go to Settings>Wireless and Networks>Wi-Fi settings>Advanced(Windows key)>WiFi sleep policy> Select Never
Green Screen when booting into Android: Pull out and reinsert the battery, restart the phone and try again.
Phone gets stuck when loading Android (progresses very slow or stuck in the same postion for several minutes): Pull out and reinsert the battery. Delete all references to Android from your storage card including the cache folders and any folders Android created. Then copy the downloaded files back to the ROOT of your storage card or where you are supposed to place them (including the AndroidApps and media folders if you have them). Soft reset your device and run the clrad and haret files within 30 seconds of WinMo loading or use a program such as JMZ's Bootloader.
Sleep of Death (not coming out of sleep): Update your Linux kernel image and modules as instructed above, then restart your phone and restart Android. If you keep getting Sleep of Death with the newest Linux kernel image and Linux kernel modules files then reformat your storage card with FAT32 and start over again. Always make sure you run the latest Linux kernel image and modules.
How to install .apk files on Android: Copy the .apk file to your storage card that you want to install. (see kernel guide for android file copying howto) Load Android and run 'Linda File Manager' from the programs list, then browse to 'SD Card' (complete action using Linda File Manager if asked) and then to the folder where you put the .apk file. Note: To see more information on the screen minimise the keyboard, then click 'view' and select 'details'. Once you have found your .apk file click on it then tick 'Use by default for this action' and select 'package installer'. Now just follow the onscreen instructions to install your program. OR you can copy the .apk files to the AndroidApps folder in the ROOT of your Storage Card and they should auto install when Android loads (most of the time).
Battery isn’t charging in Android: Install the latest Linux kernel image and Linux kernel modules as detailed above.
Excessive Power Consumption: Remember that all these builds are still in beta version and not complete. Alot of things are still being ironed out.
Programs and system functions not working (such as Video camera, Bluetooth, Keyboard backlight on sleep, etc): Install the latest Linux kernel image and Linux kernel modules as detailed above.
No Ringtones or Notifications in setup (in DarkStone's Builds): Download the following file http://gamesquare.co.uk/media.zip (copy the link into your browsers address bar or it wont download). Extract the 'media' folder (make sure the folder has sub folders with the sounds inside those) to the root of your SD card. Now go to Settings, Sound and Display, Phone Ringtone or Notification Sound and they should be there.
What is a zImage? zImage is a Linux kernel binary image. It is the core of your operating system containing most of the drivers. The prepended z means that it is compressed with the gzip algorithm, making it smaller than the non compressed Image file.
Can I use more multiple zImage files at the same time? No. Your phone can only execute one Linux kernel at a time. HaRET.exe (the bootloader) reads the kernel filename from startup.txt - You can maintain multiple zImage files on your phone but chose only one via startup.txt
How do I change the background wallpaper? Hold your finger on the screen and select Wallapers from the popup list.
How do I change the settings? Press the Start Menu button on your phone (middle hardware button) to bring up the menu, then select the bottom middle button (settings or preferences depending on your Android build).
I cant update an app thats pre-installed (i.e. facebook or twitter): Download Root Explorer from the Market, then open it and browse to the 'system, app' folder. Delete the apk file of the app you want to update then try downloading and installing it again.
If you are trying out a TEST build of Android then you SHOULD have a basic level of intelligence (laughs quietly to self) so PLEASE use your brain and try to work things out for yourself before posting a question.
USEFUL ANDROID APPS
* Android System Info (by ElectricSheep, Excellent system information app): Download FREE from Market
* Battery Indicator (gives battery and temperature % readout in the taskbar): Download FREE from Market
* BatteryMinder (excellent battery information program with time left and temperature): Download FREE from Market
* CalWidget (excellent alternative to the standard calendar with lots of sizes): Download FREE from Market
* Dropbox (from Dropbox inc. excellent way to transfer files to your phone): Download FREE from Market
* FaceBook for Android (v1.2): Download FREE from Market
* Footmob (football from everywhere): Download FREE from Market
* Gmote (allows you to control your pc from your phone): Download from http://www.gmote.org/
* Google Earth (great app for viewing anywhere on the earth): Download FREE from Market
* Google Goggles (visual recognition app, well worth trying): Download FREE from Market
* Handcent SMS (enhances your sms functions and has a nice message widget): Download FREE from Market
* lastfm (really good free music streaming player similar to Pandora): Download FREE from Market
* MoreLocale 2 (nice little program that adds more locales and even add custom ones): Download FREE from Market
* Myplayer (watch on-demand tv programs for free): Download FREE from Market
* Nexus One Torch (by Ben Buxton, LED works when High Brightness is turned on): Download FREE from Market
* Opera Mini Browser (very nice and feature packed internet browser): Download FREE from Market
* Phonebook 2 (excellent contact manager app): Download FREE from the Market
* Photoshop.com Mobile (nice image editing program): Download FREE from the Market
* Qik Video Camera (record and share video, works as video camera on beta roms): Download FREE from the Market
* Ringdroid (create your own RingTones): Download FREE from Market
* SetCPU (great app allows you to tune the cpu for different situations): Download *HERE*, HowToUse it *HERE*
* Sky Remote record (says it all - tested and working fine for UK): Download FREE from Market
* TempMonitor Lite (puts temperature in taskbar): Download FREE from Market
* Zedge Ringtones & Wallpapers (free ringtones, message tones and wallpapers): Download FREE from Market
USEFUL ANDROID INFORMATION
1. The difference between Desire Builds and Froyo Builds (thanks to memin1857)
Desire build is ripped from an HTC Desire. It is Android version 2.1 (Eclair)
Froyo build is ripped from a Nexus One. It is Android version 2.2 (Froyo)
Froyo is a newer and much faster Android version. It is currently only available on Nexus one officially. Other newer phones will get it eventually.
HTC Sense is the user interface on top of Android. Desire builds have it already. It can be disabled for standard Android interface.
2. Importing WM Contacts into Android (thanks to brownman)
You need PIM Backup, a computer with internet access and a Gmail account.
1. Open PIM Backup on your Windows Mobile device. Select the Backup action and unselect everything but contacts, then hit Next.
2. At the "Select backup filename and folder" screen, unselect the "compress backup" and "binary backup" options, then hit Next.
3. Transfer the BACKUP.PIB file that you just made from your phone to your computer. Change the extension from .PIB to .RAR, then extract the file.
4. The extracted file should be BACKUP.CSC. Simply change the extension to .CSV and import the file to your gmail account. All your contacts can now be imported to your phone through gmail - just follow the instructions given in the phone's contact menu.
or activesync with google http://www.google.com/support/mobile/bin/answer.py?hl=en&answer=138636
3. Putting a Shortcut button on HTC Sense, etc to start Linux (in order to boot Android, Ubuntu, etc)
1. Make sure you have your Android build copied to your Storage Card as instructed earlier in this FAQ
2. Install mskip's Android Loader from *HERE* and install to DEVICE Memory
3. Add a Shortcut Button to your Sense, Mobile Shell or other Today Screen Plugin
4. Click on the button to start Android loading
4. Adding languages to Android Operating SystemBU
Read *THIS* thread.
Mark & dcordes
Nice with an update thread like this, but may I ask, is this a "developers only" thread or? - Just to be sure.
mooooooa said:
Nice with an update thread like this, but may I ask, is this a "developers only" thread or? - Just to be sure.
Click to expand...
Click to collapse
you can rant as much as you like.. I will focuse on the first two posts ;P
Is it not possible to take the sw from the new HTC Evo4g is out sprint??
LG (GertS) said:
Is it not possible to take the sw from the new HTC Evo4g is out sprint??
Click to expand...
Click to collapse
Den nye HTC Evo kan jo nærmest ikke sammenlignes med HTC HD2. Andet batteri, HDMI udgang, større kamera, front kamera osv osv. Så nej.
-
Short version @English:
No. - The Evo has different hardware.
Alright, i booted the image... and the flashlight turned on for a sec, then everything turned black... thats it right?
i had to swap the default.txt to get haret to boot :/
This is only somewhat related, but nonetheless should make people less hesitant about trying android if and when we have a working ROM.
I talked to TMobile (US), and, while you cannot use an Android device on a Smartphone plan (which is what the HD2 uses), you can switch back and forth, more or less at will, between Android and Smartphone data plans. Knowing this will certainly come in handy when actually trying to connect to the internet.
Personally, I just purchased the HD2, and after using a G1 with Android for a year and a half, I feel like I am going to puke. Why is Winmo such a confusing mess? For some reason I thought it was a mature operating system, but it feels much less polished and stable than Android. Back to the store with it until linux is cracked!
should i sell my nexus one or the htc hd2? hopfully we see android on this thing and i might consider keeping the htc hd2....what u guys think? keep or sell? the hd2 screen makes my nexus one look silly...ha
ok a bit further on .. I managed to find a working (ahem) config for usbnet .. i have managed to ping my leo from my linux box and managed to get a telnet prompt .. The telnet does not fully let me in due to lack of job control i think but for now this is cool ..
Markinus is working on refining this work and making the config default so we can all benefit without the pain ..
for now if you want to see (well my brain dumps and some other output ...
http://pastebin.com/D2VZYFiv
and try the Image, root filesystem and default.txt (and dot-config if your kernel compile inclined)
The shell is crashy and not useful yet ...
http://www.megaupload.com/?d=IQ55N0Q3
Enjoy !
Cass67 said:
ok a bit further on .. I managed to find a working (ahem) config for usbnet .. i have managed to ping my leo from my linux box and managed to get a telnet prompt .. The telnet does not fully let me in due to lack of job control i think but for now this is cool ..
Markinus is working on refining this work and making the config default so we can all benefit without the pain ..
for now if you want to see (well my brain dumps and some other output ...
http://pastebin.com/D2VZYFiv
and try the Image, root filesystem and default.txt (and dot-config if your kernel compile inclined)
The shell is crashy and not useful yet ...
http://www.megaupload.com/?d=IQ55N0Q3
Enjoy !
Click to expand...
Click to collapse
What about the datasheet for the touchscreen driver? Any news?
chris5932 said:
What about the datasheet for the touchscreen driver? Any news?
Click to expand...
Click to collapse
Not as far as i have heard ..
i've a questino though @ devs. you said that the kernel is the difficult part... and after that we can easily get linux etc on it? even maemo ?.. since it's based on linux
just wanted to drop in and say hi. unfortunately there's no news yet regarding the freeze problem.
that video is just a joke. some VNC client as they say on the site. as you can see he has winmo screenlock ^^
once we have the kernel problem fixed of course you can run maemo on the hd2.
edit: btw, any datasheet news ?
It's kinda quiet in here since the recent news about WP7S.
Thanx for the update DCordes, can you put into perspective on where about you guys are then?
Is Linux booting?
If so, how is it running?
What hardware are you having problems with?
What hardware is working?
Do you have a projected ET for having Android on the HD2? Even if not finalised, but maybe first Boot?
Thanx
Keep up the good work guys (DCordes, Netripper, Markinus, CR2, Tidsk and the rest of the guys)
Seg
it's actually all in the first post. we have that problem with the kernel freezing and we don't know why yet. that's the big show stopper right now.
except for that the overall situation looks very good! sd card and even usb host is working already ^^
Hi from France,
No idea about the kernel freeze problem ... What should happen after SD card driver being loaded ?
About the multitouch datasheet, I've been searching for it for 2 days, I didn't find anything. I just asked Elan about the release date of this. Waiting for reply ...
Thanks for your work
CleM71 said:
What should happen after SD card driver being loaded ?
Click to expand...
Click to collapse
for me it crashes after init is executed (initrd or extracted to mmc, no difference) or when rootdelay is added in cmdline.
CleM71 said:
About the multitouch datasheet, I've been searching for it for 2 days, I didn't find anything. I just asked Elan about the release date of this. Waiting for reply ...
Click to expand...
Click to collapse
thanks I'm very curiious if somebody will get a reply when I tried the same thing for an aptina camera module they never answered.
with usb host working it's actually not so critical. we could use usb mouse or keyboard until we have a working leo ts driver.
ragdoll20 said:
i know, i know, you will take donations once there is some work done *beta* or something.
Click to expand...
Click to collapse
I can't speak for the other devs but I personally never said such things.
Well, the guys that are really actively working on this are written in the first post.
Anyway, Tigerzen, Cass_VM and me, we're working on this with more relax, but we're only active testers and rarely we've helped in the kernel development (if we have).
There are many things working now, but what we really need is a datasheet for our Elan digitizer(/controller) for developing a driver for our touchscreen.
Hoping the best....
The Eugenia Project Developer
-kholk
So, I am currently messing around with android programming, and i am using android studio and my ide of choice. I have made a few simple apps(calculator and whatnot) without issue. But now i am trying to make an app using the youtube data api. I can not even get started on it though because i cant get the api to work. Heres what i have done so far.
I have taken the api zip file and unzipped it. This produced an youtube folder. I than copied this folder to the libs folder in my project. This caused no issues in and of itself.
I than tried to add some imports based on the api and that caused an syntax error
To fix that error i added the following lines to the build.gradle in the dependencies section at the bottom
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
This fixed the syntax errors and also allowed it to build successfully
The issue comes when I try to actually add something based on the api. When i add the following lines of code...
Code:
/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();
/** Global instance of Youtube object to make all API requests. */
private static YouTube youtube;
there are no syntax errors, but when i attempt to build it I get a single error
Code:
Gradle: Execution failed for task ':ApiTest2:dexDebug'.
> Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.2.2/dx --dex --output /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/libs/ApiTest2-debug.dex /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/classes/debug /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/build/dependency-cache/debug /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-servlet-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-servlet-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-protobuf-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jdo-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc-sources.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/transaction-api-1.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jackson-core-asl-1.9.11.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/protobuf-java-2.4.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/httpclient-4.0.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-java6-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/gson-2.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-gson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/commons-logging-1.1.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-android-1.16.0-rc.jar /Applications/Android Studio.app/sdk/extras/android/m2repository/com/android/support/support-v4/13.0.0/support-v4-13.0.0.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jackson-core-2.1.3.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-gson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-java7-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-android-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jetty-util-6.1.26.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jackson-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/httpcore-4.0.1.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jetty-6.1.26.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-jetty-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jdo2-api-2.3-eb.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-oauth-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/google-api-services-youtube-v3-rev70-1.16.0-rc-javadoc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/jsr305-1.3.9.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-appengine-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-java6-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/xpp3-1.1.4c.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-http-client-jackson2-1.16.0-rc.jar /Users/Andrew/AndroidStudioProjects/ApiTest2Project/ApiTest2/libs/youtube/libs/google-api-client-jackson2-1.16.0-rc.jar
Error Code:
1
Output:
trouble processing "javax/transaction/HeuristicCommitException.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.
However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.
If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.
If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.
If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.
1 error; aborting
And i am not sure why this is happening. I am sure I am doing something wrong, but I havent found anywhere online where i shows how to do this exactly and through all my tinkering i havent gotten it to woerk.
Any help
Anyone have any ideas? Over 100 views and no replies
Hi,
although I haven't face the same problem, I think I can analyze your problem.
It's because dependencies in your gradle.build
You can't declare 2 "compile"(s) statement like what you've done.
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
That's wrong, though I don't know how to solve that given that I'm still learning about it.
I thought that these links can help you solve it:
- http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
- http://www.gradle.org/docs/current/userguide/dependency_management.html
JoshieGeek said:
Hi,
although I haven't face the same problem, I think I can analyze your problem.
It's because dependencies in your gradle.build
You can't declare 2 "compile"(s) statement like what you've done.
Code:
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
That's wrong, though I don't know how to solve that given that I'm still learning about it.
I thought that these links can help you solve it:
- http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
- http://www.gradle.org/docs/current/userguide/dependency_management.html
Click to expand...
Click to collapse
curious if either one of you figured it out.
If you are trying to use youtube api add the following line to the gradle build.
Code:
compile 'com.google.apis:google-api-services-youtube:v3-rev107-1.18.0-rc'
You dont need to download and copy the youtube project into your project.