[Optimus V Android Development] obijohn:
UPDATED June 25, 2011

Bumblebee ROM 2.4

What's New

------ 6/25/2011 ------

Kernel source: bumblebee-kernel-r26-source.tgz

MD5 (bumblebee-kernel-r26-source.tgz) = 6fe10367094a0c609b76bc1694d3583a

------ 6/11/2011 ------

To upgrade from Bumblebee 2.3, wipe cache (and only cache) in recovery, then install the Bumblebee 2.4 zip (the install zip tries to wipe cache, but it is not always successful due to limitations in recovery, so it's best to manually wipe cache first then install). See below for more info if installing for the first time or coming from another ROM.

Kernel updates: accelerometer improvements (makes games using it more responsive), swap support, minor tweaks here and there. This is not the major new kernel which I've mentioned that I'm working on. That will be released when it's ready and completely stable, hopefully in a week or so (crossing fingers, but no guarantees).

ROM updates: Newly released update to Superuser (also with fixed signing key so it's upgradable via Market), No Frills CPU Control as a core app, updated core apps and system libraries.

------ 5/23/2011 ------

NOTE: Due to core changes in the system, I recommend a wipe for this update. A pain, I know; sorry about that. If you want to go a little crazy, you can try just wiping cache and dalvik-cache (first boot will still take a few minutes even with this shortcut). However, because the signing has changed on a few system apps, I cannot guarantee that this shortcut will work as the new keys may conflict with keys already stored in /data from a previous install. As always, if you have any issues, do a wipe. So, with that out of the way, on to what's new!

Shiny new Android boot animation (see below for an animated pic). Boot-up takes a few seconds longer, but it's so purdy you won't mind. :)

New built-in apps: GScript, Terminal emulator, and Text Editor.

Built-in settings updated to include Wifi AP Hotspot. Tether app, which was used to access the Hotspot settings before, is still installed as an easy way to create a desktop shortcut.

"ls" colors are now off by default, due to the Windows cmd.exe not being able to handle ANSI color codes properly when using adb. If you're on Linux, Mac, or another *nix environment, you can use the "lscolors" command to turn them on (it's sticky, you only need to do it once). In an adb shell, type "lscolors on" or "lscolors off" to turn them on or off permanently. You can also do this in the Terminal app on the phone, just be sure to "su" first.

Fixed a signing issue with some pre-installed upgradable apps (like Google Search and Voice Search) that made them non-upgradable. There should be no more issues with this now.

Updated ad-blocking /etc/hosts, and added a fix to the file for certain apps (like sl4a) that try to resolve localhost.

Screenshots

Boot Animation

Class 2 sdcard read speed increase

<-before ... after ->

Class 4 sdcard read speed increase

<-before ... after ->

Recommended install order:

Backup current apps and their data with Titanium Backup (available in the Market).

Do a nandroid backup in recovery before doing anything else below.

Required if installing BB 2.x for the first time: Wipe. Wipe it all. Data, cache, system, dalvik-cache, sd-ext if you've got it (might need to look under Advanced or Mounts in recovery to do the last two, and while you're there format /system). If upgrading from BB 2.3, wipe cache (and only cache) in recovery.

If not upgrading from 2.3, install Wiper zip (see below), just to be extra sure that all is wiped. Don't reboot yet.

Install ROM zip (see below).

Optional. If you need the non-overclocked kernel (see below), install it now before rebooting.

Boot into the ROM. w00t!

Download any desired gapps from the Market (Gmail, Maps, Street View, YouTube).

Restore apps with Titanium Backup (not necessary if upgrading, all apps should remain). Do not restore system settings, wifi settings, or anything else except user-installed apps and their data. If you have any issues after restoring apps, launchers and possibly other root or system-related apps may need to be uninstalled and re-installed.

ROM: update_bb_rom_2.4.zip

MD5 (update_bb_rom_2.4.zip) = b92900a5a095f41702ec2905e9453039

Wiper: update_wiper_1.3.zip

MD5 (update_wiper_1.3.zip) = 9a72c3b3d108eb8f033637d7b51af027

Recovery: xionia_cwma_12518.4_virgin.zip

MD5 (xionia_cwma_12518.4_virgin.zip) = 12481185d4234fe4b0af9d8265e86fb0

Kernel-only. Included in ROM. Linked here for the curious. Not guaranteed to work on any other ROM. Contains the two init.d scripts to enable dalvik-cache to /cache and the sdcard speed tweak.

Overclocked kernel:

update_bb_oc_kernel_1.26.zip

MD5 (update_bb_oc_kernel_1.26.zip) = 746453ee4e91ee1cac43d5429d62a460

Non-overclocked (by default) kernel, for those whose phones can't handle the default overclocking. Can still be overclocked with SetCPU to find the best setting.

update_bb_no-oc_kernel_1.26.zip

MD5 (update_bb_no-oc_kernel_1.26.zip) = 91251b7dd57c4bba57092642774b3437

​

