Android OS Forum banner
1 - 20 of 1954 Posts

·
Kernel Hacker
Joined
·
2,456 Posts
This is my first kernel on the Galaxy Nexus. I came from working on two previous kernels on the Droid Incredible.

The kernel will only work on JB and is carrier independent as all Galaxy Nexus kernels are from 4.0.3 onwards. It uses the AnyKernel updater method so it's compatible with ANY ROM.

/* NON-STANDARD DISCLAIMER:

I understand that if I disable fsync I am liable for any possible data corruption that could result. While dynamic fsync has been added, there is still the risk of data corruption.

*/

IMPORTANT: On 3.3.0/1.12.0 and higher, the WiFi drivers from the Linux 3.4 kernel branch breaks WEP functionality. Also, to ROM devs that want to bake in this kernel into their ROM, they will need to pull the hostapd file included into their /system/bin or WiFi tethering will not work.

*NOTE* starting with 4.0.1 there is now a Jellybean 4.1 version as well as a Jellybean 4.2 build with the old WiFi driver
Please pay attention to the zip you're downloading

*NOTE* 5.0 and higher are based on Android 4.3. It is not recommended to be flashed on Android 4.2.2 or older ROMs.

*NOTE* 5.5 has both ASRAM and non ASRAM versions

Changelog:

JB 4.3/KK 4.4

5.5

optimized LPDDR RAM timings (~10% throughput increase)

ASRAM: Reduce the Additional Safe RAM to 40MB.
split into ASRAM and NO-ASRAM configs
Revert "defconfig: Update with android recommended config"

5.4

built with SaberMod 4.7 toolchain

defconfig: Update with android recommended config

allow older fast charge (set force_fast_charge to 2)

config: enable additional TCP congestion schedulers as well as kernel support for PPP widget

5.3.1

Switched to Linaro 4.7 toolchain 2013.09 for stability

5.3

built with latest Linaro 4.8 toolchain 2013.09
removed BIGMEM and replaced it with ASRAM (Additional Safe RAM) ~50MB of reserved RAM - no known negative effects - this takes away 50MB from the tiler but it doesn't seem to be causing problems
increased GPU voltage of the 512MHz slot slightly for stability

5.2

built with latest Linaro 4.7 toolchain 2013.08
added and enabled BIGMEM to reclaim ~66MB of reserved RAM - disadvantage is that this breaks 1080p video recording

5.1.1

fix timer_slack - it needed to be enabled in ramdisk and tweaked via init.d - thanks zoomy942 for finding that and boype for the actual configuration steps

5.1
CM10.2 powerHAL
config: enable ZRAM support
config: enable dynamic_interactive CPU governor and switch to LZO compression
cpufreq: dynamic_interactive - rename sysfs group to interactive for powerHAL support
cpufreq: dynamic_interactive: don't remove sysfs nodes
Added Dynamic Interactive Governor
USB: f_mass_storage: Added cdrom option to UMS-lun-devices (DriveDroid patch)
USB: f_mass_storage: 2048 block size for cdrom devices (DriveDroid patch)
cpufreq: interactive: don't remove sysfs nodes
cpufreq: interactiveX: don't remove sysfs nodes
interactiveX: do not hotplug during earlysuspend registration
interactiveX: the main bits (suspend/wake)
interactiveX: prep for rebase against current interactive governor
interactiveX V2 - cpu hotplug support

5.0
cgroup/timer_slack: fix cgroup permission errors
defconfig: enable TIMER_SLACK
[PATCH, v9] cgroups: introduce timer slack controller
allow overclocking to 1350/1440/1520 MHz and underclocking to 230 MHz
user voltage control (imoseyon)
color control/temp control/vibration/sound control (Ezekeel)
contrast control (morfic)
add wheatley governor (Ezekeel)
dynamic sync control (faux123)
config: enable Open Switch Retention in the C4 State (Ezekeel)
random/entropy tweaks from older builds
frandom character device support

Added optimized CRC32 algorithm.
Added optimized ARM RWSEM algorithm.
ROW and SIO I/O schedulers

OTG Host Mode On Charge: Version 3 - Thanks Caioketo
Added Battery Life eXtender (BLX) version 1 (Ezekeel)
USB fast charge from joshua_
tuna-wifi: do not randomize MAC if bootloader doesn't pass it
Added improved glibc memcpy and memmove functions
deadline: Allow 0ms deadline latency, increase the read speed
enable CIFS and read-only NTFS support
re-enable module support (for PGM, etc)
Linaro 13.06 toolchain
based on official Google kernel (Linux 3.0.72)

JB 4.2.x/4.1.x

4.3.0
config: switch to gzip kernel compression for faster decompression
Staging: android: binder: Fix memory leak on thread/process exit
cgroup/timer_slack: fix cgroup permission errors
defconfig: enable TIMER_SLACK
[PATCH, v9] cgroups: introduce timer slack controller
backport interactive patches to interactiveX
misc: uidstat: avoid create_stat() race and blockage.
cpufreq: interactive: avoid underflow on active time calculation
cpufreq: interactive: reduce chance of zero time delta on load eval
cpufreq: interactive: handle errors from cpufreq_frequency_table_target
ashmem: avoid deadlock between read and mmap calls
ARM: Allow SoCs to enable scatterlist chaining

4.2.0
mm: compaction: introduce sync-light migration for use by compaction
mm: migration: clean up unmap_and_move()
mm: compaction: determine if dirty pages can be migrated without blockin
OTG Host Mode On Charge: Version 3 - Thanks Caioketo
Added Battery Life eXtender (BLX) version 1.
applied previous WiFi updates to bring the JB 4.1 version up to date.
updated to Linux 3.0.83
compiled with Linaro 13.06 toolchain

