Posted 18 September 2012 - 01:19 AM #1

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





Spoiler

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

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)

net: wireless: bcmdhd: Update to version 1.88.7cpufreq: ktoonservative screen off race condition fix hand patched by tinycompiled using 2013.03 Linaro toolchainnumerous interactive/interactiveX governor patches including io_is_busypowerHAL updatesLinux 3.0.71ktoonservative governornet: wireless: bcmdhd: Update to version 1.88.6All changes from 3.3.0 above except for the new WiFi driverLinux 3.0.68slub: fix a possible memory leakAdd FIFO I/O schedulerenable KSM, FIFO I/O scheduler, cleancache, and zcacheadd 525 and 1060 CPU frequenciespatches to prepare for intellidemand - proven instable for me so farcompiled using 2013.02 Linaro toolchainpowerHAL updates to support ondemand governorLinux 3.0.67net: bluetooth: Remove the AID_NET_BT* gid numberssync: fix timeout = 0 wait behaviorcpufreq: ondemand: add boostpulse interface and set default boostfreq to 700 MHzext4: prevent kernel panic in case of uninitialized jinodeRevert "cpufreq_wheatley.c: Fix update_ts_time_stat idle accounting"config: use optimized CRC32 and RWSEM algorithms, enable ROW I/O schedulerAdded optimized CRC32 algorithm.Added optimized ARM RWSEM algorithm.Add ROW I/O Scheduler by Qualcomm - removed and re-added with support for CFQ as wellgpu: pvr: bypass compat check if version is same but build # is different (this is what allows compatibility with 4.2.1)Linux 3.0.64merged 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 MHzadded the frandom character device http://www.billauer.co.il/frandom.html pegasusq governor removedLinux 3.0.61WiFi patches and update to version 5.90.195.114Revert patch that doesn't remove sysfs nodes - reason belowpowerHAL 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) governorsinteractive/interactiveX: fix race condition on governor start/stop - this is why I reverted above patch and thus had to add my own powerHALnetfilter qtaguid patchesincreased MPU voltages for stabilityadded 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 questionsbuilt with 01/2013 Linaro toolchainLinux 3.0.58WiFi driver updatesROW I/O scheduler enabled and defaultdisabled CFQ scheduler (necessary to build ROW for now)OC frequencies change from 1400/1600/1800/2000 to 1350/1520supports 230Mhz min frequency and lower voltages are set on the lower frequenciesdefault readahead increased to 256KBadd Vegas, Veno, and H-TCP TCP congestion schedulersupdate kernel to 3.0.57numerous interactive governor updatesinteractiveX support with butter (imoseyon)various patches to help reduce lag (various)rebuild with latest 2012.12 Linaro toolchain - no code changesfix for ZRAM not getting enabledadd support for CPU temperature control (imoseyon)rebuild 2.3.0 with latest 2012.11 Linaro toolchain - no code changesrebuild kernel to fix deep sleep (appears to have been a bad build)removed extra governors (conservative, powersave, hotplug,userspace,performance)removed BFQ I/O scheduleradded vibration control (Ezekeel)don't randomize MAC address (imoseyon) - deep sleep issue - workaround is to cycle bluetooth (switch between off and on and then back)enable fsync control (Ezekeel)add BFQ I/O scheduleradd ffc scriptallow CPU overclocking to 1.6ghzchanged default I/O scheduler to CIFSchanged default TCP congestion scheduler to cubicadd CIFS and NTFS supportlinaro CFLAGS tweaksbuild with 10/2012 Linaro GCC 4.7 toolchainreworked from Android 4.2 kernel source - changelog from this branch can be considered from stockGPU 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 supportzram script from leankernelWestwood+ TCP congestion schedulerSIO I/O schedulerGlados 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)

Spoiler



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( : 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

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)

compiled using 2013.03 Linaro toolchainnet: wireless: bcmdhd: Update to version 1.88.7cpufreq: ktoonservative screen off race condition fix hand patched by ticpufreq: interactive(: sync with 3.x branchnumerous interactive/interactiveX governor patches including io_is_busypowerHAL updatesLinux 3.0.71ktoonservative governorI/O performance patch for solid state devicesslub: 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 zcachereverted add 525 and 1060 CPU frequenciesreverted all intellidemand patchesAll changes from 1.12.0 above except for the new WiFi drivernumerous changes, most of the changes from 2.5.1 to 3.1.0 except for the GPU pvr patchLinux 3.0.68Add FIFO I/O schedulerenable FIFO I/O scheduler, cleancache, and zcache (KSM should be enabled here already)add 525 and 1060 CPU frequenciespatches to prepare for intellidemand - proven instable for me so faradd Vegas, Veno, and H-TCP TCP congestion schedulersupdate kernel to 3.0.57numerous interactive governor updatesinteractiveX support with butter (imoseyon)various patches to help reduce lag (various)rebuild with latest 2012.12 Linaro toolchain - no code changesadd support for CPU temperature control (imoseyon)rebuild 1.8.6 with latest 2012.11 Linaro toolchain - no code changesdon't randomize MAC address (imoseyon)enable fsync control (Ezekeel)add ffc scriptallow CPU overclocking to 1.6ghzchanged default I/O scheduler to CIFSchanged default TCP congestion scheduler to cubicSD readahead defaults to 128linaro CFLAGS tweaksbuild with 10/2012 Linaro GCC 4.7 toolchainadd zram script from leankernelnumerous interactive tweaks (see github for details)net: wireless: bcmdhd: Avoid suspend on watchdogsend uevent on governor change for better CM compatibilityadd boostpulse to ondemand (still will not work properly without a modified powerHAL)add BFQ I/O scheduler (V5)add a few WiFi tweaks from google (check https://github.com/t...mits/tinykernel for details)add support for cm9/10 style color control (imoseyon)set default contrast (trinity setting) to 0add support for vibrator control (Ezekeel)new WiFi patch which supposedly supports 802.11-only modesupport for ZRAM and KSM (off by default)merge latest patches from android_kernel_common including updated WiFi driversinteractive governor tweak which should hopefully help batteryWiFi sysfs interface for speeding up WiFi on screen off (imoseyon)Sound Control (Ezekeel)removed some debugging for a slightly smaller buildAdd wheatley governor (Ezekeel)Increase SD readahead to 1024kb (Ezekeel)CPU latency tweak (Ezekeel)enable OSWR for C4-state - less power in C4 state (Ezekeel)Revert SLQB commit and switched to SLUB allocator - PGM works nowGPU OC interface to allow GPU OC to 384Mhz or 512Mhz (imoseyon)Kernel will boot now at 1.2Ghz for stability (imoseyon)Lowered voltage of GPU to stock to save powerAdded CPU OC to 1.35GhzGPU OC to 384MhzRemoved performance, userspace, powersave, and hotplug governorsInitial ReleaseAdded SIO scheduler and made it defaultSLQB allocatorGlados color control (Ezekeel)Trinity color contrast (morfic)Fast charge USB with sysfs (chad0989)CIFS supportNTFS read onlyAdded Westwood+ TCP Congestion scheduler and set as defaultImproved glibc memcpy and memmove functions (Ezekeel)

All releases are now available on goo.im - Link below:Mirror (thanks MBQ_ on xda for hosting space):tiny-jb-mr2 branch for Android 4.3.x/4.4.xtiny-jb-mr1.1 branch for Android 4.2.xtiny-jb-mr0 branch for Android 4.1.x1. (Optional) wipe dalvik+cache.2. Flash in recovery

Edited by tiny4579, 27 February 2014 - 12:18 PM.