I had an idea a little different than just putting up a "donate" button. I also happen to be a composer/pianist. So if you like neo-classical new age, instead of "buying me a beer" with a small donation, why not purchase a couple of tracks from my album Deep Blue Goodbye on Amazon or iTunes, and get something in return that might even last longer than your phone. :)

-------------------------------------------------

The Bumblebee ROM

-------------------------------------------------

​

Includes the Bumblebee Kernel (see below). Overclocked to 768 by default with the interactive governor (480 min, 768 max). No need for SetCPU or No Frills CPU Control, but you can use them to overclock even higher and/or set a different governor and range. If you get reboots, back off on the CPU settings, or install the non-overclocked kernel (see above) and gradually increase speed.

Froyo 2.2.1 with lots of tweaks.

TWS 50% bug fixed in Android Framework. This is not an "Airplane Mode Toggle" hack, this is the real deal -- a bug fix in the Android Froyo source. This also fixes the issue where 3G data connection would get stuck after making or receiving a call.

Sdcard Speed Tweak, increases sdcard read speeds by 20% or more.

Dalvik-cache to /cache for 170MB+ free internal memory after a clean install.

Reboot and Recovery options in power button dialog.

"Factory Data Reset" is removed from Settings (it's probably still accessible through an Anycut shortcut if you look for it, but if you're dumb enough to create a shortcut to that, I can't help you. :) ). Hopefully no more bricks from trying to wipe via the phone Settings. The factory reset was the only option under "Privacy", so you will no longer see "Privacy" on the main Settings screen.

Wifi AP Hotspot settings are available through the main settings screen under Wireless settings. It is fully functional, infrastructure mode. "Tether" app is included to create an easy desktop shortcut.

Extra-purdy boot animation.

AppWidgetPicker included to make choosing widgets easier by grouping them together in the selection menu. Similar to CM-style widget choice.

All Apps and Frameworks deodexed

These Google apps are removed because they are available on the Market: Gmail, Maps, Street View, and YouTube.

GScript, Terminal emulator, and Text Editor included.

Activate app is here, but all other bloatware apps are gone. The Activate app is included to help reset data connection problems for some people with wonky radios. It also happens to be handy for situations where your account lapses or gets canceled and you actually need to re-activate the phone. :-)

Note: When doing a full-wipe install, the Activate app will appear by default on the desktop. If your phone is currently activated with Virgin Mobile, the app will automatically be removed after a second or two. If your phone isn't activated, it will stay until you remove it from the desktop yourself or until your phone is activated.

Removed to save space: Non-english language TTS files; long music ringtones and music alarms (notifications and short alarms are not removed); some internal LG diagnostic sound files. The removed larger-sized ringtones are here. You can put these on the sdcard to save system space. Unzip and install with "adb push media /sdcard/". (TIP: put any ringtones you download into the /sdcard/media/audio/ringtones folder to save memory.)

SuperUser pre-installed (be sure to check the Market for any updates)

Latest versions of TalkBack, KickBack, and SoundBack. TalkBack is available as a keyboard input method. Activate Accessibility->TalkBack, long-press in a text area, select TalkBack. Do the tutorial, it's pretty cool.)

toolbox and busybox (1.18.4)

etc/hosts from mvps.org for free generalized adblocking. This doesn't block admob or apps that use custom adds. Some in-app ads are blocked, e.g. the top banner ads in WeatherBug and a few others, including ads in some games. Most website ads are blocked. YMMV.

init.d support in kernel. Included are two init.d scripts to move dalvik-cache to /cache and an sdcard speed tweak, mentioned above.

e2fsprogs and libs for creatings, checking, and resizing ext2/3/4 partitions. ext2/3/4 support is compiled into the kernel, but these binaries are useful in init.d scripts.

Installing

Don't do a factory data reset from within the phone settings menu. This has caused all kinds of problems with every ROM out there, although it may be related to the recovery you're using. Better to be safe and just don't do it that way. It's been removed from Bumblebee, but it's probably still there in your current ROM. Stay away.

If coming from another ROM, I always recommend a complete wipe. In recovery, wipe data and cache. Then, under "mounts and storage" or "advanced" (depending on your recovery), format boot, system, data, and cache, and wipe Dalvik-Cache if you have that option as well. Lastly, use the Wiper update zip above, which includes it own wipe functionality to be extra wipy. :-) Then install the ROM.

Recommended recovery

I use the Xionia CWMA 1.2518.4 Virgin recovery (note: this is a direct download to the recovery, with flash_image and a short how-to, because the original download in the forums was not working). I find it works fairly well, even though it suffers from incomplete wipes sometimes (they all do). I can't answer questions about installing Bumblebee with other recoveries, so if you have problems, first change to the Xionia CWMA .4 Virgin recovery and try again. (Note: the Xionia 1.2518.6 CWMA recovery in the Optimus S forums is not compiled for the V, only the one linked above is. Some people find .6 works, some don't. I can only say that .4_virgin works for me and .6 didn't.) I also plan on releasing my own recovery with the Bumblebee kernel soon, so stay tuned.

