FORUMS
Remove All Ads from XDA

 View Poll Results: should we keep Aroma tool or is enough a standard installation?

Yes, keep Arome
 
454 Vote(s)
77.34%
No, we don't need it
 
133 Vote(s)
22.66%

[STOPPED][ROM ICS 15 Jul] slim rom for Desire [based on Sandvold .15 & K900 build 40]

2,970 posts
Thanks Meter: 384
 
By suiller, Senior Member on 18th April 2012, 10:46 AM
Post Reply Email Thread
These are a simple slim version of the original ICS ported rom for htc desire (aka bravo) provided by Sandvold and K900

Of course all credits must go to Sandvold & K900, I'm not a developer, simply I needed a lighter rom and due to many requests I decided to share my (small) work and dedicate to it a thread

They work just as original rom, I haven't changed a single bit, just removed all stuffs that can be downloaded later from google play (aka PhoneSky.apk). This thread is intended for "advanced users" but none can't stop you to make experiments

These rom are intended to work with cm7r2 hboot table & without the need of any ext3-4 partition (this means max 120-130 app)

IMPORTANT: as a2sd script we use as default for both roms 69a2sd script, more info here

CHANGELOG (15 Jul) :
- updated 98mydesireI script (modded minfree memory management)
- updated default Apex Launcher (anyway you can use whatever you prefer)
- updated OS fonts, I choose a ligther & smoother one
- Download here or Mirror here

CHANGELOG (06 Jul) :
- updated 98mydesireI script (reduced boot pause, it will stay only upon a fresh installation)
- updated MultiLing keyboard
- updated Music apk with JB release (moved backup to /system)
- moved LauncherApex from /system to /data (make an apex setting/icon backup before flash, you have to replace widget too)

CHANGELOG (04 Jul) :
- upgraded Sandolvd based ics rom (.15)



Some notes before starting:
  • before start I strongly suggest, if you are under MS Windows environment, to download the mini-sdk-android-windows.zip (look at 2nd post for details) from repository (aka known as diaduit), unzip the entire folder, without renaming it, where you prefer under your C: drive, this little zip contains some utilities and batch scripts to automate some recurrent actions useful to easily manage your device, such as for example radio flash, hboot flash, script injection, etc...
  • these slim rom will fit on cm7r2 partition table, if you don't know what is it you can start from alpharev.nl website, or simply download your .img copy from repository
  • I strongly suggest to use a modern and full functionally recovery, personally I use 4EXT: download from repository and flash trough _flash_recovery.bat batch script (from mini-sdk-android-windows.zip)
  • always in repository you can find a copy of the slim rom (named as rom-slim-etc...zip)
  • editing directly rom-slim-desireics-xyz_x.y.zip requires winrar (search in google)
  • this rom can work without any ext3-4 additional partition, I just move into sd-card ALL the games and not fundamental apps using default android behavior: Settings => Applications => Sd-card (tap correspondent app to move)
  • as a2sd script we use as default for both roms 69a2sd script, more info here


and now rom modded content:
  • removed all google applications (*) downloadable from google-play except QuickSearch and Vending (google-play app)
  • removed all tts lang (except for the service), they can be downloaded later from google-play because I suppose that own language should be enough for most of us
  • removed almost all sounds except one for alarm, one for ring and six for notifications, anyway you can create your own sounds repository in your sd-card, so you wont loose them never more: make a folder in your sd-card named /media/audio, then create under audio other 3 folders named: alarms, notifications, ringtones , then put your personal sounds under correspondent folders
  • removed default ics keyboard, the 1st reason because it's heavy and fat, the 2nd because has ton of languages when we really need just one... our own (I included as default MultiLing free keyboard, a light and highly configurable keyboard with downloadable single dictionary)
  • removed all customization and stock kernel is provided (eventually Tiamat kernel can be flashed separately), of course customization are included with best options/balance about my experience/opinion
  • default launcher is Apex Launcher
  • added 98mydesireI script (present under extra folder of mini-sdk-android-windows.zip), you can edit it as you prefer (use for this purpose pspad editor due to its ability to manipulate unix txt files), as default its primary goal is to manage cpu freq between sleep and awake states (245-245 when sleep, 960-1075when awake)
  • auto-adjust swap tuning (swappiness= 20 if zRam enabled, 0 if not)


