Linux port to the HTC Smartphones

Booting from Windows CE (Mobile)

The latest version of HaRET is capable of loading and executing the Linux kernel on the phone. For an HTC Typhoon phone and the kernel and initrd provided here, it has to be configured with the following parameters:

set MTYPE 689
set CMDLINE "root=/dev/ram0 ro console=tty0 init=/linuxrc omap_udc=nodma video=omapfb:accel"
set KERNEL image.bin
set INITRD initrd.bin
set RAMADDR 0x10000000
set RAMSIZE 0x02000000

This script is read by HaRET to setup the boot parameters of Linux. You can change the RAM size depending on your phone, but other parameters such as machine type and RAM address should be the same across all HTC phones.

Important Note: there is a glitch with the USB gadget driver for now, so you _have_ to boot with the phone plugged to a PC using the USB cable, otherwise the kernel will panic.

Editing the registry to run HaRET

In its default configuration, WinCE will not allow unsigned applications (such as HaRET) to run. Do to so, you have to edit the registry and change the following security keys:
[HKLM\Security\Policies\Policies\00001006] = 1 (allow unsigned applications to run)
[HKLM\Security\Policies\Policies\0000101b] = 1 (one-tier security model)

I have only tried that on Windows Mobile 2003 (the original version of my HTC Typhoon phone), I don't know if more registry tweaking is needed with other versions. If it is, let me know and I'll update this page.

To edit the registry you need a signed registry editor. This one is provided by PHM as freeware, distributed under this license (allowing me to redistribute it under the same terms). Its is included in the miniSD images for convenience.