Wiper update zip

This update zip does a full wipe. (Well, technically, it doesn't wipe the sdcard, just /sdcard/.android_secure, and it only cleans up the sd-ext, if you've got one, without formatting it. But just about everything else is wiped pretty good.)

Download the "wiper" update zip listed at the top of the post, and flash with recovery.

Bumblebee ROM update zip

If you don't do a wipe and you have any issues, force closes, etc, do a wipe (again, not a reset from the phone settings menu) and re-install before you report the issue here. Or try the Wiper zip above then re-install.

Download the ROM update zip listed at the top of the post, and flash with recovery.

-------------------------------------------------

The Bumblebee kernel

-------------------------------------------------

​

Compiled from the official bug-fixed LGVM670_02 source with the following patches and modules:

init.d support. Init scripts should be placed in /system/etc/init.d and are executed in order (convention is to begin the script filename with a 2-digit number so they are executed in numerical order). Note that /sdcard is mounted by the Android init system after the rest of the system has loaded, so init scripts should not attempt to access /sdcard unless mounting it is included in the script.

If you install Link2SD and have created the /system/etc/init.d directory, that app will create a script named 11link2sd to mount the ext2/3 partition. If you don't have an init.d directory, Link2SD will create /system/etc/install-recovery.sh as a place to put it's mount code (not to worry, the install-recovery.sh file doesn't exist in Bumblebee, so it will be empty except for the Link2SD code).

Regardless of the method, if you use Link2SD and you find that it's not working, it may be because Link2SD didn't set permissions properly on the file it created. To fix this, "adb remount", then "adb shell chmod +x /system/etc/init.d/11link2sd" (or /system/etc/install-recovery.sh).

Built-in AP Hotspot enabled

Compiled-in support for ext2/3/4. e2fs binaries and libs included.

Networking modules: tcp congestion avoidance (bic, h-tcp, westwood) and tunneling (ipip and gre)

CPU governors: interactive, conservative, ondemand, userspace, powersave, and performance. Info on most of these is here: SetCPU Documentation

The interactive governor is newer than the SetCPU docs. It is a dynamic governor that scales (if needed) when coming out of idle, instead of polling.

Overclocked. Default on boot is 480-768/interactive, but this can be changed with SetCPU, or the built-in No Fills CPU Control, to any value (valid range is 122-864). Get SetCPU from the market (donate version), or see this thread to download it free for XDA forum members (posted by the dev):

SetCPU for Root Users

Stability at the high-end values depends entirely on individual batches of CPUs. A stable max value for the V can be anywhere from 787 to 824 or higher, it just depends on the unique qualities of the batch your individual CPU came from.

My personal settings are 600-806/interactive and I get great battery life. With the screen off and 3G/wifi set to always be on, I see about 1% drain per hour. There's lots of discussion on the V and S subforums about CPU frequencies and battery life and optimal settings; feel free to browse them for all the interesting findings and info.

What Works

Everything. :-)

Installing

NOTE: If you are installing the ROM, you don't need to download the kernel, it's included. The kernel is here as a separate download for those wishing to just use the kernel with their current ROM.

Download the kernel update zip listed at the top of the post, copy it to your sdcard, and flash with recovery (you can rename it update.zip if your recovery doesn't give you the option of selecting a zip to install).

If you're using a Virgin-based rom, you should generally be fine. If the ROM has replaced any of stock Virgin dynamic-link (*.so) library system files to play happy with their kernel, there may be issues, but that's almost impossible to predict. There are a bunch of those *.so lib files, so to install them all really requires installing a new ROM (like Bumblebee), not just a kernel. However, I've included most of everything that is required for all the hardware to work properly on boot, and if your ROM is mostly stock (e.g. Xionia_VM, Aphrodite, RomidusROM) there shouldn't be any noticeable problems. If the ROM you use has a kernel-less update after you've installed this kernel, you may need to re-install the kernel if any issues crop up.

As-is, the kernel will not work with CM7. I have a kernel install zip that does work, but only 98% (some sensors work, some don't), so I'll release it when it all works 100%.

Note on Key Mapping

Most kernels in the past for the V have been built from the Optimus S source, which reverses the Home and Menu keys due to slight hardware differences. Many of these kernels, and ROMS that use them, have altered the key layout system file to reverse those two keys. The Bumblebee kernel, coming from official source for the Optimus V, has the buttons mapped correctly already. As part of the installation process, it overwrites the existing key layout file with the original key maps, so that people coming from kernels and ROMS that swapped the keys won't find themselves with the keys reversed again. If you use Button Remapper or a similar app to set up other custom key maps, you will need to re-map those keys after installation.

-------------------------------------------------

​

Themes

I don't believe in ROM themes, so you won't find any here. You can do just about any customization you want with the various launcher replacement apps available in the Market (I'm partial to GO Launcher EX, myself).

Stay tuned for Kernel and ROM updates!