ROM version described: 3.0.8
If you wish to use the data in this FAQ in any way, you are free to do so without any need for links\attribution, except for people mentioned in the FAQ itself - please mention them where applicable.
I'd like to thank Lee for the wonderful ROM, fred_be9300 for the initial FAQ, and anderl78 for... lots of help.
Also thanks to alpharev and others who are quoted or otherwise mentioned on this page.
1. What is the difference between A2SD+ and data++ versions of LeeDrOiD V3.x.x Bravo GB?
With Desire's stock ROM, little ROM is available for user apps as the \data partition is very small (147 MB).
With A2SD+ ROM, somewhat more is available, as dalvik cache and apps are moved to sd-ext. However, some data is still written to the \data partition, so no matter what, the "Internal memory" will decrease.
Data++ version gives you yet more internal memory for app installation than A2SD+ version, however, it is a little trickier to both flash and customize. As it does not move dalvik cache to SD, unlike A2SD+, dalvik cache still occupies a considerable amount of internal storage. This makes the system marginally quicker than A2SD+, at the expense of available internal memory and placing a cap on the total volume of installable apps (which is still considerably higher than in the A2SD+ version). Furthermore, it can be moved to sd-ext as well, freeing more memory still (see subsection "Things to know if using Data++" below, item 5).
To actually free more memory for user apps, data++ version moves a number of system files from \system partition to sd-ext. This in turn allows to redistribute the partitions of the phone memory:
- system partition is reduced to 90-100mb at the expense of files moved to sd-ext and\or deleted
- cache partition, originally 40 mb and empty most of the time, is reduced to 5mb
- data partition (the one shown as "internal memory" and available for your user apps\dalvik) is increased at the expense of the two mentioned above
This partitioning is determined by the hboot you use. So, in order to enjoy the benefits of data++, you will have to flash the required hboot first. There are currently several hboots that are compatible with LeeDroid Bravo GB. However, to obtain the maximum benefit you have to flash Oxygen hboot (revision 1), second best is Oxygen-r2. More details on flashing \ updating can be found in the respective section.
You can get an overview of different ROM variants looking at the picture Bravo ROM allocation.jpg by clicking the preview at the end of this post. The picture may be not very precise and perhaps even partially erroneous, but it will give you a graphical overview and it is correct in general.
Last point: data++ is NOT the same as Data2Ext. Simplified explanation: Data2Ext will increase the size of "internal memory" as percieved by your system to the size of your sd-ext (it may also usually require two ext partitions instead of one, etc, etc). Data++ will NOT increase your internal memory to the size of sd-ext; it will only free some NAND memory by moving some system files to sd-ext and re-allocating the freed space to \data by using oxygen hboot.
Things to know if using Data++:
1. As cache partition has been reduced to 5 mb in data++ version-compatible hboot:
- a ramdisk is used instead of it for caching downloads from the market. However, RAM is not used when not needed, so you should not worry about your RAM being squandered.
- to update the radio, you have to use fastboot ('fastboot flash radio radio.img'. Radio.img is to be extracted from the radio update.zip beforehand) or update radio using stock hboot prior to flashing modified hboot.
2. Since location of some system files has changed in data++ relative to stock ROM, flashing UOT kitchen mods and themes can be tricky. More on this below in the respective section.
3. Having sd-ext on sdcard may negatively affect the read\write performance of the fat32 partition (this one goes for A2SD+ as well, though).
4. There are two most suitable hboots for data++: oxygen r1 and oxygen r2. The difference between them is that r1 has a 90mb system partition while r2 has a 100mb one. As LeeDroid Bravo GB 3.0.7 has a system partition exceeding 90mb, you have two options:
- prudent option for people who have hands.sys and head.sys drivers installed on their system:
-- use oxygen r1, as it leaves more space in data partition hence more space for your apps
-- modify LeeDroid Bravo GB rom.zip in any of the below ways to reduce the size of \system folder:
--- open the rom.zip in either WinRAR, 7ZIP, Total Commander with an archive-reading plugin will also work, other methods have not been mentioned but might also work; do NOT unpack rom.zip, just open it
--- remove bootanimation (rom.zip\resource\customize\bootanimation.zip) and boot sound (should be somewhere near it) by pressing the del key inside the chosen app (WinRAR\7ZIP\TC)
--- and\or remove unnecessary stuff like wallpapers and jpegs and whatever you believe is ok from rom.zip\system\customize\resource
--- copy the modified rom.zip to sd card for flashing, keeping in mind you will have to turn off signature verification (as we've changed the rom.zip and the embedded signature is now no good) in the recovery prior to flashing (e.g in Amon-Ra it's Other\Toggle Signature Verification)
- strange option for people who are lazy and\or do not have hands.sys and head.sys drivers installed (what would they be doing flashing hboots and roms then is another question, particularly data++ roms):
-- use oxygen r2, as it has a 100mb system partition and no modification have to be made to rom.zip prior to flashing - but your data partition will be about 10mb smaller than with oxygen r1
5. Even if you install data++ version, which has dalvik in internal memory, you can move dalvik cache to sd-ext to free space for your apps at the cost of a small performance decrease. To learn more, see post by anderl78: http://forum.xda-developers.com/show...postcount=4751
6. If you want to go back from Data++ rom to a2sd+\stock rom, be it by flashing or restoring a nandroid, you will have to flash stock hboot first!
2. Requirments for flashing (i.e. before you flash, you need)
a. General requirements
- Rooted HTC Desire
- SD card partitioned into two partitions - FAT32 and EXT3 (EXT4 supported, haven't tried it but people confirm it works)
- hboot 0.93.x - some have reported successfully flashing with older hboots, but it usually took multiple attempts, so it's easier to S-OFF
- Desire should be fully charged, just in case
- It is always better to flash critical stuff using a notebook or UPS-connected PC for obvious reasons
To partition your card, you can use:
- your recovery
- ROM Manager app
- GPARTED (linux software for partitioning, also can be run on any PC using a boot-cd, site: http://gparted.sourceforge.net/livecd.php)
- minitool partition wizard (freeware windows partitioning program, site: http://www.partitionwizard.com/download.html)
- any other reasonably advanced partitioning program (such as Acronis Disk Director)
Keep in mind:
- both partitions should be primary (how to check if your partition is primary?)
- FAT32 should go first, EXT3\4 should go second (EXT4 claimed to be supported, not tested by author of this post)
- if partitioning via recovery\ROM manager, specify swap size as zero
- do not label the partitions
- reasonable size range for ext partition is 1-2gb
- if you are not experienced in partitioning, back up your sd card data (if you need it), for there are many ways to lose it when partitioning and only a few not to. You can just copy your sdcard data to a folder, then copy it back to fat32 partition if necessary.
- the last, but NOT the least: method of partitioning should be irrelevant, however, best results seem to be obtained by using GPARTED \ minitools partition wizard. Gparted is the surest way, but least convenient; minitool Partition Wizard is very easy to use and requires no reboots.
b. Requirements specific to Data++
- Oxygen hboot downloaded and ready to flash
- Stock hboot in case you want to go back
Obtaining S-OFF is described here: http://alpharev.nl/ OR in detail http://forum.xda-developers.com/showthread.php?t=805811
Brief explanation (sapienti sat): download S-OFF CD http://alpharev.nl/alpharev.iso, burn it and reboot (or mount it as bootcd in a virtual machine and reboot), connect rooted HTC Desire, cross your fingers and follow instructions.
Flashing hboot is described here: http://alpharev.nl/ OR http://androidtricks.net/fastboot-cu...-htc-desire-52 OR http://forum.xda-developers.com/show...postcount=3683 OR read this post by anderl78 with detailed instructions of flashing it via fastboot.
Flashing hboot via PBIMG is in my opinion easier and is the only way I ever tried. Flashing via fastboot requires having ADB installed.
All necessary files can be found in the last section: "7. One-stop download reference".
3. Flashing guide
1. Make a Titanium backup of apps (optional but reasonable)
2. Make a Nandroid backup
3. Copy both backups (titanium and nandroid) to a PC for ultimate safety (optional but reasonable)
4. Have the following files on your SD card in the root folder:
- Lee's ROM (make sure to have modified the updater script if it's 18.104.22.168 Data++)
- Ext3 alignment patch
- [optional] radio if you update it from sd
- [optional] any other zips you may want to flash (kitchen mods, backlight mod)
- [optional] hboot files (stock and chosen oxygen) if you want to install Data++ using the PBIMG way
5. Flash recommended radio (32.56.00.32U_5.17.05.08), reboot to old rom to check in Settings\About phone\Software Information\Baseband version
6. Make sure you have an EXT3 partition as described in the Requirments section above (EXT4 claimed to be supported, not tested by author of this post)
7. [data++] Flash necessary oxygen hboot (r1 or r2) if you are flashing the data++ version
8. [optional but highly recommended] Perform a full wipe (can usually be omitted if updating from most prior sub-versions of this rom e.g. 3.0.x where x<8 but better to do this, you do have titanium backup anyhow). Still, you can always try flashing without wiping, and if it doesn't work or works but is buggy, you can reflash again with wiping.
9. [data++] Toggle signature verification to off if you are using oxygen-r1 hboot and have modified the rom.zip to reduce system partition
10. Flash rom.zip
11. Reboot and wait for the ROM to first-boot, which may take quite some time (up to 10-15-20 minutes is a safe bet; if you worry your battery will run low, nothing keeps you from connecting the charger)
12. If everything is OK, reboot back to recovery and flash optional mods if you have them (you can flash them right after flashing rom.zip prior to first-booting, but if the rom fails to boot it will be hard to determine the reason - maybe it's the rom, maybe it's the mod - so easier to flash after first-boot)
13. If you have problems flashing the rom \ first-booting, read the following section.
14. [optional] restore Titanium backup if you have one, but make sure you do not restore any red items. To totally make sure, you can choose to restore only user apps+data, and set up system settings by hand, if you like to be on the safe side.
Note: DO NOT flash EXT3 Alignment Patch as described on Lee's official page (step 3 of his flashing guide). With all due respect to Lee, flashing this patch has resulted in non-mountable sd-ext partition for many users. So do not flash it unless the rom won't start, as described in the following section.
The ext3 aligtnment patch has the following purpose, however, ROM works fine for virtually all who go without it and the opposite is not true. So the guidelines are:
- if it works without it, don't flash it;
- if it doesn't work without it, try flashing it
- if you you've flashed it first and the rom doesn't boot, use any partitioning software to delete the ext partition, then re-create it and flash without the alignment patch.
4. Troubleshooting ROM installation
Usually, failing to flash\boot the rom has the following causes:
1. Incorrect card partitioning - perhaps number one among other reasons.
To check for it, reboot to recovery (if you can't reboot by key combination, pull the battery). Try mounting sd-ext in recovery.
If it fails, this is indeed a problem.
- flash EXT3 Alignment Patch (http://leedroid.ftp.rshost.eu/Bravo_...nment-ext3.zip), then try reinstalling rom by repeating steps starting with step 10 of the above flashing guide.
- delete sd-ext partition in any partition manager such as Gparted \ minitool Partition Wizard and recreate it again, then try reinstalling rom by repeating steps starting with step 10 of the above flashing guide.
- if above fails, repartitioning the whole card (fat32 backup may be necessary if you have needed data on it), then try reinstalling rom by repeating steps starting with step 10 of the above flashing guide.
- if all above fails, ask the gurus such as anderl78 or mod-author, and don't forget to press the THANKS button once they have solved your problem
2. hboot - rom incompatibility, such as:
- flashing data++ rom on a device which is S-ON and\or has stock hboot (Solution: if so, S-OFF your device and flash correct hboot)
- flashing unmodified data++ rom with oxygen-r1 hboot (Solution: either modify rom or flash oxygen-r2 hboot)
- flashing a2sd+ rom on oxygen hboot (Solution: flash stock hboot)
- flashing rom on old hboot (<0.93): may take several tries, though I'd suggest S-OFFing as an easier alternative
3. Corrupt ROM file
- If flashing 22.214.171.124 Data++, modify the updater script as described here
- You may want to check MD5 signature for the rom file just in case
- If you have modified data++ rom to use oxygen-r1 hboot - make sure you did it without extracting stuff with consequent recompressing; make sure you haven't deleted anything not meant to be deleted
- If you tried integrating kitchen mods into rom.zip file - try flashing a vanilla rom, this way you'll determine the cause (maybe you modified rom.zip incorrectly, corrupting it)
4. Unrooted phone
Solution: Learn to RTFM and root your phone
You can read up here: http://forum.xda-developers.com/showthread.php?t=696189
5. Attempt to flash modified ROM without toggling signature verification to disabled
If you have modified your ROM, you have to toggle signature verification off; e.g in Amon-Ra it's in the menu Other\Toggle Signature Verification.
6. Other causes
If your problem does not fall under the above list, ask the gurus such as anderl78 or ROM-author in the MAIN THREAD, and don't forget to press the THANK button once they have solved your problem
5. Customizing guide
5.1. Kitchen customization - battery icon, etc.
To customize your phone by changing the appearance of top bar icons, notification panel, fonts, battery icon and the like you can use the UOT kitchen: http://uot.dakra.lt/kitchen/.
Just cook the file you need as described here http://forum.xda-developers.com/showthread.php?t=990829, then flash it from recovery.
Now if you have installed data++ version, things may be somewhat complicated. This is due to the fact that in the data++ version, some system files are partially on sd-ext:
/system/app goes to /sd-ext/app_s
/system/framework goes to /sd-ext/framework_s
/system/media goes to /sd-ext/media_s
/system/fonts goes to /sd-ext/fonts_s
You can actually check it yourself by opening the rom.zip file.
As the files which are changed by the kitchen mod you have cooked are usually among the ones relocated, the mod has to be a little different from the standard.
There are several ways to do this:
1. When cooking the mod in the kitchen, set the "Kitchen\File Upload\Flashing for Data++ ROM option" to ON.
This worked for most users.
2. [OR] edit cooked file manually, replacing file paths as described below:
Open the theme's zip file (e.g. one from UOT) and edit \META-INF\com\google\android\updater-script file, changing paths of files that had been moved to sd-ext in the data++ rom. After that you can flash it from recovery as usual, having toggled signature verification to Disbled.
For instance, with the data++ version of 3.0.6 I used the following lines (could be different with 3.0.7 official data++, but enought to get the picture, and you can always figure out the paths and which of them to alter from rom.zip):
ui_print("Applying UOT framework"); run_program("/sbin/busybox", "mount", "/sd-ext"); package_extract_dir("framework", "/sd-ext/framework_s"); package_extract_dir("app", "/sd-ext/app_s"); run_program("/sbin/busybox", "umount", "/sd-ext");
ui_print("Applying UOT framework"); run_program("/sbin/busybox", "mount", "/system"); package_extract_dir("framework", "/system/framework"); package_extract_dir("app", "/system/app"); run_program("/sbin/busybox", "umount", "/system");
3. [OR] integrate the cooked file into rom.zip. To do this:
1) Browse through your cooked mod and see what modded files are in there. Usually its SystemUI.apk and framework-res.apk.
2) Extract these files to any folder.
3) Now open you rom.zip using WinRAR, 7ZIP, Total Commander with an archive-browsing plugin or any other decent software.
4) Locate the files you found in (1) and replace them by dragging the files extracted in (2) over them. E.g.:
You have extracted from the kitchen mod.zip:
framework-res.apk from the app\ folder
SystemUI.apk from the framework\ folder
to some temporary folder on your pc.
In data++ rom.zip, you'll most likely find
framework-res.apk in rom.zip\sd-ext\framework_s\
SystemUI.apk in rom.zip\sd-ext\app_s\
So, for each instance, you drag the respective file from temporary folder to the archive, and confirm if the program you're using asks if you want to replace the files. In any case, ignore the META-INF\ folder.
The resulting modified rom.zip should be flashed with Signature Verification toggled to Disabled in recovery, as we have modified it.
Check if you have selected the right source files in the kitchen. In the UOT kitchen, on the FILE UPLOAD tab, under the heading "Select your rom from kitchen's list, or upload your own files", make sure you use "Kitchen's list", and select "LeeDrOiD 3.0.7 A2SD, ROM" from the dropdown. Alternatively, you can upload the actual files from the rom.zip.
If it still isn't working, then, most likely, you have incorrectly followed the above guide.
With all due respect, go to the main thread and bug people there - they will be very amused by yet another repetition of the "how do I flash the UOT kitchen mod on data++" topic... but will help you anyhow, as they are indeed nearly saints.
5.2. Adding notification panel widgets
The question of how to add widgets into the notification panel seems to appear every now and then in the main thread. There are many ways to do that. However, not all of them are easy\are easily customizable as the way I am describing below.
I solved it for myself by using the free Widgetsoid app.
It allows to make any number of highly customizable widgets, and can also place any of them in the notification bar.
The way to setup is first:
1. Install widgetsoid
2. Run it from the apps menu for initial settings:
- Flash led setting is METHOD 2
- Select desirable Brightness levels if you're going to use it (suggest using Seekbar first to get the hang of which levels are good for you, then using custom levels to set them up)
- I'd suggest setting "Widget focusable" to OFF, haptic feedback to ON
- Service in backgroud ON
- Hide notification icon to ON
- Open popup to OFF
Other settings you can change to your taste.
Then, to create your widget:
- Create a widget on your desktop, i usually use Widgetsoid Switcher 4x1 widget
- On network, Screen, Sound, Other, Shortcut tabs -- select which widgets are needed
- by clicking on a specific widget item in the preview you can move it to any place you want
- Go to theme tab, set it up to look as you want
- go to advanced tab, suggest following settings:
-- Modifiable - YES, you can turn it off later after you're sure you got what you wanted
-- Modifiable icon - up to you, I set it to off. What it does is show a small icon in top right corener which you can click to bring up widget editing screen; it works the same way without the icon, so it looks cleaner. It affects only the widgets placed on desktop, it won't be visible\usable in the notification panel widget
-- Notification - ON if you want to see the widget in the notification bar - so you want it ON
-- Widget invisible - as you want. If you check it, widget won't take place on your desktop, it'll only be visible in Notifications panel. Can't undo that later, so decide on the spot. You can always make another widget, though, if you later want to have one on the desktop and had made the previous one invisible.
-- Click Apply tab
It will ask you if you want to edit global prefs - no need to do that, so answer NO. The widget should appear in notification panel.
Some notes things:
- depending on notification panel style (transparent\white\other) you may want to change the color of your widget's icons so they are clearly visible (Widgetsoid app\Notification tab\Choose icon color). In transparent panel of 3.0.6-r2 it doesn't seem to work; as I remember, it worked with a white panel.
- In some cases, you may get a popup with the widget after you tap a widget item in notification panel after initial setup. If that happens, got to widgetsoid app, go to Notification tab, check state of "Open Popup" checkbox. If ON, set to off. If OFF but you still get the popup, check it to ON, then set it back to OFF, this solves the issue. It appears, you'll have to do that each time you add a widget to notification panel.
- If you made your widget visible only in notification panel and want to edit it, you can go to Widgetsoid app, go to Widgets tab, select widget you want to edit, tap the pencil button, edit as needed, tap apply tab.
- If you choose the widget to be Invisible on your dektop when you set it up initially, there is no way to uncheck this option if later you change your mind and want to see it on you dektop as well as in the notification panel. The only way you can do that is by recreating the widget.
- You can put more than one widget panel in the notification panel.
- If you use task killers (why would you want to?), make sure widgetsoid service is on the exceptions list.
VOILA, LeeDroid GB3.x.x with a notification tab switches in an easily customizable way!
PS you can watch it, if I am not mistaken, starting with 14:00 of the official widgetsoid video guide at http://www.youtube.com/watch?v=6pyf7U1cByI
6. Troubleshooting other issues:
There's not much issues I know of with this rom, unlike the HD ports. They may be user-specific, but I'm listing them here just in case.
- Lockscreen not appearing on power-on, i.e. after on button is pressed, phone starts direct to desktop.
Problem surfaced after several months of use. Fixed by reboot.
- When I want to select which calendars to be synced, I can only select [x] of my [x+n] calendars.
Fixed by clearing all data in the Settings>Applications section from processes containing the word Calendar.
7. One-stop download reference:
ROM itself: see middle of this post
EXT 3 Alignment patch
Recommended radio 32.56.00.32U_5.17.05.08, MD5 03cd7972412bec4b4ed6f2699e4c9af0
Live-CD used to S-OFF, MD5 3ca4c4803fe1eb309c980420788ad3f
Bravo oxygen r1 (with 90mb system partition, alpharev took it down after releasing r2 for some reason):
- fastboot flashing: link courtesy of anderl78, OR backup link to same file, MD5 0ac1bd252276a7e81c24d601569746e1 (if you use the second link and want to check MD5, unpack .img first, then check MD5)
- PB99IMG flashing, MD5 4f19784ae373fbfd8c2e5de6d32696a0
Bravo oxygen r2 (with 100mb system partition):
- fastboot flashing, MD5 532e39f7b0e8cf9aff07d4556fe6d841
- PB99IMG flashing
- fastboot flashing, MD5 7bd5234711364880de1fa982dcf3a2d6
- PB99IMG flashing
Mods and fixes
- All mods courtesy of anderl78, so if you like them, I'd suggest pushing a THANKS button on the respective post by anderl78
- Nandroid prior to flashing is a reasonable policy
- Some mods may require toggling signature verification to "disabled" prior to flashing
Hardkey backlight always off (good for those who like to read at night), backup link
No-sense patches for A2SD+ and Data++ versions: for LD3.0.7 and for LD3.0.8
Camera tweak (media_profiles updated, reducing jpeg compression)
Unlimited browser tabs tweak
3G\EDGE\MMS not working:
- reset your APN to default (goto Settings\Wireless and Networks\Mobile networks\Access Point Names\ press MENU key on your device, choose RESET TO DEFAULT)
- if unsuccessful, enter APN details manually (your operator should know) OR see this post for how-to on importing a large APN preset list
Black HTC Home widget (flip-clock+weather), works for 3.0.x and 2.5.0
Various performance improvements
Autobrightness tweak for 3.0.8
Juwe11's Ramscript for Leedroid
Leedroid 126.96.36.199 data++ updater-script fix
Database defrag mod (frees internal memory, speeds up operation a bit, slows down boot a bit)
Software to check MD5
GPARTED - linux software for partitioning, also can be run on any PC using a boot-cd
- site: http://gparted.sourceforge.net/livecd.php
- how-to: http://www.youtube.com/watch?v=sVK-tJe8pXE
MiniTool Partition Wizard - freeware windows partitioning program, site: http://www.partitionwizard.com/download.html
DISCLAIMER: whatever you do, you do on your own initiative and the results of your actions are your responsibility.