So now that Vodafone Spain finally released a Froyo OTA upgrade for HTC Magic, I've built a cooked ROM from the official OTA upgrade. The ROM tries to ressemble the stock ROM, but including the following extras:
- /system/etc/install-recovery.sh is removed, so it won't overwrite your recovery on every boot, as the stock ROM does
- This ROM is rooted. Superuser.apk is installed on system.
- Included apns-conf.xml from Cyanogen, so APNs from all operators are available, not just from Vodafone.
- Google applications updated to the latest release: Maps, StreetView, Gmail, Market and Youtube
- Replaced keyboard with Gingerbread (Android 2.3) newer keyboard.
- Removed the Vodafone Live application and shortcut
- Removed Gingerbread keyboard, better install as separate package if you want it (see link)
- Updated Google Maps and Market to latest versions.
- Include busybox, it's needed for some root applications
- Deodexed (takes some time on first boot, saves space on /system)
- Re-signed (needed to include STK)
- Included STK (Sim-Toolkit) application ("Servicios SIM" in Spanish). Required for some virtual operatos to work in Roaming
- Added Sound Recorder icon in Launcher (application was there, but only accessible from MMS when adding a sound)
- Added support for scripts in /system/etc/init.d (useful for adding compcache, swap, etc).
- Removed the "assert shappire" line on installation script. Should allow installation on Dream/G1
- Revert some re-signed packages to allow Google applications updated via Market
- Load ipv6 module to have Google Goggles working
- Replace stock kernel with a custom kernel for better performance and memory tweaks
- Enable compcache (compressed in-RAM swap memory) on boot by default, to get some extra free MB on magic 32B, which makes the system much more usable (applications and launcher are not killed all the time). Tweaks can be customized using setprop (see later)
- Overclock CPU on boot. Can be tweaked using setprop (see later)
- Include support for Live Wallpapers
Please note that this ROM is only for HTC Magic 32B (not for 32A or Dream). You'll need to use the System-Only ROM and a different kernel and/or SPL for 32A or for HTC Dream.
This latest update (version aim3) includes:
- Android 2.2.1 (FRG83D)
- SPL (HBOOT) version 1.33.0013
- Radio 18.104.22.168
- Kernel 22.214.171.124 from Farmatito (http://forum.xda-developers.com/show....php?t=1010932)
About the SPL and Radio: This is a perfect SPL, so it won't allow you to flash unsigned images from fastboot. Please make sure you have a custom recovery image. The new 2.22.28 radio won't work with other older SPLs, but it's worth the additional RAM (15MB). Also, if you want to install another kernel, it must be compatible with this radio version.
Requeriments and pre-installation
You'll need a custom recovery that allows you to flash the update.zip file. Clockworkmod recovery or AmonRA should do the job.
Make sure you have a good battery level, and make a full backup before installing.
Disclaimer: I won't take any responsibility if this bricks or damages your device.
Due to resigning, you can't update from previous version. A full wipe is required, sorry. However, if you backup your data and apps with Titanium Backup, and then restore them, it should work if coming from a previous version of this ROM, or if coming from the stock versions. There are no guarantees if coming from other non-official ROMs
This is the way the official OTA is done. First, the HBOOT (SPL) is updated to 1.33.0013. Then, the system, kernel and radio are updated. If you want to make the installation this way:
1. SPL Update. First download http://dl.dropbox.com/u/3658919/andr...hboot_0013.zip (Mirror: http://content.wuala.com/contents/ai..._0013.zip?dl=1) and apply update from recovery (copy to the SD Card, then choose Apply .zip from SDCard, and choose the zip file). It will reboot a few times during the upgrade. Finally it should boot the system with the previous version, but the SPL will be upgraded.
2. System+Radio+Kernel update. Download http://dl.dropbox.com/u/3658919/andr..._nohboot_s.zip (Mirror: http://content.wuala.com/contents/ai...oot_s.zip?dl=1) and from recovery wipe Data and Cache. Apply update from recovery, the same way. It should reboot a few times and finally boot the system, updated to Froyo.
Installation (System-only installation)
If you already have SPL 1.33.0013 or 1.33.0013d, and radio 2.22.27.08 or 126.96.36.199, and want to install only the system files, then download http://dl.dropbox.com/u/3658919/andr..._nohboot_s.zip (Mirror: http://content.wuala.com/contents/ai...oot_s.zip?dl=1), and apply update from Recovery.
If you have an 32A, you should be able to use the System-only installation, and when finished, flash an appropiate kernel (the included kernel is for Magic 32B).
Latest version includes some performance tweaks which are applied on boot. There's no GUI for changing these settings, but they can be easily changed using a command line (for example adb shell).
First, get a root shell (adb shell, then su). Then you can use the command:
setprop propertyname newvalue
- persist.tweaks.ramzenabled: Enabled (if 1) or disabled (if 0) the compressed RAM swap. If not set, it defaults to 1 (enabled).
- persist.tweaks.ramzsize: The size of the compressed in RAM swap memory, in KB. If not set, it defaults to 32768 (32MB). Don't try anything higher than the amount of memory in your system. I wouldn't recommend more than 65536 (64M).
- persist.tweaks.swappiness: The swappiness parameter. A avlue between 0 and 100, defaults to 10. Tells the system how agressively try to move memory pages to the swap. I keep it to a low value, so pages are not swapped until more free RAM is needed.
- persist.tweaks.cpuminfreq: The minimum CPU frequency. If not set, it defaults to 245760 (245Mhz). See the list of available frequencies with command:
- persist.tweaks.cpumaxfreq: The maximumCPU frequency. If not set, it defaults to 595200 (595Mhz). That's a bit overclocking, but I find it perfectly stable. With higher frequencies (614Mhz) I get random reboots.
- persist.tweaks.cpugovernor: The CPU frequency governor. Defaults to interactive, but you can try ondemand too.
Any change will require rebooting the system. If you get stuck with a change (phone can't boot), try using adb shell from recovery, mount /data partition, and remove the offending setting file from /data/property/persist.tweaks.xxxx
- Gingerbread keyboard is not included anymore. You can install Gingerbread keyboard along with the Froyo keyboard. See this post.
- Alternative kernels: For 32A or HTC/Dream you can try with other non-stock kernels. I would recommend trying Farmatito Kernel or the latest Magic 32B kernel from ezterry, search in Doid Basement. Here is the direct link to the latest ezterry version for Magic 32B/32A
Versions and updates
- aim1 - 2010/12/25 (Christmas gift) - Initial release
- 2010/12/27 - Added "Revert to Froyo keyboard" add-on
- 2010/12/27 - Added mirrors for files
- 2011/01/09 - Removed one-step install, seems it's not working
- aim2 - 2011/05/01 - New version
- aim3 - 2011/05/09 - New version