Installation Guide

Installation of the XDAndroid project releases is fairly simple. This short, concise guide will outline what must be done to boot into an XDAndroid system on your device.

Downloading and Unpacking
Download an XDAndroid project release from the files repository (North American Mirror). The latest system is and may be downloaded as a system image update from here - [ system image only]. However, most prefer the full bundle, which is available here - [ full bundle].

The XDAndroid project releases are typically packed as Zip files. Zip and most other archives may be unpacked by the 7-Zip program.

XDAndroid currently requires a MicroSD card for use. This SD card needs to be inserted into your phone and must remain in the phone while XDAndroid is running. It should be formatted (Full Format) FAT32. We recommend using the HP Tool to format if you use Windows. The card should also be at least 512mb, with a 1gb card recommended.

Unpack the entire XDAndroid 'full bundle' to the root of your SD card. If you want to extract everything into a folder (andboot, FRX06, etc) that's fine - if haret.exe et al aren't at the root of the SD, you need to specify a rel_path in the startup.txt file. More on this later.

It is recommended that you update the various components of XDAndroid with incremental updates. Please see Incremental Updates for information on updating those pieces.

Configuring XDAndroid
The XDAndroid release package is unified. This means the project can release a single package which supports all of the devices capable of running the system. As a consequence, the user must do some minor configuration to tell the system which device it will be running on.

This configuration is done within a startup.txt file. For convenience, a variety of startup.txt files have been provided in the STARTUPS directory wherever you extracted the package to. The appropriate startup.txt needs to be copied into the root directory (or where you run haret.exe from.) For example, I like to run Android two folders deep. Assume /sdcard is the root of the SD - so my Android install is in /sdcard/Androids/FRX06. In this case, you need to put a rel_path=Androids/FRX06 statement in the startup.txt file, between the quotes after set cmdline</tt>. Obviously you need to change this statement to however your build is setup - if everything is at the root of the SD this statement is not necessary, and if everything is in a folder, andboot</tt> then rel_path=andboot</tt>. In STARTUPS</tt> is a directory for each supported device. See the table below to find which directory serves certain devices. The FAQ also has some useful tips on sorting out which device you have.

Once the proper startup.txt</tt> is in place, the system may be booted.

Booting the System
Currently, the XDAndroid system must be booted while running Windows Mobile, using HaRET in a manner similar to loadlin. That is, it is not currently possible to boot XDAndroid immediately from the BIOS (à la GRUB or LILO). This is because XDAndroid is not currently able to properly initialize all of the hardware devices, and depends on Windows Mobile to do so.

Using the Windows Mobile File Manager (or your preferred alternative), navigate to your MicroSD card and into the directory that was setup earlier.

Run the program haret.exe</tt>. This will load the Linux kernel into your device's memory and begin executing it. This will cause Windows Mobile to shut down immediately and ungracefully (though due to the TFAT filesystem on the device's storage, there should be no worry of data loss).

During boot, you should see console text scroll along the screen. This text is white on a black background and is part of the normal boot process.

The first boot into XDAndroid will take some time. The device must do a number of things: create a data filesystem where apps and settings are stored; unpack the current kernel's modules; calibrate the screen; and set up and execute the Android system.

The screen calibration is a rudimentary five-point location check very similar to what Windows Mobile does on first boot of a newly installed ROM. The program will prompt the user to tap each consecutive box in the center, firmly and shortly. After this calibration is complete, the system will begin running Android. If you have any issues with calibrating, see the FAQ.

Once the system begins to run Android itself, you will see a boot animation instead of the old console text. At this point, the first boot of Android must do quite a bit of work to install and optimize packages, configure default settings, and provision the device for the user. Overall first boot time will likely be up to 5 or 10 minutes. Even after seeing the UI/lock screen, you may want to let the device settle for a few additional minutes.

Initial Android Setup
After all the waiting, you should see a lock screen. Unlock the device and enjoy! Initially you might want to go to Settings -> Accounts & Sync and setup a gmail sync account so you can use the Market and sync your contacts.

Your XDAndroid system is fully configured and ready to use. Congratulations!