installation instructions, starting from the beginning:
  1. make a full backup before start, personally I don't use titanium due to its restoring issues probabilities, I prefer a full backup from recovery, for this purpose 4EXT is just perfect (from repository), it will backup eventually your ext3-4 partition too
  2. download and copy rom-slim-desireics-xyz_x.y.zip file in your sd-card
  3. if you don't have cm7r2 hboot you should upgrade to cm7r2, download the .img file from repository and use _flash_hboot.bat batch script (from mini-sdk-android-windows.zip) to easily flash the new hboot
  4. reboot your device into recovery, pay attention that if you changed hboot table, for example from data+ to cm7r2, you have to force a full wipe (do it from recovery itself)
  5. after rom flash & upon complete boot SetupWizard wont start (I removed it) so as 1st step I suggest you to configure a working wlan, then launch google-play and start registering your existing account...
  6. download & configure all apps you intend to use (hint: search google inc to find all google stuffs such as maps, gmail, youtube, etc...)



post installation guide, another important step:
  • if you come from an upgrade/reflash remember that installer will format only /system folder, some previous related system app will still be under /data/app such as for example LatinIME.apk, so if you keep MultiLing keyboard (or whatever) remove from /app/data the LatinIME.apk (edit and use _remove batch script)
  • go under Settings => Evervol Toolbox => Performance => Memory management and activate "kernel samepage merging" (do not activate zRam, our device has enough ram and also because I noticed random FC under heavy usage)
  • as you know some video from gallery (using internal libs) are rendered badly, install instead MXPlayer (from google-play) and force it to use SW rendering (from MXPlayer settings)
  • removed almost all sounds except one for alarm, one for ring and six for notifications, anyway you can create your own sounds repository in your sd-card, so you wont loose them never more: make a folder in your sd-card named /media/audio, then create under audio other 3 folders named: alarms, notifications, ringtones , then put your personal sounds under correspondent folders
  • added 98mydesireI script, you can edit it as you prefer (use for this purpose pspad editor), as default its primary goal is to manage cpu freq between sleep and awake states (245-245 when sleep, 960-1075 when awake)



Other tips (I'll add step by step as I remember):
  1. prevent unnecessary battery drainage by disabling auto-time update... device keeps date/time sync with connected cell tower every minute! (disable from Settings => Date & Time) and install instead ClockSync from google-play (setup auto-update every 3 days)
  2. move ALL games or spare used app from nand to sd-card (Settings => Application => SD-card => tap on move able app)
  3. to speed-up open/close phase disable animation from Settings => Developer options => Scale from 1x to 0,5x (or none)



(*) App list installed as default on /system:
Code:
ApplicationsProvider.apk
BackupRestoreConfirmation.apk
Bluetooth.apk
Browser.apk
Calendar.apk
CalendarProvider.apk
Camera.apk
CertInstaller.apk
Contacts.apk
ContactsProvider.apk
DefaultContainerService.apk
DeskClock.apk
DownloadProvider.apk
DownloadProviderUi.apk
DrmProvider.apk
EVToolbox.apk
EVWidgets.apk
Email.apk
Exchange.apk
Gallery2.apk
GenieWidget.apk
GoogleBackupTransport.apk
GoogleCalendarSyncAdapter.apk
GoogleContactsSyncAdapter.apk
GoogleLoginService.apk
GooglePackageVerifier.apk
GooglePackageVerifierUpdater.apk
GoogleQuickSearchBox.apk
GoogleServicesFramework.apk
GoogleTTS.apk
HTMLViewer.apk
KeyChain.apk
LauncherApex.apk
MarketUpdater.apk
MediaProvider.apk
MediaUploader.apk
Mms.apk
Music.apk
MusicFX.apk
NetworkLocation.apk
PackageInstaller.apk
Phone.apk
PicoTts.apk
Provision.apk
Settings.apk
SettingsProvider.apk
SharedStorageBackup.apk
SoundRecorder.apk
Stk.apk
Superuser.apk
SystemUI.apk
Talk.apk
TelephonyProvider.apk
UserDictionaryProvider.apk
Vending.apk
VoiceCommand.apk
VoiceSearch.apk
WAPPushManager.apk


df output on fresh installation:
Code:
Filesystem             Size   Used   Free
/dev                   202M    32K   202M
/mnt/asec              202M     0K   202M
/mnt/obb               202M     0K   202M
/system                145M   141M     3M
/data                  287M     1M   285M
/cache                   5M   784K     4M


screenshots below plus videos here 1/3 (installing) - 2/3 (average usage test) - 3/3 (game test)


The Following 40 Users Say Thank You to suiller For This Useful Post: [ View ] Gift suiller Ad-Free
 
 
18th April 2012, 10:47 AM |#2  
suiller's Avatar
OP Senior Member
Flag Turin (Piedmont)
Thanks Meter: 384
 
Donate to Me
More
mini-android-sdk-windows dedicated post

As explained few lines above this small zip downloadable from repository contains some batch scripts useful to automatize frequent operations, such as flashing radio, hboot, inject scripts, splash screen, etc...

simply unzip it on your physical hard drive ( C: ) in the folder you prefer, rename adb.ba_ as adb.bat, then move adb.bat under c:\windows folder, this to help you in recalling adb environment* (Start > adb > Run and it will open the folder plus a ready cmd shell)

*tested under Vista and 7, remember also if you intend to use adbWireless to edit IP.bat batch file and change IP (up 3) addresses matching the one of your device (useful for adbWireless)


let's take a tour on its content:
  • IP.bat => simple IP file configuration, write here your device IP list for connecting trough adbWireless (of course if you use it)
  • _flash_hboot.bat => this will flash hboot table, simply connect your device (without reboot in anything, just attach it) and provide in the same folder the hboot .img file named hboot.img (remember if you change hboot table to wipe before flash anything else)
  • _flash_radio.bat => as above but for radio, provide radio.img in the same folder, pay attention that radio flashing is really dangerous because in case of fault you'll probably brick your device, anyway latest radio provided for our device (on XDA or repository) is perfect so you shouldn't need to change it
  • _flash_recovery.bat => as above but for recovery, personally I use 4EXT (version 2.1.3 is faultless, download a copy from repository)
  • _flash_splash.bat => this is intended for flashing .bmp as splash screen (different from boot-animation, this is the 1st thing you see upon turn-on), provide splash1.bmp in the same folder ([email protected])
  • _push_98* => init script for control cpu freq (pay attention different version for different hardware, latest version already included in the slim rom)
  • _push_build.prop.bat => this will inject your personalized build.prop in your device (provide the file under extra folder)
  • _push_gps.conf.bat => as above, anyway the modded version is yet included in the slim rom
  • _push_hosts.bat => as above
  • _push_to_sdcard.abt => this batch script will copy under sd-card your drag'n dropped file (I use in conjunction with adbWireless)
  • _remove_stuff.bat => use this batch script with care, edit it to add removing actions


note: all .img file go under current folder, while all "extra" such as hosts, build.prop and init script go under extra folder
The Following 8 Users Say Thank You to suiller For This Useful Post: [ View ] Gift suiller Ad-Free
18th April 2012, 10:48 AM |#3  
suiller's Avatar
OP Senior Member
Flag Turin (Piedmont)
Thanks Meter: 384
 
Donate to Me
More
98mydesireI script dedicated post


1st part are just personal mods, you can keep, mod or remove, but the core of the script is the 2nd part, where the script itself creates a mini script named mycpu under /etc and will detach it in background (nohup /system/bin/sh /system/etc/mycpu&)

so in few words:
  1. 98mydesireI init script will be executed after complete boot (90 sec)
  2. 98mydesireI init script will write under /etc another script named mycpu (for managing cpu freq)
  3. 98mydesireI init script before exiting will launch mycpu control script
  4. mycpu control script will stay in background looking for device state (sleep or wake) and applying relative properties

the annoying problem having a high cpu freq jump, for example from 245 to 1113 also with interactive/smartass governors, is that when your device wake up or when you don't put your fingers on it becomes a bit sluggish for a while

instead forcing freq matching display on/off states gives better results also if using conservative governor, in fact we don't need a "speedy" device when its screen is turned off... who use it in that state? while instead we want a speedy device when we actively use it, when its screen is turned on

so the most balanced setup is to have a really sleepy device when screen is off (99% of times not actively in use by user) and on the opposite a really speedy device when screen is on (99% of times in use by user)

the script will control also certain pid priority differently between sleep & wake states, during sleep state it will also recovery ram if under a critic level (right now fixed at 59Mb) by flushing caches

anyway is possible to specify min-max freq by editing 98mydesireI init script, look at these lines below they speak themselves :
Code:
echo 'MinFreqWake=960000;'>>/system/etc/mycpu
echo 'MaxFreqWake=1075200;'>>/system/etc/mycpu
echo 'MinFreqSleep=128000;'>>/system/etc/mycpu
echo 'MaxFreqSleep=384000;'>>/system/etc/mycpu

change values upon your needs, here below freq steps:

128000 245000 384000 422400 460800 499200 537600 576000 614400 652800 691200 729600 768000 806400 844800 883200 921600 960000 998400 1036800 1075200 1113600



to check correct behavior connect your device and open a shell (adb shell) then put commands:
  1. cd /sys/devices/system/cpu/cpu0/cpufreq
  2. turn off display (without detach of course)
  3. cat scal*
  4. last two numbers are current min-max frequencies, your freq min-max should be the lowest possible
  5. turn on display and repeat step 3, your freq min-max should jump
  6. if you turn off again your freq min-max should be lowered
The Following 7 Users Say Thank You to suiller For This Useful Post: [ View ] Gift suiller Ad-Free
18th April 2012, 11:07 AM |#4  
Junior Member
Flag Taguig
Thanks Meter: 0
 
More
downloading.. will report my experience after flashing
18th April 2012, 11:15 AM |#5  
Senior Member
Flag bristol
Thanks Meter: 37
 
More
ill give this a go
18th April 2012, 12:00 PM |#6  
rraaka's Avatar
Senior Member
Thanks Meter: 681
 
More
Thumbs up
good Idea Suiller ! - a comprehensive project !

I need to do a little home-work before I dip into this project....

Your repository is very familiar.
Ive taken things from there before
18th April 2012, 12:03 PM |#7  
suiller's Avatar
OP Senior Member
Flag Turin (Piedmont)
Thanks Meter: 384
 
Donate to Me
More
Quote:
Originally Posted by rraaka

good Idea Suiller ! - a comprehensive project !

I need to do a little home-work before I dip into this project....

Your repository is very familiar.
Ive taken things from there before


thank you friend... probably you used the repository during "diamond" era
18th April 2012, 12:08 PM |#8  
Senior Member
Flag Kraków
Thanks Meter: 1,854
 
More
added 98mydesireI script, you can edit it as you prefer (use for this purpose pspad editor), as default its primary goal is to manage cpu freq between sleep and awake states (245-245 when sleep, 900-1113 when awake)

This is not good idea.
18th April 2012, 12:23 PM |#9  
suiller's Avatar
OP Senior Member
Flag Turin (Piedmont)
Thanks Meter: 384
 
Donate to Me
More
Quote:
Originally Posted by k3lcior

added 98mydesireI script, you can edit it as you prefer (use for this purpose pspad editor), as default its primary goal is to manage cpu freq between sleep and awake states (245-245 when sleep, 900-1113 when awake)

This is not good idea.

why not? I use this setup from about 2 years... (from froyo/ginger) I prefer a really responsive device when I actively use it (screen on)

anyway it's easy to lower freqs, is enough to edit the script:

Code:
'MinFreqWake=960000;'>>/system/etc/mycpu
'MaxFreqWake=1113600;'>>/system/etc/mycpu
I'll put freq list on 3rd post
18th April 2012, 01:05 PM |#10  
suiller's Avatar
OP Senior Member
Flag Turin (Piedmont)
Thanks Meter: 384
 
Donate to Me
More
uploaded latest tested version at 12.00 (UTC/GMT time) - 14.00 (CET)

ps: no need to wipe again, just take a look of old apk still under /data/app such as LatinIME.apk (if you don't want default ics keyboard of course)
18th April 2012, 02:21 PM |#11  
Senior Member
Thanks Meter: 9
 
More
Does int boot also with stock hboot?? Or only with cm7r2??
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes