- Feb 19, 2011
- 1,971
- 284
- 0
Now for KitKat too!
This runs decently with thekraven's PAC 4.2.2 and JBC, apparently CAI (cm9), as well. Any ROMs older than the JBC need an extra zip for test 45 to beta2a. It removes sbin/charger (or sbin/chargerlogo) from the ramdisk to avoid bootloop. beta2b and later now include this by default in the kernel zip.
CAI/ICS has no USB functionality.
I'm uploading unsigned flashable zips.
current:
bigsuperkernel3.0.101r6.0_noTLS_noMTDswap.zip for ROM versions built before before 7/12/2014
bigsuperkernel3.0.101r6.0_TLS_MTDswap.zip for everything more recent.
md5sum files in the shared folder too.
as it says, linaro gcc 4.7 toolchain. Supposed to be faster, better, stronger; the standard $6,000,000 man stuff. Not to mention -O2 optimizations in the build.
Thanks justarchi on xda for the toolchain and optimization instructions. The ROM thread has a link to his optimization thread in the OP.
includes thunderg ami304d to fix rotation/compass issues.
mount whichever /system you're using in recovery before flashing.
debugged enough to not be beta anymore. Binary finally uploaded after skipping r1.3-1.5
commit log for changes
r6.0 kernel 3.0.101, f2fs, accelerometer hopefully really fixed using thunderg blob, (MTD system and userdata partitions swapped, hardware TLS enabled) or not.
r3.0 compass fixed
r1.0
uhid bluetooth fixes for kitkat.
beta 6.
androidarmv6 bluetooth fixes and thekraven updates.
A revised beta 2b is out since fixing the rest of the charger. 2a and older all charge at about 400mA regardless of charger type or fastcharge toggle. 2b seems to pull power correctly. Fastcharge enabled, use the existing widgets or terminal instructions from jawz101's post.
Beta 2b uses 99% of the above patch but allows adb and mass storage by directly changing charge current instead of changing the charger type. updated with more charger code.
as of alpha test 81, everything works.
DISCLAIMER: You flash it, you're responsible for the outcome. This is an experimental kernel. Any zips labeled "test" are alpha releases. They are buggy one way or another but are archived in case anyone wants them.
Be sure to make a backup before flashing! I'm really only releasing it because I, too, once could not build kernels, but still enjoyed playing with them with my then-new OV.
(Ah, Zefie's Xionia. And Blarf's first build with the USB charge power turned up enough to charge while downloading on wifi. Memories...)
Plus it's the only way to get bluetooth on PAC and JBC at the moment.
Turn signature verification off in recovery or it won't work. Mount /system before flashing or wifi may break.
Archived.
also archived, both the above files replaced by
keyswap zip for Optimus S, also unsigned (reversed keys build 6 JBC)
MD5sum: eb58010bfad29fc91c838ae0f5f1fb3a
View attachment OS-keyswap.zip
alternate, reversed
MD5sum: 9e561b977b8c30ef6fbb8b355dba3af2
View attachment OS-keyswap1.zip
wipe /cache and dalvik-cache in recovery before flashing kernel to avoid issues.
kernel binaries are now archived with Google. They know everything anyway, and it's not like these are closed source.
GoogleDrive
CHANGELOG
This is intended for android 4.2. Specifically tested with thekraven's PAC and JBC.
You'll need the Virgin fix he posted for mms, carrier name, and such, but remove the /system/usr folder from the zip or you'll have your home/menu keys reversed since this kernel is built for the V instead of the S.
the test versions of JBC may not need keyswapped.
Tested with ICS (specifically thekraven's CAI.) No USB functionality on ICS. Maybe if it was rebuilt with the kernel headers it'd work.
Boots with GB (mirage.) But... no USB access. video whitescreen. Flash player only kind of works. I wouldn't bother. Like CAI, maybe if it was rebuilt with the kernel headers it'd work.
It ran froyo Harmonia with modifications to the battery code, but had weird little problems like black-and-white youtube playback (even with new EGL libs,) and no adb. This release will power off froyo as soon as it gets to the lockscreen.
Anyone wants to poke around with building or modifying, fork it or just git clone it!
Here's the source link:
https://github.com/bigsupersquid/android_kernel_lge_msm7x27-3.0.x.git
(branch cm-11.0)
thunderc-test_defconfig
you'll want to change or remove the toolchain path in the config. Highly unlikely your cross toolchain is in the same path as mine. I set it in there to avoid having to add "CROSS_COMPILE=/blah/blah/etc" to the make command every time I rebuild the kernel.
merged some ZV9 stuff in... it looks like the 2.6.35 Sprint stuff (https://bitbucket.org/thekraven/iscr...-2.6.35-rebase) may merge more cleanly into 3.0.8 though. Used some of each here, some there.
Where it's at currently (working/nonworking):
beta 1: offline charging still down, but has stock LG charger detection in battery code. Everything else, working fine.
as of test 81, basically everything works except offline charging!
pre-test 81:
adb works.
USB mass storage works.
bluetooth works! pairs with my keyboard.
3g works, as does wifi.
triple framebuffer works. Enabled.
youtube video plays. regular and hq both.
phone works, mms and sms too.
audio routed correctly now for on-device outputs. Speakerphone a bit on the quiet side. stock headset works but high volume. headset button picks up calls, or mutes microphone if in-call. I own no bluetooth headsets to check functionality though.
bluetooth audio seems to mostly work in JBC and CAI, test 40 and up.
all hard keys working.
vibrator works.
GPS works... locked within 10' of my actual location.
button backlights working.
NOVATEK_HITACHI mess from LG for the multidevice display driver is working. Should be no black screen on newer or older phones.
proximity sensor works.
camera completely working in test41. videocamera, panorama(!) still camera, and even that weird HDR mode.
thanks to thekraven for camera fixes!
battery meter working, but only refreshes after screen off/on. charging indicator also refreshes, but only on sleep/wake, as of test 50. Charges faster than standard through usb, I set it to 350mA instead of the default 2. The charge rate can be changed, in the config under drivers-usb-gadget.
accelerometer working as of test 41.
compass working as of test 41.
framebuffer console after display initializes... I took patches from [DEV] Framebuffer console - xda-developers and added a .config switch to turn this on or off. dmesg display requires funky kernel command line, and goes away when initlogo.rle and the bootanimation play. this shows crashes and panics before adb connects, though, is good for debugging, and is borrowed from gingerbread p500 kernel. thanks to tasssadar. Disabled in this build, but can be turned on in config if you build your own.
overclock enabled. Including AHB memory overclock from http://androidforums.com/3528567-post12.html. thanks to jiilik.
restored log size in test 45, was blocking logcat.
dev/frandom for crossbreeder included (not a module.) As of test 45.
random reboots appear to be a thing of the past. hopefully.
test40 onwards compiled using hardfloat flags (meaning it uses the math coprocessor instead of doing math with the CPU)
https://github.com/jawz101/android_kernel_thunderc/commit/78f4241838d6b7d856ef49b495e18135dbb5465e
gnu toolchain here
added armv6k compile flags since the MSM7627 is capable of handling the added instructions.
1-4-2014: now battery temperature readout should work right. Source pushed but no new binary yet. commit
Thanks to:
thekraven for helping point things out and providing a test ROM with the right kernel headers. It still runs fine with the standard builds of PAC and JBC.
also thanks to androidarmv6 team and all the thunderg devs who got it working on their device. Without all that code I'd have had no hope of getting this working at all, since I just copied so much of it over from thunderg to thunderc...
meld is my best friend with linux and kernel patching to compare and patch the differences.
This runs decently with thekraven's PAC 4.2.2 and JBC, apparently CAI (cm9), as well. Any ROMs older than the JBC need an extra zip for test 45 to beta2a. It removes sbin/charger (or sbin/chargerlogo) from the ramdisk to avoid bootloop. beta2b and later now include this by default in the kernel zip.
CAI/ICS has no USB functionality.
I'm uploading unsigned flashable zips.
current:
bigsuperkernel3.0.101r6.0_noTLS_noMTDswap.zip for ROM versions built before before 7/12/2014
bigsuperkernel3.0.101r6.0_TLS_MTDswap.zip for everything more recent.
md5sum files in the shared folder too.
as it says, linaro gcc 4.7 toolchain. Supposed to be faster, better, stronger; the standard $6,000,000 man stuff. Not to mention -O2 optimizations in the build.
Thanks justarchi on xda for the toolchain and optimization instructions. The ROM thread has a link to his optimization thread in the OP.
includes thunderg ami304d to fix rotation/compass issues.
mount whichever /system you're using in recovery before flashing.
debugged enough to not be beta anymore. Binary finally uploaded after skipping r1.3-1.5
commit log for changes
r6.0 kernel 3.0.101, f2fs, accelerometer hopefully really fixed using thunderg blob, (MTD system and userdata partitions swapped, hardware TLS enabled) or not.
r3.0 compass fixed
r1.0
uhid bluetooth fixes for kitkat.
beta 6.
androidarmv6 bluetooth fixes and thekraven updates.
A revised beta 2b is out since fixing the rest of the charger. 2a and older all charge at about 400mA regardless of charger type or fastcharge toggle. 2b seems to pull power correctly. Fastcharge enabled, use the existing widgets or terminal instructions from jawz101's post.
Beta 2b uses 99% of the above patch but allows adb and mass storage by directly changing charge current instead of changing the charger type. updated with more charger code.
as of alpha test 81, everything works.
DISCLAIMER: You flash it, you're responsible for the outcome. This is an experimental kernel. Any zips labeled "test" are alpha releases. They are buggy one way or another but are archived in case anyone wants them.
Be sure to make a backup before flashing! I'm really only releasing it because I, too, once could not build kernels, but still enjoyed playing with them with my then-new OV.
(Ah, Zefie's Xionia. And Blarf's first build with the USB charge power turned up enough to charge while downloading on wifi. Memories...)
Plus it's the only way to get bluetooth on PAC and JBC at the moment.
Turn signature verification off in recovery or it won't work. Mount /system before flashing or wifi may break.
Archived.
Code:
Two old files...
]init.thunderc.rc.pac.zip to replace file in ramdisk for PAC to stop bootloop. The problem, surprise, is the charger init. Updated with actual modified file from PAC instead of from JBC.
MD5sum: 13054b8784f4e798b88759f92ca9a410
[ATTACH]75968[/ATTACH]
init.thunderc.rc.cai.zip for CAI to stop bootloop. no adb in CAI with this... in fact, no usb functionality at all. no charging indicator, either. otg_low_power mode on and off is it.
MD5sum: f1dd00b0d4ede60c8b3a97dd4f670ee5
[ATTACH]75969[/ATTACH]
Code:
[ATTACH]88438._xfImport[/ATTACH], md5sum b1a9f21285e09e06dc94422a8578dc98
which removes the offline charging functionality in a generic way which should work on any ROM.
keyswap zip for Optimus S, also unsigned (reversed keys build 6 JBC)
MD5sum: eb58010bfad29fc91c838ae0f5f1fb3a
View attachment OS-keyswap.zip
alternate, reversed
MD5sum: 9e561b977b8c30ef6fbb8b355dba3af2
View attachment OS-keyswap1.zip
wipe /cache and dalvik-cache in recovery before flashing kernel to avoid issues.
kernel binaries are now archived with Google. They know everything anyway, and it's not like these are closed source.
GoogleDrive
CHANGELOG
Code:
r1.2
ashmem fixed, swap enabled
r1.0
uhid bluetooth fixes for kitkat.
beta 6.
androidarmv6 bluetooth fixes and thekraven updates.
...duh... missing 5 and 4 info.
beta3: fix battery temperature and merge from
androidarmv6.
beta2b: alternate fastcharge method. updated, plus removecharger.zip incorporated to simplify.
MD5sum: 7a42bc3ab9b3591493cd2eaad8ab3b47
beta2a: fastcharge enabled.
MD5sum: 43ff961305541c21e4f3af35254b9c44
beta 1: usb cable type detect code patched in from original thunderc. Everything working but offline charging, and I blame the differences between 2.6 and 3.0 kernels that block USB functions in ICS and GB with this kernel.
MD5sum: eddd341703a9c394448c61b26bd91399
test 81: battery!
MD5sum: cd4e8679c67b296cafd31e938ce83fc7
test 80: revert battery driver to test 55.
MD5sum:269dbdc02c97a99be02b0104809551e1
test 75: (phone info still says test 70) revert battery capacity to pre-test 41 for readout.
MD5sum: 9bb77f0b83afdb6bbf0a00e5bbc5a638
test 70: remove extra filesystems, tweak at battery some more. should read battery level correctly on boot again (nope, reads 100% till it dies. use at own risk.) still wake/sleep deal for charger notify and battery level update.
MD5sum: d81ab3ef70845875bd274c815da9ed84
test 65: clean up battery readout a little, should be more accurate and less jumpy. Reads 100% until after sleeping first time, though. Increase usb charge current to 500 mA. Turn off USB host mode since I can't get it working yet.
MD5sum: 38941925b3cc7fbd4aa09656f8348448
test 61: clean up battery charger notification some with seperate rpc calls for battery and charger info, fix battery capacity issue always 100% in test 60.
MD5sum: 8b19df8379a278577a7f1deda860bb69
test 55: bring wifi patches up-to-date with thekraven
MD5sum: 387f7d136da3c58d4b1c51160e9b8232
test50: battery charging notification partially working. like battery info, charger status only refreshes on sleep or wake. unplugging or plugging in cable without sleep/wake shows no changes.
MD5sum: afc606ad98f7778d60e536057ae5f1e7
test 45: revert log sizes to standard.
add [URL="http://billauer.co.il/frandom.html"]dev/frandom[/URL] for [URL="http://forum.xda-developers.com/showthread.php?t=2113150"]crossbreeder[/URL].
fix ld0 voltage that was incorrectly changed after test 41 and correct other ldo voltages from p500 to thunderc (no binary uploaded here, nothing to worry about unless you're building from source.)
MD5sum: 3581cad26bd0cda646fc1370bec1a426
test 41: first release with accellerometer working
MD5sum: ee7dd6972a6526ce87f2ecc9dd8c1d71
archived until further notice:
test 40
MD5sum: 8bfa68857c49f62c9520cfc7583e093c
test 30: initial release
MD5sum: 20e018be78c65878bd6df1ec841001d2
This is intended for android 4.2. Specifically tested with thekraven's PAC and JBC.
You'll need the Virgin fix he posted for mms, carrier name, and such, but remove the /system/usr folder from the zip or you'll have your home/menu keys reversed since this kernel is built for the V instead of the S.
the test versions of JBC may not need keyswapped.
Tested with ICS (specifically thekraven's CAI.) No USB functionality on ICS. Maybe if it was rebuilt with the kernel headers it'd work.
Boots with GB (mirage.) But... no USB access. video whitescreen. Flash player only kind of works. I wouldn't bother. Like CAI, maybe if it was rebuilt with the kernel headers it'd work.
It ran froyo Harmonia with modifications to the battery code, but had weird little problems like black-and-white youtube playback (even with new EGL libs,) and no adb. This release will power off froyo as soon as it gets to the lockscreen.
Anyone wants to poke around with building or modifying, fork it or just git clone it!
Here's the source link:
https://github.com/bigsupersquid/android_kernel_lge_msm7x27-3.0.x.git
(branch cm-11.0)
thunderc-test_defconfig
you'll want to change or remove the toolchain path in the config. Highly unlikely your cross toolchain is in the same path as mine. I set it in there to avoid having to add "CROSS_COMPILE=/blah/blah/etc" to the make command every time I rebuild the kernel.
merged some ZV9 stuff in... it looks like the 2.6.35 Sprint stuff (https://bitbucket.org/thekraven/iscr...-2.6.35-rebase) may merge more cleanly into 3.0.8 though. Used some of each here, some there.
Where it's at currently (working/nonworking):
beta 1: offline charging still down, but has stock LG charger detection in battery code. Everything else, working fine.
as of test 81, basically everything works except offline charging!
pre-test 81:
adb works.
USB mass storage works.
bluetooth works! pairs with my keyboard.
3g works, as does wifi.
triple framebuffer works. Enabled.
youtube video plays. regular and hq both.
phone works, mms and sms too.
audio routed correctly now for on-device outputs. Speakerphone a bit on the quiet side. stock headset works but high volume. headset button picks up calls, or mutes microphone if in-call. I own no bluetooth headsets to check functionality though.
bluetooth audio seems to mostly work in JBC and CAI, test 40 and up.
all hard keys working.
vibrator works.
GPS works... locked within 10' of my actual location.
button backlights working.
NOVATEK_HITACHI mess from LG for the multidevice display driver is working. Should be no black screen on newer or older phones.
proximity sensor works.
camera completely working in test41. videocamera, panorama(!) still camera, and even that weird HDR mode.
thanks to thekraven for camera fixes!
battery meter working, but only refreshes after screen off/on. charging indicator also refreshes, but only on sleep/wake, as of test 50. Charges faster than standard through usb, I set it to 350mA instead of the default 2. The charge rate can be changed, in the config under drivers-usb-gadget.
accelerometer working as of test 41.
compass working as of test 41.
framebuffer console after display initializes... I took patches from [DEV] Framebuffer console - xda-developers and added a .config switch to turn this on or off. dmesg display requires funky kernel command line, and goes away when initlogo.rle and the bootanimation play. this shows crashes and panics before adb connects, though, is good for debugging, and is borrowed from gingerbread p500 kernel. thanks to tasssadar. Disabled in this build, but can be turned on in config if you build your own.
overclock enabled. Including AHB memory overclock from http://androidforums.com/3528567-post12.html. thanks to jiilik.
restored log size in test 45, was blocking logcat.
dev/frandom for crossbreeder included (not a module.) As of test 45.
random reboots appear to be a thing of the past. hopefully.
test40 onwards compiled using hardfloat flags (meaning it uses the math coprocessor instead of doing math with the CPU)
https://github.com/jawz101/android_kernel_thunderc/commit/78f4241838d6b7d856ef49b495e18135dbb5465e
gnu toolchain here
added armv6k compile flags since the MSM7627 is capable of handling the added instructions.
1-4-2014: now battery temperature readout should work right. Source pushed but no new binary yet. commit
Thanks to:
thekraven for helping point things out and providing a test ROM with the right kernel headers. It still runs fine with the standard builds of PAC and JBC.
also thanks to androidarmv6 team and all the thunderg devs who got it working on their device. Without all that code I'd have had no hope of getting this working at all, since I just copied so much of it over from thunderg to thunderc...
meld is my best friend with linux and kernel patching to compare and patch the differences.
Last edited: