[ROM] CyanogenMod - One Step Ahead (STABLE) [UPDATED 8/28- v4.0.4]

Not open for further replies.


Retired Recognized Developer
Jan 4, 2009
The old massive thread has been closed!

Check out the new website: http://www.cyanogenmod.com - thanks to SatanR1!!

I am maintaining a custom ROM based on Android 1.5r3 (crossbred with Donut) focusing on performance, reliability, and safe usage of apps on SD, with some additional features. Yes, this will work just fine on your non-ADP devices. Versions listed as "experimental" may and will have some issues, so unless you want to be a guinea pig, use the "stable" versions. Major thanks to everyone who is helping to test these ROMs!

If you have installed a theme that is not specifically designed for this ROM, please don't post bugs here unless you can reproduce them without the theme installed.

Please search the Android Bug Tracker then check the CyanogenMod Bug Tracker before posting your problem! I do not work for Google and am not going to fix every known bug that exists in Cupcake. Of course, if I created the bug and it's specific to this ROM I will certainly fix it. But please, search before posting bugs. There is a lot of good information in this thread and the old thread and the likelihood that you are the first person to report an issue is very low.

If you are reporting a bug about a "force close", you need to post the output of "adb logcat" from the crash or there is nothing I can do for you.


While this build is heavily optimized, it is also capable of pushing your G1 much harder. I am not responsible for bricked devices, dead SD cards, thermonuclear war, or the current economic crisis. Please do some research if you have any concerns about features included in this ROM before flashing it! YOU are choosing to make these modificiations, and if you point the finger at me for messing up your device, I will laugh at you.

* UNIVERSAL! Runs on both Dream and Magic 32B
* Now identifies itself as either T-Mobile G1 or myTouch (due to popular demand, and T-Mobiles lameness to support ADP devices)
* Based on AOSP 1.5r3, a heap of Donut, various collected patches, and some help from JF-1.51-ADP
* Enhanced ramdisk which uses optimal mount options and smart startup
* Includes E2FSProgs for checking and converting Ext filesystems
* Apps2SD is automatic! All you need is a second partition (ext).
* Includes script to upgrade to ext3 (from recovery mode, see FAQ)
* Supports ext2/ext3/ext4 for Apps2SD
* Includes HTC Framework, various HTC applications, and HTC VK
* Launcher with 5 screens and auto-orientation and compact drawer layout
* Enhanced lock screen (Stericson)
* Clean filesystem shutdown at poweroff/reboot, and fsck at boot (no FS corruption!)
* Includes T-Mobile IM application, Amazon MP3 (with Stericson's hack), and updated Google Maps
* Does not require "DangerSPL"
* Highly optimized kernel with many extra modules
* Includes a massive APN list
* Maximum CPU scaling frequency set to 528MHz with latency tweaks
* Various enhancements to the Settings app including extra partition space
* Runs /system/sd/userinit.sh after A2SD setup and before starting the runtime for user scripts
* Microsoft Exchange support (Work Email from myTouch)
* Compcache 0.6 enabled by default (if no userinit is present)
* Linux cgroups for better app prioritization
* Power Widget and App Fuel Gauge from Donut
* Custom boot screen by matt_stang
* Phone app enhancements by cytown
* OpenOBEX commandline tools ported by Erin Yueh - just need an app to run them!
* Ability to add dialer and MMS shortcuts
* PPTP/L2TP VPN and WPA Enterprise support from Donut
* MMS enhancements from rgv151
* FLAC support from Kruton (buy this man a beer)
* LocationServices memory leak fixed (by itp)
* Not vulnerable to the "one click root" exploit

(v4.0.4 - stable version, updated 8/28):
Download: http://n0rp.chemlab.org/android/update-cm-4.0.4-signed.zip
MD5Sum: 8c5a4ed37a8856054f22988372295fc8

(v3.6.8.1 - old stable version, updated 7/21):
Download: http://n0rp.chemlab.org/android/update-cm-
MD5Sum: 234e547eaa4f1699dd676032ec2ed82c

Audio Resources (unzip to your SD card)
Download: http://n0rp.chemlab.org/android/audio-resources.zip
MD5Sum: 7340ba86ddd4fba918ef97601c675ef9

Radio Update from HTC
Info: http://www.htc.com/www/support/android/adp.html#s3

Pimped Out Recovery Image
Info: http://forum.xda-developers.com/showthread.php?p=3915123

Theme Template - v4.0.4 (for theme developers)
Download: http://n0rp.chemlab.org/android/template-cm-4.0.4-signed.zip
MD5Sum: 97ea24d33869e0d425b1287c4badb431

Code Repository on GitHub
Info: http://github.com/cyanogen

Frequently Asked Questions said:
1. Do I have to wipe?
You shouldn't have to wipe if coming from a JF ADP-based ROM, otherwise, probably. If weird things are happening, try wiping. You can also try the permission fixer script linked above. If you are coming from an HTC-based ROM like Hero or Sapphire, you are going to have to wipe.

2. Will you include the HTC Dialer/HTC Mail?
No, because I won't be shipping the full HTC-modified Android core (it's not open source), which these apps depend on. I do include the "Work Email" application which is the HTC Exchange client.