4.1.0
featuring new kernel fast charge patch from joshua_ @ xda - this allows fast charge while using adb/mtp (note: it will still say charging USB but will charge at A/C rate limited to what your charger or USB port can output - let me know if this isn't working as intended)
patched to Linux 3.0.81
compiled with Linaro 13.05 toolchain
deadline: Allow 0ms deadline latency, increase the read speed
ashmem: avoid deadlock between read and mmap calls
other misc patches
net: wireless: bcmdhd: Update to version 1.88.21 (New WiFi only)
net: wireless: bcmdhd: Close p2p0 device in wl_down (New WiFi only)

4.0.1
reverted bluetooth fix to support 4.1.x as well as it was preventing deep sleep for many

4.0.0
Linux 3.0.73
net: wireless: bcmdhd: Update to version 1.88.10
bluetooth fix to support Android 4.1.x as well
net: wireless: bcmdhd: Fix WEP-104 authentication (doesn't seem to fix WEP though)
ext4 bugfixes
netfilter qtaguid update
watchdog update
a few deadline tweaks
enable dynamic fsync control to replace fsync control (default off for normal operation)
cpufreq: interactive: Fix uninitialized spinlock

JB 4.2.x

3.4.1
net: wireless: bcmdhd: Update to version 1.88.7
cpufreq: ktoonservative screen off race condition fix hand patched by tiny
3.4.0
compiled using 2013.03 Linaro toolchain
numerous interactive/interactiveX governor patches including io_is_busy
powerHAL updates
Linux 3.0.71
ktoonservative governor
net: wireless: bcmdhd: Update to version 1.88.6
3.2.2
All changes from 3.3.0 above except for the new WiFi driver
3.2.0 -- Kernel pulled due to performance issues
Linux 3.0.68
slub: fix a possible memory leak
Add FIFO I/O scheduler
enable KSM, FIFO I/O scheduler, cleancache, and zcache
add 525 and 1060 CPU frequencies
patches to prepare for intellidemand - proven instable for me so far
3.1.0
compiled using 2013.02 Linaro toolchain
powerHAL updates to support ondemand governor
Linux 3.0.67
net: bluetooth: Remove the AID_NET_BT* gid numbers
sync: fix timeout = 0 wait behavior
cpufreq: ondemand: add boostpulse interface and set default boostfreq to 700 MHz
ext4: prevent kernel panic in case of uninitialized jinode
3.0.1
Revert "cpufreq_wheatley.c: Fix update_ts_time_stat idle accounting"
3.0.0
config: use optimized CRC32 and RWSEM algorithms, enable ROW I/O scheduler
Added optimized CRC32 algorithm.
Added optimized ARM RWSEM algorithm.
Add ROW I/O Scheduler by Qualcomm - removed and re-added with support for CFQ as well
gpu: pvr: bypass compat check if version is same but build # is different (this is what allows compatibility with 4.2.1)
Linux 3.0.64
merged jb-mr1.1 kernel changes from AOSP (Android 4.2.2 kernel)
tweaked nightmare governor for Tinykernel (use 350 MHz min as 230 MHz is glitchy with nightmare)
nightmare governor ported to Galaxy Nexus and other updates (r_data)
Add Nightmare governor (Thanks to Alucard24)
omap: set default screen_of_max_freq to 700 MHz
added the frandom character device http://www.billauer.co.il/frandom.html
pegasusq governor removed

JB 4.2.1

2.7.0
Linux 3.0.61
WiFi patches and update to version 5.90.195.114
Revert patch that doesn't remove sysfs nodes - reason below
powerHAL patched to allow interactive boostpulse node to reopen when switching back to interactive from another governor - this powerHAL also prevents CPU max from being reset to 1200.
Wheatley (Ezekeel) and PegasusQ (Zenkernel) governors
interactive/interactiveX: fix race condition on governor start/stop - this is why I reverted above patch and thus had to add my own powerHAL
netfilter qtaguid patches
increased MPU voltages for stability
added improved glibc memcpy and memmove functions (Ezekeel)
frandom kernel module installed to /system/lib/modules - by default it just sits there and doesn't load on it's own so it's safe to leave there - let me know if you have questions
built with 01/2013 Linaro toolchain
2.6.0
Linux 3.0.58
WiFi driver updates
ROW I/O scheduler enabled and default
disabled CFQ scheduler (necessary to build ROW for now)
OC frequencies change from 1400/1600/1800/2000 to 1350/1520
supports 230Mhz min frequency and lower voltages are set on the lower frequencies
default readahead increased to 256KB
2.5.1
add Vegas, Veno, and H-TCP TCP congestion schedulers
2.5.0
update kernel to 3.0.57
numerous interactive governor updates
interactiveX support with butter (imoseyon)
various patches to help reduce lag (various)
2.4.2
rebuild with latest 2012.12 Linaro toolchain - no code changes
2.4.1
fix for ZRAM not getting enabled
2.4.0
add support for CPU temperature control (imoseyon)
2.3.1
rebuild 2.3.0 with latest 2012.11 Linaro toolchain - no code changes
2.3.0
rebuild kernel to fix deep sleep (appears to have been a bad build)
removed extra governors (conservative, powersave, hotplug,userspace,performance)
removed BFQ I/O scheduler
added vibration control (Ezekeel)
2.2.1
don't randomize MAC address (imoseyon) - deep sleep issue - workaround is to cycle bluetooth (switch between off and on and then back)
2.2.0
enable fsync control (Ezekeel)
add BFQ I/O scheduler
add ffc script
2.1.0
allow CPU overclocking to 1.6ghz
changed default I/O scheduler to CIFS
changed default TCP congestion scheduler to cubic
2.0.1
add CIFS and NTFS support
linaro CFLAGS tweaks
build with 10/2012 Linaro GCC 4.7 toolchain
2.0.0
reworked from Android 4.2 kernel source - changelog from this branch can be considered from stock
GPU OC interface to allow GPU OC to 384Mhz or 512Mhz (imoseyon)
WiFi sysfs interface for speeding up WiFi on screen off (imoseyon)
Sound Control (Ezekeel)
ZRAM support
zram script from leankernel
Westwood+ TCP congestion scheduler
SIO I/O scheduler
Glados color control (Ezekeel)
Trinity color contrast with default contrast at 0 (morfic)
Fast charge USB with sysfs (chad0989)
add support for cm9/10 style color control (imoseyon)

JB 4.1.x

1.13.0
compiled using 2013.03 Linaro toolchain
net: wireless: bcmdhd: Update to version 1.88.7
cpufreq: ktoonservative screen off race condition fix hand patched by ti
cpufreq: interactive( X): sync with 3.x branch
numerous interactive/interactiveX governor patches including io_is_busy
powerHAL updates
Linux 3.0.71
ktoonservative governor
1.12.0
I/O performance patch for solid state devices
slub: fix a possible memory leak (forgot to add it to the 1.11.0 build)
New WiFi driver from the Android Linux 3.4 branch (this breaks WEP)
reverted enable KSM, cleancache, and zcache
reverted add 525 and 1060 CPU frequencies
reverted all intellidemand patches
1.11.2
All changes from 1.12.0 above except for the new WiFi driver
1.11.0 -- Kernel pulled due to performance issues
numerous changes, most of the changes from 2.5.1 to 3.1.0 except for the GPU pvr patch
Linux 3.0.68
Add FIFO I/O scheduler
enable FIFO I/O scheduler, cleancache, and zcache (KSM should be enabled here already)
add 525 and 1060 CPU frequencies
patches to prepare for intellidemand - proven instable for me so far
1.10.0
add Vegas, Veno, and H-TCP TCP congestion schedulers
update kernel to 3.0.57
numerous interactive governor updates
interactiveX support with butter (imoseyon)
various patches to help reduce lag (various)
1.9.1
rebuild with latest 2012.12 Linaro toolchain - no code changes
1.9.0
add support for CPU temperature control (imoseyon)
1.8.7
rebuild 1.8.6 with latest 2012.11 Linaro toolchain - no code changes
1.8.6
don't randomize MAC address (imoseyon)
1.8.5
enable fsync control (Ezekeel)
add ffc script
1.8.0
allow CPU overclocking to 1.6ghz
changed default I/O scheduler to CIFS
changed default TCP congestion scheduler to cubic
SD readahead defaults to 128
1.7.1
linaro CFLAGS tweaks
build with 10/2012 Linaro GCC 4.7 toolchain
1.7
add zram script from leankernel
numerous interactive tweaks (see github for details)
net: wireless: bcmdhd: Avoid suspend on watchdog
send uevent on governor change for better CM compatibility
add boostpulse to ondemand (still will not work properly without a modified powerHAL)
1.6
add BFQ I/O scheduler (V5)
add a few WiFi tweaks from google (check https://github.com/t...mits/tinykernel for details)
1.5
add support for cm9/10 style color control (imoseyon)
set default contrast (trinity setting) to 0
add support for vibrator control (Ezekeel)
1.4
up-to-date with Android 4.1.2 kernel source released today - 10/10/12
new WiFi patch which supposedly supports 802.11-only mode
support for ZRAM and KSM (off by default)
1.3
merge latest patches from android_kernel_common including updated WiFi drivers
interactive governor tweak which should hopefully help battery
WiFi sysfs interface for speeding up WiFi on screen off (imoseyon)
Sound Control (Ezekeel)
removed some debugging for a slightly smaller build
1.2
Add wheatley governor (Ezekeel)
Increase SD readahead to 1024kb (Ezekeel)
CPU latency tweak (Ezekeel)
enable OSWR for C4-state - less power in C4 state (Ezekeel)
1.1
Revert SLQB commit and switched to SLUB allocator - PGM works now
1.0
GPU OC interface to allow GPU OC to 384Mhz or 512Mhz (imoseyon)
Kernel will boot now at 1.2Ghz for stability (imoseyon)
0.9
Lowered voltage of GPU to stock to save power
0.8
Added CPU OC to 1.35Ghz
GPU OC to 384Mhz
Removed performance, userspace, powersave, and hotplug governors
0.5
Initial Release
Added SIO scheduler and made it default
SLQB allocator
Glados color control (Ezekeel)
Trinity color contrast (morfic)
Fast charge USB with sysfs (chad0989)
CIFS support
NTFS read only
Added Westwood+ TCP Congestion scheduler and set as default
Improved glibc memcpy and memmove functions (Ezekeel)

Downloads:

All releases are now available on goo.im - Link below:
http://goo.im/devs/t...79/gnex/kernels

Mirror (thanks MBQ_ on xda for hosting space):
http://mbqonxda.net/...79/gnex/kernels

Source:

https://github.com/t...tinykernel-gnex
tiny-jb-mr2 branch for Android 4.3.x/4.4.x
tiny-jb-mr1.1 branch for Android 4.2.x
tiny-jb-mr0 branch for Android 4.1.x

Installation Instructions:
1. (Optional) wipe dalvik+cache.
2. Flash in recovery
 

·
Registered
Joined
·
13 Posts
I will give it a shot. I'm on Jelly belly 7.3. Which I really like the stock kernel; have had good battery life on it, and better reception(I didn't change any settings). Tried a few others, and leankernel seems to be doing just about as good as stock(I did use trickstermod app to change settings), interactivex has given me best battery life so far. And I will try yours out for a day. I'm mostly in Wi-Fi, I'm on the edge of Verizon network reach where I live so I get service just no bars. So that drains my battery pretty good. Sorry so long winded just saw no one posted. So thought I'd give your kernel a shot and report back for you.

Sent from my Galaxy Nexus using Tapatalk 2
 

·
Registered
Joined
·
73 Posts
Wow glad to see you here tiny. Your kernel rocked on the DINC.

Soooo I'm too clueless to know if this question is one of those "well duh of course it will / won't" but is your kernel compatible with TricksterMod?
 

·
Registered
Joined
·
55 Posts
Hey Tiny really good to see your work on the Nexus. You and chad had the best kernel back in the day for the Inc. I'm going to try this out, what kernel controlling app do you recommend using I've gotten FC's with Franco Updater and Trinity Kernel Toolbox.
 

·
Registered
Joined
·
33 Posts
Thanks for this man! Keep up the good work. Someone just returned my Dinc which I lost three months ago. Checked out the development threads and realized you and Pons are still making it kick ass!
 

·
Kernel Hacker
Joined
·
2,456 Posts
Discussion Starter · #12 ·
Hey Tiny really good to see your work on the Nexus. You and chad had the best kernel back in the day for the Inc. I'm going to try this out, what kernel controlling app do you recommend using I've gotten FC's with Franco Updater and Trinity Kernel Toolbox.
I'm using TricksterMod and have had no problems with it. letrain a few posts back is also using it without any issues.

FC's with kernel apps is usually related to issues reading from or writing to the sysfs interface. That is outside of the scope of the kernel. I've had issues with TKT on basically all kernels that I've tried it with except Trinity. It was reproduceable when switching to one of the tabs quite consistently so it's most likely due to trying to read a value that isn't there as I don't have nearly as many sysfs tweaks as many custom kernels.

I wanted to release this last night but was unable to boot my kernel using fastboot boot zImage. It may be an issue with the fastboot tool in how it pulls or creates the boot.img. It ended up working using anykernel and flashing.
 

·
Registered
Joined
·
13 Posts
Running great so far. Possible to add interactivex? I think it still shuts off one cpu with screen on, and I believe hotplug only does it with screen off. Please correct me if I'm wrong.

Sent from my Galaxy Nexus using Tapatalk 2
 

·
Registered
Joined
·
13 Posts
Can anybody that installed it this morning report on battery life? I remember my DINC days and tiny's kernel was the only one I used. Good to see you here.
Since 1030am(was on charger all night) to now 318pm lots of use. Had a battery pull so the battery chart built into android only shows hrs. But I'm at 65%. I'm on Jellybelly btw

Sent from my Galaxy Nexus using Tapatalk 2
 

·
Android Lover
Joined
·
1,369 Posts
tiny this thing is smooth and doesn't get hot which is great
great job ill do my battery test tonight
 

·
Registered
Joined
·
13 Posts
14hrs still going and 39%. tried to take a screen shot but froze, pulled battery, when rebooted, am at 20%. Tried to screen shot at again, froze again. Pulled batt one more time, rebooted, 12%. So honestly it lasted all day (granted I was in Wi-Fi 98% of that), but not sure what real battery reading was. listened to 3hrs of audio, and checked this forum often. Surfed the net some. Not sure why screen shot locks up my phone. Kernel problem? Or should I talk to the room developer? Tomorrow I'll go back to stock kernel with this Rom and try and see if it locks up. To late tonight

Sent from my Galaxy Nexus using Tapatalk 2
 
1 - 20 of 1954 Posts
Top