[Samsung Galaxy Nexus] tiny4579:
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.3.0

I/O performance patch for solid state devices

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

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/tiny4579/tinykernel-gnex/commits/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 available on goo.im - Link below:

http://goo.im/devs/tiny4579/gnex/kernels

Mirror (thanks MBQ_ for hosting space):

http://mbqonxda.net/tiny4579/gnex/kernels

You can help MBQ_ with hosting costs by donating to him.

Source:

https://github.com/tiny4579/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