3. Will this work on the Magic?
It will work on Dream (G1) or Magic 32B (myTouch). I plan to support 32A devices soon.

4. How do I set up apps-to-sd?
You need to create a second partition on your SD card in the ext2/ext3/ext4 format. Search the forums if you don't know how to do this. Once created, the ROM will move your apps automatically and new apps will be installed to the SD by default.

5. How do I install MyFaves?
Look here: http://forum.xda-developers.com/showthread.php?t=542267

6. Will you include feature X, Y, or Z?
Maybe, ask me about it.

7. How do I convert to Ext3?
Reboot into recovery (home + power), drop to a console (Alt+x), and enter: "upgrade_fs". Reboot and you will be at ext3. This requires my recovery image listed above.

8. Can I use Ext4?
Yes, the kernel supports it (with delayed allocation fixes) and the required tools are there. You'll need to do the conversion manually, though.

9. How do I enable the HTC_IME?
Go into settings->Locale & text and disable "Android Keyboard" and enable "Touch Input".

10. Can I tether with this?
Yes. I recommend using Wifi Tether for Root Users

11. I want to switch back to ext2.
Reboot into recovery (my recovery image), drop to a console (Alt+X). Remove the journal with "tune2fs -O ^has_journal /dev/block/mmcblk0p2". You should then fsck with "e2fsck /dev/block/mmcblk0p2".

12. Will you include feature XXX from Hero?
No. Most of the HTC apps in Hero require the heavily modified closed-source Android core which I won't be including.

13. My /system/sd is read only and/or didn't upgrade to ext3!
Your filesystem is probably corrupt. Boot into Recovery 1.2+ and run a filesystem check from the menu. If it tells you to run it manually, drop to a console (alt+x) and run "e2fsck /dev/block/mmcblk0p2".

14. Is ext3/ext4 safe for my SD card?
Probably, unless your card is very old and does not support wear leveling. Use Google and decide for yourself.

15. I have problems with force closes of paid apps and have to reinstall my them after a no-wipe upgrade!
Run the "permission fixer" script. It is included in this build as well as Recovery 1.2+. Just execute "fix_permissions" from a terminal or the recovery console and reboot.

16. Can I use your work in my own ROM?
Of course, I am all about sharing! Just give credit where credit is due.

17. It's taking forever to boot!
The first boot will take longer than normal because dexopt needs to run. If you are nervous, connect USB and run "adb logcat" to watch the progress.

18. My phone rebooted by itself!
Possible kernel panic or oops. Please get me the output of "cat /proc/last_msg" when you reboot so it can be debugged.

19. My camera is black and white only!
You have settings left over from the old Android camera. Just go into the Camera, hit menu, settings, then "reset to defaults".

20. My auto-rotate/accelerometer isn't working!
Not really the fault of the ROM, but here's how to fix it: Go into recovery, drop to console, "mount /data", then "rm /data/misc/akmd* /data/misc/rild*" and reboot.

21. What about swap space?
As of 4.0, Compcache is activated by default unless a userinit.sh script is present. Search the forums for information on how to create a userinit.sh to activate swap.

22. Will you include the Flash Player from Hero?
No, because it's tightly coupled to the Hero Browser, which is tightly coupled to the Hero Framework. It's not easily portable at this point. Run Hero if you want it. Otherwise, we will have to wait for something more compatible.
Changelog moved to next post!
Last edited:


Retired Recognized Developer
Jan 4, 2009
[ROM] CyanogenMod - One Step Ahead (STABLE) [UPDATED 8/28 - v4.0.4]

Changes in v4.0.4
* Fixed settings FC
* Process scheduling group code from Donut
* Another possible fix for the phone number parsing issue
* Added bash in xbin
* Changed alarm clock timeout to 30 minutes because I sleep thru the 10 minute timeout
* Kernel tweaks

Changes in v4.0.3.1
* Fixed kernel misconfiguration that broke the camera and prevented booting on some devices

Changes in v4.0.3
* More Donut guts: Bluetooth and audio updates
* Fixed swap-free-notify for compcache
* Tweaked kernel (trying out SLQB)
* Lots of small stuff recently added to AOSP
* Possible fix for the phone number parsing issue
* And of course more stuff I forgot..

Changes in v4.0.2
* Possible fix for the "slow ring display" issue (from itp)
* More Donut guts (mainly graphics/display code)
* Turned off debug in the Mms app (rgv)
* Fix for a few security issues
* Modified cgroups a bit, should improve responsiveness
* Vibrate-every-45 is off by default now
* Added the dropbear SSH server into xbin
* Dalvik update
* Other things

