Typhoon Hurricane Tornado

Linux port to the HTC Smartphones

The goal of this page is to provide information and resources to help porting Linux to the HTC family of smartphones. Most of the current information concerns only the HTC Typhoon (Orange SPV C500, Qtek 8010, I-Mate SP3, dopod 565, audiovox SMT5600, Intellekt iQ700), but is also valid for other models such as the Hurricane (Orange C550) and Tornado (Orange C600). Have a look at the Xanadux wiki where more information on the phone models is available. Many thanks to itsme for his hard work and excellent tools concerning the phone ROM encryption.

To use the software provided here, you will need a miniSD card and either an unlocked phone (see this post for details) or the unique identifier of this miniSD. Otherwise, the SPL will error with the "Not allow update!" message.

Alternatively you can now boot from WinCE using HaRET 0.4.7 and this configuration file. Make sure the following keys are set properly in your registry, using for example this signed freeware registry editor:
[HKLM\Security\Policies\Policies\00001006] = 1 (allow unsigned applications to run)
[HKLM\Security\Policies\Policies\0000101b] = 1 (one-tier security model)

To compile the source code, please use the following ARM toolchain from handhelds.org.

You can contact me at this address if you are interested in participating to this project.

EOL bootloader

The goal of the bootloader is to load Linux and optionally an initial Ramdisk from the miniSD. Our very simple bootloader is named EOL and is designed to be put on a miniSD card and loaded by the SPL (the initial loader in the flash ROM) by faking a diagnostic card signature. It has support for all types of FAT filesystems (thanks to Steve Henson). Configuration is read from eol.conf at the root of the filesystem.

Linux kernel

The Linux tree is derived from the OMAP tree at muru.com. The current version is 2.6.22-rc4 and has support for the framebuffer, USB (network or serial device), mini-SD, keypad, and leds. See the status page for more details.


The distribution is yet to be done. Currently we use a very simple one consisting only in busybox and a few scripts. We are to planning build a real one soon based on Open Embedded. Source is here.


Releases of the bootloader, kernel and userspace are provided in the download section as 16MB mini-SD images and in source form. The easiest way to try the port is now to boot from Windows CE using HaRET.

The kernel can also be booted directly from the SPL or an unlocked phone, by pressing the Camera and Power button. On a locked phone, there is also the alternative of compiling your own bootloader and signing it properly using the SD card unique identifier (see installing). For details on the booting procedure and miniSD authentication, see here.

None of these procedures reprogram the device.