[Kernel] Picasticks OC kernel built from LG source for Optimus V
This kernel is a "stock plus" kernel that takes the LG kernel source, adds overclocking and the interactive frequency governor, and strips some unnecessary kernel debugging code and drivers. The idea is to have a fast-but-stable performance kernel based on the well-tested LG kernel config.
Currently, it also includes the TUN/TAP device driver compiled as the tun.ko module, so you can do IP tunneling (OpenVPN for instance), and the ext2/3/4 filesystem drivers (for instance, for use with Link2SD). Otherwise there is no added device support (I'm going for lean and mean), but I'm open to adding drivers as modules if there's a lot of people who want something.
For more information, check out this blog post. I have an Optimus S and this kernel originated as an S kernel, so there's also good background info in the Optimus S thread. Now that we've gotten LG to release clean VM670 source, I've done a compile for the V. Sprint brothers unite!
Who is it for? I recommend it as an upgrade if you're running the stock kernel. It's good for any LG-based ROM. If you're running a Cyanogen-based ROM like CM7 or AOSP, understand that use with any non-LG-based ROM is experimental and unsupported. Do not report any issues you run into as bugs! Zefie has built Xionia for use with CM7 and recommends that instead. To be more clear:
* This kernel (picasticks) is version 18.104.22.168 (Android Platform 8/2.2/Froyo) and intended for a 2.2/Froyo OS/ROM. If you run it on Cyanogen, expect problems. (When LG releases 2.3, I will go to 2.3 also.)
* Xionia is version 22.214.171.124 (Android Platform 9/2.3/Gingerbread corresponds to 2.6.35 kernel) and intended for 2.3/Gingerbread OS/ROM (i.e. Cyanogen at this point). If you run it on 2.2/Froyo, expect problems.
It uses koush's AnyKernel updater (which preserves whatever boot ramdisk is already on your phone) so you should be able to flash it with any ROM. A downside to this is that, to enable the interactive governor (instead of ondemand) you will have to do something ... see the S thread top post.
Keep in mind I don't have a V, so if you think you've found a bug, do your best to reproduce it and describe in detail. Note what ROM you're using, and be sure to try again after doing a dalvik+cache wipe. If you're overclocked, test again at 600 MHz ondemand. If it's not something I can reproduce, then it'll be up to you and other V users to pinpoint it.
Before I post the download link, let me repeat the standard disclaimer. This software is provided with no warranty and you choose to use it at your own risk. Be sure that you understand what you're doing and that you have backups (NAND backup, backup of your boot image, whatever) to be able to restore to your old kernel if you need to.
Download, copy to /sdcard, reboot to recovery and flash: picasticks-07a.zip
picasticks-07a.zip 18 April 2011: Same as 06-a, the .zip updater adds feature to check for incorrect swapped Home/Menu keymap and revert to original keymap (see page 7 of thread for notes)
picasticks-06-a.zip 14 April 2011: Includes ext2, ext3 and ext4 Linux filesystem drivers built as modules
picasticks-06.zip 14 April 2011: Initial release for V (previous releases for S only)
Special test pilot brownie points go to whoever boots into this thing first!
- 04-14-2011, 12:53 AM #2
- 04-14-2011, 01:36 AM #3
- 12 Posts
Dang beat me to it. Runs smooth but only problem so far is that it switched my home and menu buttons
Congrats to overthinkingme!
harukay you get congrats for first bug report!
Yes, one of the few differences between the phones is that the home and menu buttons are switched ... so if you take an S kernel and put it on the V, that's what happens. I was hoping/assuming that by compiling the V code for the V that the buttons would be in the right place. Looks like we were not so lucky. I know zefie and others have addressed this when they ported their S kernels to the V so I'll look into it.
Can someone else please verify that the buttons are switched?
Link2SD app? (or which one are you using?) Could you use a FAT32 partition with your Link2SD instead?
I just use the "move to SD card" in Manage Apps that's part of Froyo to do this, btw. Is there some advantage to using a separate app for this? (not a rhetorical question, I am genuinely curious.)
- 04-14-2011, 01:59 AM #6
Good job getting it compiled.
I'll certainly be checking this out if it support ext2/3 filesystems. Good job including the TUN driver, that's one I need too.
I'm interested to see if it solves my problem with being unable to monitor battery current with different battery widgets. If it's more 'standard V' like, it's possible that might help.
I would like to find out how to compile C programs for the Android platform. What's the build environment you use for compiling this kernel?
- 04-14-2011, 02:02 AM #7
Thread about it: http://forum.androidcentral.com/opti...rage-woes.html
GCC 4.6 just came out which has support for Bionic, which is Google's stripped-down version of libc for Android (like how Debian have adopted EGLIBC), so if you are talking userland apps you might want to take a look at that. I'm not doing that, so literally that's about all I know about it.
If you are just doing the kernel, you will just need to set ARCH and CROSS_COMPILE (to point to your toolchain) and that's pretty much it. i.e. for the NDK compiler:
Hope that helps a little at least.
- 04-14-2011, 02:24 AM #10
- 04-14-2011, 02:35 AM #11
- 04-14-2011, 02:59 AM #12
OK, for those who wanted it, here is an alternate version with ext2, ext3, ext4 filesystem support as modules: picasticks-06-a.zip. I also put a link on the top post.
It looks like journaling support is built as separate modules so for ext3/4 you will also need jbd/jbd2 (also included).
Let me know if this works. (I kind of like the "no Optimus V" excuse, it saves a lot of time to just build things and post them with no testing. )
- 04-14-2011, 03:44 AM #14
- 19 Posts
Would it be possible for you to add undervolting to this kernel?
- 04-14-2011, 07:49 AM #15
- 72 Posts
download does not work. I tried dolphin opera skyfire and default browser.
the sense themed rom was the problem it does not work with anything mediafire.
- 04-14-2011, 09:48 AM #16
- 663 Posts
For people with button swapping issues. Until it is fixed in the kernel you can use the flash zip in the other kernel thread by mmarzz? sorry still waking up and too lazy to go look at your name spelling, no offense intended. I use it when flashing kernels with swapped buttons and it makes the fix painless. Hope this helps point you guys in the right direction.
- 04-14-2011, 04:02 PM #17
I would have to look into this (not near my Android machine), but it's possible that the stock kernel already has hybrid AVS (adaptive voltage scaling) so there would be no need for manual voltage scaling. There's also the question of what the chipset supports. I know that frequency scaling below 245 MHz doesn't work. Like I said, if you really want to get the ball rolling on this, patch and some test data are the way to go, or if you can't manage that then as close as you can get, the better. Code, chipset reference, etc.
- 04-15-2011, 09:16 AM #20
- 169 Posts
Regarding button swapping issues, the kernel itself has the buttons mapped correctly. However, if you're flashing this over another kernel that changed the thunder_keypad.kl button map file, or if you were using ButtonRemapper to do it (which changes that file), that file overrides the internal kernel mapping. So it's now swapping the otherwise-correctly-mapped buttons.
picasticks, you might want to include the original kl file so that this isn't an issue for people installing this kernel who have a kl file with the buttons remapped to fix a kernel that didn't map them correctly.
- 04-15-2011, 11:59 AM #21
- 97 Posts
Can you (or anyone else) please send me an original thunder_keypad.kl file (and a modded one if you have it)?
I pulled the one from my S, it's /system/usr/keylayout/thunder_keypad.kl and I will also try to pull one from a V ROM, ButtonRemapper or some other V project here.
It's very easy for me to just put the original .kl file into the .zip updater, and have it overwrite whatever .kl the phone has installed. And, if all people are doing in these files is swapping those two keys, then that's fine. But, if you think people are doing lots of different button modifications, then I would also be clobbering all of those mods.
So, I would appreciate advice from the V community on whether you think it is a good idea to have the update.zip restore the original .kl file (possibly undoing other mods to the hardware keys) or just leave it alone (the way it is now, which means people have to undo the button-swap themselves).
Hopefully, at some point all kernel devs for the V will just fix their kernels, so people won't have to hack this file in the first place.
- 04-16-2011, 08:57 PM #23
- 169 Posts
Here's the file. This is from the original V stock system image.
Honestly, I don't think very many people are modding buttons beyond those two, and then it's usually done at the kernel or ROM level so most don't realize it. If anyone is messing around with lots of button maps on their own, they're using the Button Remapper app to do so, and it's fairly easy to reset. Takes like 3 seconds.
I would definitely suggest putting the kl file in the update.zip, then editing your updater-script to print out a couple of lines saying the buttons were reset to stock.
Since a "pure Virgin" kernel is fairly new, most people will have their buttons swapped from using a kernel derived from the LS670 sources.
- 04-16-2011, 10:01 PM #24
- 3 Posts
Works great on aosPCMod-OV-20110415
--- ls-thunder_keypad.kl 2011-04-16 17:16:51.749026950 -0400 +++ vm-thunder_keypad.kl 2011-04-16 20:49:00.000000000 -0400 @@ -9,13 +9,13 @@ key 9 8 key 10 9 key 11 0 -key 158 BACK -key 230 HOME +key 158 BACK WAKE_DROPPED +key 230 HOME WAKE key 60 SOFT_RIGHT WAKE key 62 ENDCALL WAKE_DROPPED -key 229 MENU -key 59 MENU -key 139 MENU +key 229 MENU WAKE_DROPPED +key 59 MENU WAKE_DROPPED +key 139 MENU WAKE_DROPPED key 228 POUND key 227 STAR key 231 CALL WAKE_DROPPED @@ -24,7 +24,7 @@ key 108 DPAD_DOWN WAKE_DROPPED key 103 DPAD_UP WAKE_DROPPED #key 102 ENDCALL WAKE_DROPPED -key 102 HOME +key 102 HOME WAKE key 105 DPAD_LEFT WAKE_DROPPED key 106 DPAD_RIGHT WAKE_DROPPED key 115 VOLUME_UP WAKE @@ -33,7 +33,7 @@ key 355 DEL WAKE_DROPPED key 212 CAMERA key 247 FOCUS -key 217 SEARCH +key 217 SEARCH WAKE_DROPPED key 216 VOICE key 226 HEADSETHOOK WAKECode:
--- thunder_keypad.kl 2011-04-16 20:49:00.000000000 -0400 +++ ap/system/usr/keylayout/thunder_keypad.kl 2011-04-01 15:52:16.000000000 -0400 @@ -15,7 +15,7 @@ key 62 ENDCALL WAKE_DROPPED key 229 MENU WAKE_DROPPED key 59 MENU WAKE_DROPPED -key 139 MENU WAKE_DROPPED +key 139 HOME WAKE key 228 POUND key 227 STAR key 231 CALL WAKE_DROPPED @@ -24,7 +24,7 @@ key 108 DPAD_DOWN WAKE_DROPPED key 103 DPAD_UP WAKE_DROPPED #key 102 ENDCALL WAKE_DROPPED -key 102 HOME WAKE +key 102 MENU WAKE_DROPPED key 105 DPAD_LEFT WAKE_DROPPED key 106 DPAD_RIGHT WAKE_DROPPED key 115 VOLUME_UP WAKE
Anyway I'm testing some tweaks to the kernel so when I put out a new version I'll probably throw the stock thunder_keypad.kl in.
That means speak up now if you don't want my kernel to clobber your custom key mappings back to stock.
That was the only bug report on the kernel AFAIK so I guess that means picasticks-06 is looking pretty solid!