Changes in v4.0.1
* Fixed resource id mismatches that were causing FCs
* Revert a Dalvik change that caused FCs

Changes in v4.0
* Based on CM-3.9.10 (check the experimental thread for changelog)
* Added LocationServices patch
* Updated kernel

Changes in v3.6.8.1
* Fixed Camcorder (new permission required for 1.5r3)
* Revert shell to standard Android sh because people suck at scripting :rolleyes:
* Make Gears work again
* Fix issues with various video player apps (YouTube, etc)

Changes in v3.6.8
* Rebuilt based on Android-1.5r3
* Modified ramdisk init to mount /system/modules and /system/xbin earlier
* Made ash the default shell

Changes in v3.6.7.2
* Fix conflict between HTC Camera and Exchange app
* Fix memory leak in Music app

Changes in v3.6.7.1
* Rebuilt stock apps with correct resource ids

Changes in v3.6.7
* Fixed the oh-so-important Market bug :)
* Fixed Camcorder
* Tweaked cgroup settings
* Included Compcache modules

Changes in v3.6.6
* Pulled in cgroups support from Donut, added some extra code to support foreground boost
* Added new mail app from MyTouch, includes "Work Email" with Exchange support
* Optimized all zips and pngs with 7zip and optipng
* Enabled some options in the kernel for serial debugging
* Small enhancements/bugfixes to various apps (Calendar/Music)
* Launcher drawer is 5x4 / 6x3
* Rolled back wpa_supplicant to old version to correct WiFi issues
* New default wallpaper by TheGreenJester
* KNOWN BUG: Market->Settings->Notifications causes a force close. Still working on it.
* KNOWN BUG: Exiting Camcorder causes a FC. The video still records. Push Camera.apk from 3.6.5 until the next release.

Changes in v3.6.5
* Fix the API breakage that was accidentally introduced.

Changes in v3.6.4.1
* Revert patch to libdvm.so that was causing force close city
* Fix bad signature on SetupWizard.apk

Changes in v3.6.4
* Fix shared userid problems that were causing boot loops
* Sexy Hero-style transitions

Changes in v3.6.3
* Fix weirdness with Contacts/Calendar/others
* Launcher tweaks
* Dalvik update

Changes in v3.6.2
* Fix audio mixing issue
* Lockscreen tweaks (Stericson)
* Show provider name instead of "Android" (Stericson)
* Added "Reboot phone" option to the power menu
* Updated Settings app to not show false data for SD secondary when a2sd is disabled

Changes in v3.6.1
* Minor kernel tweaks, might save some battery
* Update wifi driver
* Stericson's AmazonMP3 hack that allows download over non-wifi
* Lockscreen tweak from Stericson that allows the statusbar to be pulled down (except if pattern is enabled)
* Added PowerTop tool
* Moved some stuff around to save a little space
* Added firstboot script to cleanly upgrade camera/album when not coming from 3.4.6

Changes in v3.6
* Revert Freetype and Bluetooth changes from 3.5.3
* Kernel tweaks
* Added mtdoops module for debugging kernel oopsen/panics
* Lock screen tweaks
* Add RPC support to BusyBox (requested)
* Clean .odex files left by other ROMs off the SD card

Changes in v3.5.3
* Dalvik patches from master - better memory usage
* Update wpa_supplicant from master
* Update Freetype to 2.3.9 (nicer font hinting) (being reverted for next release)
* Multithreaded A2DP from master (should reduce skipping)
* Minor kernel tweaks
* Include AUFS as a module by request
* Fix lock screen glitches and shrink battery icons

Changes in v3.5.2
* Ditch SquashFS on /system/lib because of performance
* Clean up the lock screen a bit, new icons, etc
* Patch AlarmClock so it doesn't lose snoozes
* If /system/sd/userinit.sh exists, execute it after a2sd setup

Changes in v3.5.1
* Add missing netfilter kernel modules and apply backported ext4 fixes
* Included Stericson's spiffy lock screen
* Some settings enhancements- show mod version and don't allow SD unmount when A2SD is active
* Switched to squashfs instead of cramfs
* /system/lib is now on squashfs, saving TONS of space (first boot of system is a little slower though)
* Tweak some cpufreq settings
* Disabled camera noise in libcameraservice since the HTC camera does it internally.

Changes in v3.5
* Kernel 2.6.29
* Revert vold hack to default, for now.

Changes in v3.4.6
* Revert Dalvik changes due to DNS resolution issues
* Clean up old camera prefs
* There is an issue with the vold change on Vista. Working on it for next build.

Changes in v3.4.5
* Now includes the fully working HTC Camera!
* Mounting SD over USB will now only show the VFAT partition
* Some changes to a2sd startup to clean up symlinks if SD was removed
* DalvikVM tweaks from master (for real this time)
* Launcher now puts icons in the right place after a wipe

Changes in v3.4.4
* Uses a combination of bind mount and symlinks for A2SD
* Launcher now has 5 screens and obeys system orientation setting
* Upgraded BusyBox to 1.14.2
* Upgraded kernel to, anticipatory iosched, enabled multicast
* Fixed Street View

Changes in v3.4.3
* Back to 3.4.1 kernel
* NO MORE AUFS - we now have automatic A2SD using bind mounts. It will even move your apps automatically for you
* Settings app has been enhanced to show "SD Card Secondary" storage available/used (your ext partition)
* Included newest Google Maps application
* Don't mess with vfs_cache_pressure (sysctl.conf is still available, though)
* There is an issue with installing protected apps in this version. Will be fixed for 3.4.4.

Changes in v3.4.2
* Switch back to anticipatory iosched
* Use tiwlan driver from android-1.5r2 instead of master

Changes in v3.4.1
* Small kernel tweaks, add NFS client module
* Fix racy A2SD startup that was causing all kinds of insanity for everyone (missing apps, force closes, etc)
* Read /system/etc/sysctl.conf at startup
* Moved shutdown/reboot services out of /system/init.rc because people seem to want to overwrite it.

Changes in v3.4
* Minor kernel tweaks
* Fix perms on /data/app in update-script
* Include fix_permissions
* Marking as stable
Last edited by a moderator:


Senior Member
Apr 3, 2009
Miami, FL
Nice. I shall try out. I'm running Haykuro's ADP 1.5Hr3, no APP2SD. Simple rename to update.zip and thats it? I don't plan to run APP2SD.

Running the latest SPL (1.33.2005) and Radio (
Last edited:


Senior Member
Feb 9, 2009
For all having issues with the accelerometer

Originally Posted by Me on other thread:
Edited By Nic Juncos
For all having issues with the accelerometer:
I had the problem where the accelerometer did not work at all anymore.Since I did not want to lose all my data, I found a post on how to fix it without wiping:

[Warning] DON'T try this while NOT in the recovery console! You will lose space on the /data partition because of a bug!! ONLY do this in the recovery console where no system is running

Start by powering off phone
Now hold [Home+Power] to enter Recovery
Enter recovery console [alt+x]
Press Enter to bring up shell
Type the following hitting <enter> after each line:

mount /data
cd data
cd misc
rm akmd_set.txt

The file will be recreated and life is good:D


Retired Recognized Developer
Jan 4, 2009
Are donut details/features already known?
Not really, but we have some ideas based on the kernel changes and the code snapshot they put into GIT 2 months ago.

Also, 3.6.7 has a new template, sorry about this guys.. I know you hate me now. I had to get the resource ids back in line with exactly what is expected, and it was off by one due to the addition of the reboot menu- this is what caused that stupid market bug. This is what I hate about Android.. if you get ANY of the resource ids out of line, the closed-source apps can break.


Senior Member
Feb 24, 2009
IMAP/POP email features

The only thing stopping me from using this ROM is that it lacks POP/IMAP features found in other ROMs (e.g., Rogers, Hero). Specifically, I miss the ability to sort email by date/sender/subject/etc and set the size of downloaded messages and the option of downloading messages by number of emails or by days.

Is there any way to port the Rogers POP/IMAP email features into this build?


Retired Recognized Developer
Jan 4, 2009
Also.. I'm not turning on Compcache by default, but it does work if you want to make your own userinit.sh script. I don't see any performance degradation either.

DiskSize:	   24468 kB
NumReads:	    2905
NumWrites:	    4759
FailedReads:	       0
FailedWrites:	       0
InvalidIO:	       0
PagesDiscard:	       0
ZeroPages:	     192
GoodCompress:	      76 %
NoCompress:	       4 %
PagesStored:	    4567
PagesUsed:	    1554
OrigDataSize:	   18268 kB
ComprDataSize:	    6150 kB


Retired Recognized Developer
Jan 4, 2009
The only thing stopping me from using this ROM is that it lacks POP/IMAP features found in other ROMs (e.g., Rogers, Hero). Specifically, I miss the ability to sort email by date/sender/subject/etc and set the size of downloaded messages and the option of downloading messages by number of emails or by days.

Is there any way to port the Rogers POP/IMAP email features into this build?
No, we've been over this 100 times. The Rogers/Hero/HTC Mail app can't be used on this ROM. It does include the Exchange app from the myTouch though. Use K-9, it's better than the stock email client IMHO.


Senior Member
Jan 26, 2009
El Paso, TX
It would be nice if there was something like a JF Update for this ROM since there are new releases very often.
Or a tweak to use the default System Update for this ROM. I know MANY would love this.
Not open for further replies.