So lets get started!
What you need:
- latest XPEROID-release, fatsal-xperoid-20100221.7z, get it here
- 7zip to extract it, get it here
- sd-card, using fat32-filesystem with 500MB free space
What you need to do with it:
1. Extract fatsal-xperoid-20100221.7z on your computer. This will give you the following files:
- calibration, wlan-firmware
- haret.exe, runs the linux-kernel and android
- initrd.gz, initial ramdisk, needed for linux to boot (phase one)
- modules-2.6.27-00888-g339bdfc-dirty.tar.gz, linux- and android-driver for wlan
- rootfs.img, contains files needed for linux to continue boot (phase two)
- STARTUP.TXT, contains the parameter for haret.exe and boot-options for linux-kernel
- system.sqsh, contains all android system files
- zImage, contains the linux-kernel
- conf/*.user.conf, configuration files for android
- AndroidApps/*.apk, applications for android, installed during boot
2. Delete all the *.apk-files from the AndroidApps-directory. They are not needed for running android. You should keep the directory, just delete all files in it.
3. Download some essential android apps here, you will get essential_apps.zip. Extract it and put the apk-files into the AndroidApps/ folder.
4. go to conf/ and delete eclair.user.conf, then rename eclair.user.conf~ to eclair.user.conf. That will disable the swapfile.
5. open startup.txt and remove the mem-option mem=102M. This was suggested by hotlein here. That will increase the memory from 102m to 182M and improve android speed alot.
6. Copy all files and directories to the root of your sd-card. Do not create any directory, just copy them to the blank sd-card.
7. Put the sd-card in your phone if not already done. On the X1 open the sd-card and run haret.exe. You will get alot text running across the screen. During the boot-process, one file is created.
- data.img (256M). This file contains all the files normaly stored on the android-phone. Your settings, Applications, media, etc. You can always delete this file to reset android. It will be recreated.
First boot takes a while to complete, so be patient. Finally you should get the android welcome screen. Follow the on-screen-instructions and you are done!
Changing some settings
- IMPORTANT: Disable GPS in settings -> location & security -> Use GPS satellites, because it will hang the device!
- Turn off locks screen when holding red call button. Spare parts -> End button behaviour -> Nothing. That will simplify the shutdown procedure. Credits go to Reversedhex: Post
Now let's stop android
1. Press and hold the end-call-key. The phone starts to vibrate like crazy, ignore that.
2. After a few seconds a menu pops up. Dont release the button yet, keep holding it! If you changed end button behaviour, you can release it now.
3. Press down on the digi-pad. You may press it three times to go to the shutdown-option.
4. Now you can release the end-call-key. If you do not hold it, you will end up in the android lock screen.
5. Select shutdown option and confirm. Then android shuts down.
If you try another kernel-image (that is replacing zImage), the system may lock up during shutdown. Then you have to soft-reset your phone. But you should always try to shut android down.
Now you can update the linux-kernel:
1. Download the kernel-image, get the latest here. That gives you zImage_kovsky_20100325.zip.
2. Extract zImage_kovsky_20100325.zip to get zImage. This is the linux kernel.
3. Copy zImage to the root of your sd-card. You should always back up your existing zImage so you can go back.
4. Download wlan-modules, as they must match the kernel-image, get them from here. That gives you wlan-modules_20100325.zip.
5. Extract wlan-modules_20100325.zip to get modules-2.6.27-01006-ga30aafa-dirty.tar.gz. This archive contains the wlan modules. Do not extract this. Simply put this on the root of your sd-card. On android startup this file will be extracted on the modules copied for you.
As suggestet by angusmcb (post), i used for the latest kernel the latest cross-compiler.
Updateted kernel with working speaker sound is available here. The archive also contains matching wlan-modules.
Troubleshooting
Q. Android will not boot
A1. check if all needed files are present
A2. check if you have enough free space on card. Android creates two big files during first boot, so you will need at least 384M free space.
A3. you can try to delete data.img and swapfile to reset android. This helps if you messed up settings in android.
Q. Wlan wont start
A1. check if file calibration on sd-card-root
A2. check if file modules-*.tar.gz matches kernel-image
A3. you may try to enable wlan in windows mobile before running haret.exe
Q. How to stop android from using data connection
A. go to settings -> wireless & networks -> mobile networks -> access point names and delete all apn-settings
Q. Android-screen is upside-down
A. Slide out keyboard -> android switches to landscape. Then slide keyboard in -> android switches to correct portrait.
Q. I have no ringtones
A1. Put the ringtones in the MEDIA\AUDIO\ringtones folder (post, post for folder structure)
A2. Take a look at this post. Some characters make the android media scanner crash.
Q. I can not enter pipe-symbol. Where to find keymaping
A1. Press function key, followed by shift key, followed by commer key (right hand side of space bar) (linuxtux post)
A2. For keymapping in general take a look here. That is the default android keymapping.
Q. I want live wallpapers
A. Here you go. But be prepared for performance loss.
Q. I can not send SMS
A. Check this post by jimipoh. It might help.
Done for today