I have been using a T-Mobile G1 phone with new open source Android operating system for a while. It was a sort of “least evil” decision first, but later I started to like the phone. One the main reasons I changed my mind was the ability to flash other firmwares that the original. This is where the real power of open source comes in – you are free to change anything you want.
I haven’t time to play with the phone to create the environment to be able re-flash the firmware – particularly to create so called “Gold card” which enables you to store file on this SD card which will be used in the recovery mode as a source of new firmware. I approached one of the users of Android forum [czech only] to help with
this. Thanks and respect to Xsoft.
When I got everything to flash a new firmware a natural question appeared – which one to flash? You can find quite extensive overview of the firmwares in JAB ROM database. My experiences with the major ones are:
- Haykuro – Heavily modified with stuff from HTC meaning more features on one hand, but bugs, a lot of chineese on the other hand. Visually more flashy and coloured, but not as polished and clean.
- Jesus Freke – One of the first mods, the base for most other builds. Enough for everyone, visually clean and polished based on original Google user interface.
- The Dude’s – I used only version 1.2 and it is completely horrible visually with modified theme, icons and everything. Otherwise seemed allright.
I found two others which seemed to me OK – Cyanogen (a.k.a. “Jesus Freke on steroids” performance optimized, stripped to tha base) and TwistedUmbrella (Jesus Freke with ports of some HTC enhancements), but none of them has a important feature to me because of ability use GSM banking with my bank – SIM Toolkit application. They are both based on US version of Jesus Freke firmware which probably does not contain it in contrast to EU version.
So started hacking it … and here you have a simple guide how to create your customized firmware.
- Get and unpack the base firmware you would like to modify.
- Change the content of the directory structure as you wish (copy the apps into it in /system/apps, add media files into /media, …). The easiest way is to reuse other firmwares, but of course you can experiment much more.
- Download and unpack SignApk application to be able sign the firmware package (private keys and certificate compatible with recovery image are included).
- Delete the signature in /META-INF – files CERT.RSA, CERT.SF and MANIFEST.SF
- Zip all the content in your structure into a your_firmware.zip file and put it into the directory where you unpacked SignApk.
- Sign the zip file with SignApk:
java -jar signapk.jar testkey.x509.pem testkey.pk8 your_firmware.zip your_firmware-signed.zip
Now you can proceed firmware flash with this signed file. If you do not want to get into here is my modified Cyanogen’s firmware version 3.4. Changes are:
- SIM Toolkit added
- MarketEnabler 3.0 beta added
- few media files from JF 1.51 (ringtones, notification etc.) added
Download it here: update-cm-3.4-mod_ch-signed.zip [46.8 MB].