[Galaxy Tab 2 7" Android Development] psndna88:
(TESTED ONLY ON P3100)​

AGNi pureCM v4.4

Additions in this version on top of previous features:

added ROW-v4, V(R), BFQ I/O schedulers (Default: ROW) (DEFAULT: CFQ since v2.2)

added ZZmoove CPU governor as Default (supports hotplugging without any issues, configured for dual-core, with preconfigured profiles) (since v2.1)

implemented CPU OC and GPU OC support (Default: 1GHz CPU, 307MHz GPU)

implemented CPU UV interface (Default: -50mV)

GPU undervolted for lesser heat (-75mV)

added "Westwood" TCP congestion control

implemented mutable "Android logger" and "Kernel printk" interface (Default: off)

Supports inbuilt AGNi Control app for all KERNEL CONFIGURATION

added 256MB Zram with Snappy-v3 compression, 1st swap priority and swappiness=30 ( Replaced by LZ4 since v2.1)

preloadSWAP with swappiness=30 and 2nd priority [enable/disable] via the app (Default: off)

X-Box XPAD support - by user demand [enable/disable] via the app (Default: off) ( since v2.1)

KSM, cleancache, Zcache enabled

uses special busybox needed to support swap device priorities

kernel uses LZMA compression

Linux kernel 3.0.88 (since v2.2)

25-07-2013 NEW FEATURES in v2.1

:-

Updated latest relevant CM commits |

LZ4 compression for Zram

| ZZmoove-v0.6a CPU governor | Added selinux support(same as in latest CM) | CWM-FLASHABLE

CPU-GPU_OC/UV boot failure reseter tool

automatically placed on internal sdcard | X-Box XPAD support

07-08-2013 Small Update in v2.2

:-

Upstreamed Linux kernel from 3.0.31 to 3.0.88 | fixed Zcache working

23-08-2013 Maintenance Update v2.3 (CM 10.1 & CM 10.2)

:-

Update ZZmoove CPU governor to 0.7a | Implement SAMSUNG OSRC exFAT kernel support v1.2.4 |

fix earphone-mono sound

upstream derp | updated to latest available PVR SGX540 v1.9@2291151 | increase ram size to 813 MB | includes all required blobs and new ducati

04-09-2013 Minor update v2.3.1 ( CM 10.2 )

:-

Update ZZmoove CPU governor to 0.7c | upstreamed kernel to 3.0.94 | GCChf arm-v7l 4.7.2 compiled cortex-a9 optimised | updated to latest CM 10.2 ramdisk

29-09-2013 Update v2.3.3 (CM 10.1 & 10.2)

:-

Upstreamed kernel to 3.0.97 | Added 180 MHz lowest CPU scaling frequency | Implemented some Zram modifications with 4 zram devices support | updated BFQ I/O scheduler to v6r2 | implemented modified SIO I/O scheduler | Introducing AGNi Main user profiles (Extreme Battery Save / Battery Save / Normal / Gaming) & user can override settings at will | removed Mutable android & kernel logger interfaces (buggy for CMs) | drop & forget for init.d scripts (user doesnt need to set permissions manually) | expect performance increase

20-10-2013 Small Compatibility Update v2.3.4 (CM 10.1, CM 10.2, BAM & PAC)

:-

Upstreamed kernel to 3.0.100 | Updated CM-10.1, CM-10.2, BAM & PAC ramdisks

05-11-2013 v2.3.4a (CM 10.2, BAM & PAC)

:-

Upstreamed kernel to 3.0.101 | Added Ralink & Realtek 8187 USB WiFI NICs support | Added USB Ethernet Support | Added USB GSM/CDMA Dongle support | Disabled lot of kernel debugging ( performance boost ! )

06-12-2013 v2.5 ( CM 10.2 SUPPORT ENDS HERE )

:-

internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | Added kernel zip variant for MIUI-4.2.2 support as well

Generic framework "framework-2.jar" introduced in v2.4 and above (teamed up with Yank555, Googy, Teufel, AndiP, Temasek), this is to get rid of proprietory framework naming conventions and come up with an aligned approach between rom and kernel devs.

So please do pass this message along to your favorite ROM devs, we have stopped supporting additional frameworks with specific ROM names.(Bam Rom & PAC to be precise) Note that only framework-2.jar is supported, (instead of framework-pac.jar or framework-bam.jar) you have to rename depending on ur rom​

Q: HOW CAN I RUN PAC/BAM rom with this kernel ??

A: Ask rom dev to rename framework-bam.jar or framework-pac.jar to framework-2.jar

AND / OR

In Aroma File Manager in Recovery, rename framework-pac.jar or framework-bam.jar in /system/framework to

framework-2.jar

, clear Dalvik-Cache & reboot.

06-12-2013 v3.0 ( CM 11 only )

:-

internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | applied latest samsung osrc updates

19-12-2013 v3.1 ( CM 11 only )

:-

Implemented Experimentally CPU boost driver | exFAT support now integated in kernel instead of built as kernel module

06-01-2014 v3.2 ( CM 11 only )

:-

Implemented dynamic Fsync control 1.2 | Implemented frandom | tweaked "random" (the default linux kernel RNG/PRNG device) | added Frandom lagfix-helper option in boeffla tweaks (/dev/random and /dev/urandom is replaced by symlinked /dev/frandom and /dev/erandom respecively = speeds up entropy generation without seeder app or rngd service) | Replaced "Boeffla Tweaks" app with my modified "AGNi Control" app (TESTED ART COMPATIBLE) [ THANKS to [MENTION=3246369]HM.Carbide[/MENTION] ]

26-01-2014 Update v3.3 (ANY CM11 OFFICIAL/UNOFFICIAL P3100/P3110/P3113 :p:victory::victory::silly: )

:-

==> Introducing my "ANYROM" kernel flash method AKA "Kernel Patcher-v4.2"

(Implementation of my old GALAXY ACE WORKS ) :-

It extracts the installed kernel boot.img from the device

It cracks it open to get the zImage and ramdisk

it extracts this old ramdisk

it removes any unwanted or conflicting elements with AGNi kernel (typically other custom CM kernel ramfs elements)

It adds/removes/patches the files on this extracted ramdisk as necessary

it packs this ramdisk and builds a new flashable boot.img using AGNi compiled zImage

It places its log at /data/.AGNi which is refreshed on each pureCM kernel install

This new boot.img is then flashed !!! Voila !

NB: you wont find any boot.img in this installer zip, dont freak out :p

also it wont work over non-standard structured boot.img kernels like the ones supporting dualboot so u need to reflash rom without wipe then flash this

THIS "ANYROM" INSTALLATION METHOD DIFFERS WITH "ANYKERNEL" AS IT HAS THE FLEXIBILITY TO MODIFY RAMFS CONTENTS AS REQUIRED

==> Other updates:

arm unaligned memory access | mmc: disable crc for better performance | arch/arm/vfp: change compile flags - Neon & hard-float support | ARM: Add optimised swahb32() byteswap helper | ARM-spinlock: use ticket algorithm for ARMv6+ locking implementation | ARM: L1 cache optimization | LMK minfree tweakable from AGNi Control and integrated with AGNi profiles | added Zen I/O scheduler | Proportional Rate Reduction for TCP | filter multicast packages while suspended

10-03-2014 Update v3.4 (CM11)

F2FS filesystem implementation ( /system /data /cache /preload automounted as ext4 or f2fs) | cfg80211: Fix memory leak | Revert "mmc: disable crc for better performance" to ensure data safety | existing Xbox Xpad,USB WLAN AND ETHERNET support is now integrated in kernel instead of modules | AGNi ANYROM installer updated to v4.3.1 (now uses awk too) | added sysrw & sysro | new compiled busybox v1.23 with expanded features (1.7MB sized at /sbin) | fix non boot on omni with f2fs | disabled background_gc for f2fs mounts | increased swap priority for preloadSWAP feature (now all zrams + preload swap will have same priority) | implemented async fsync | ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations | backport: smp: patches from mainline 3.5 to hopefully help with hotpluging | backport SLUB from Linux 3.3 (thanks to faux123) | Disable Dynamic Fsync (seems to cause issues with Async Fsync) | switch to GCC 4.8.3 linaro cortex-a9 optimised toolchain

12-03-2014 Update v3.5 (CM11)

applied some missing f2fs commits | changed some mount options (now better performance and snappy system) | fixed slow boot animation issue | v3.5 REV2 : fixed non-execution of init.d scripts & updated Zzmoove to 0.7d

17-03-2014 Update v3.6 (CM11)

applied important f2fs commits | fixed "ENCRYPTION UNSUCCESSFULL" error when using /system as ext4 and /data as f2fs ( now u can use anyhow as per u like) | completely removed ASYNC_FSYNC | added option to enable/disable dynamic fsync | added option to enable/disable on-boot filesystems checking (ext4/f2fs) log placed on internal storage | added option to delete battery stats on each boot | implemented AROMA GUI installer v2.70 RC2 | added option to set selinux permissive or enforcing | [REV2: optimised fstab handling and its execution for ext4/f2fs support | FIXED POWER-OFF Charging Animation]

20-03-2014 Update v3.7 (CM11)

Rectify some cpu freq scaling issues & no more freezes on hotplug governor | removed cpuboost driver | tweaked some HOTPLUG tunables | set ROW/HOTPLUG as defaults | reduced F2FS active_logs from 6 to 2 | optimised FS_checker code | changed auto-installation method of AGNi Control app | [v3.7 R2: disabled Dynamic Fsync by default | set internalsd and externalsd read_ahead_kb to 512 & 1024 respectively | disabled some build.prop mods ] | [v3.7 R3: LMK updated | added ExternalSd USB UMS switching option | added all inbuilt Zzmoove v0.8 profiles | set zzmoove ZaneZam-Optimised profile as default with better hotpluging ]

13-04-2014 Update v3.8 (CM11)

mm/page_io: remove duplicated compressed pages in memory | logger: reduce reserved memory | cpufreq: Manage only online cpus

17-04-2014 Update v3.9 (CM11)

another round of debugging disabled , reverted some P3110 Jb Update 1 files (attempted fixing battery drain)

04-05-2014 Update v4.0 (CM11)

zram, zsmalloc, zcache, cleancache updated from 3.9 | updated lz4, lzo compressor/decompressor and crc32 algorithm | compiled by GCChf 4.9.1 linaro toolchain | reverted some commits | sync CM kernel updates (dm commits)

10-07-2014 Update v4.1 (CM11)

108 newer f2fs commits | 28 ARM specific commits | sync cm kernel sources | Implemented SLQB memory allocator | support for kernel mode NEON | arm/crypto: Add optimized AES and SHA1 routines | Enable ARCH_POWER | reduced active zrams to one and set 200MB default size | Zzmoove v0.9_beta2 | fs/exfat: update v1.2.5 to v1.2.7 (SAMSUNG OSRC SEA KK N7100XXUFND4) | Implement co-existing versions of SAMSUNG's sdcard filesystem - sdcardfs (Android 4.3 ) - sdcardfskk (Android 4.4+) | SAMSUNG OSRC SEA KK N7100XXUFND4 HID KK Updates | AGNi sdcard1<-->sdcard0 Switcher v1.3 (extsd2intsd replacement for CM using sdcardfs) | fixed Agni Control settings restore and added forced init.d execution option without reboot | fix derp arch/arm/mm/cache-l2x0.c | Fix CVE-2014-3153 | Boeffla-Sound: Engine 1.6.6 | Implement Update BFQ v6r2 -> v7r2 I/O sched | Introduce timer slack controller | fs: vfat: reduce the worst case latencies | Backport AIO from Linux 3.6.x | pegasusq modifications with firelock(default governor now) | backport Intelliactive cpu governor | bcmdhd: Enable wifi mac address changing | [ 15-07-2014 R2 : attempted fix memory related issues ]

17-07-2014 Update v4.2 (CM11)

video: sii9234: dynamically register and unregister input device | integrated dock keyboard support to kernel without module

01-11-2014 Update v4.3 (ALL AOSP)

True CD-ROM emulation" support | Implement USB HID Keyboard/Mouse ROLE support for Android device (https://github.com/pelya/android-keyboard-gadget) needs supported APK from HERE | drivers/cpufreq/cpufreq_lulzactiveq.c : set dual core mode and fix scaling (Andi) | ext4: remove some debugging functions by Samsung & sync with kernel.org | fs: default to noatime/nodiratime | Input: Send events one packet at a time | deadline: Allow 0ms deadline latency, increase the read speed | ZZmoove Version 1.0 beta1 | [PATCH] nohz: Fix update_ts_time_stat idle accounting (ZaneZam) | fs/exfat: update to v1.2.9 | Boeffla Sound v1.6.7| net: Performance fix for process_backlog | ext4: Speedup WB_SYNC_ALL pass called from sync | freezer: shorten freezer sleep time using exponential backoff | irq: Set CPU affinity right on thread creation | cpuidle: remove cross-cpu IPI by new latency request | nohz: Reduce overhead under high-freq idling patterns | ARM: smp: Wait just 1 second for other CPU to halt | timer: optimize apply_slack() | cpuidle: make a single register function for all | cpufreq: Fix policy stucking if user & kernel min/max don't overlap | cpuidle: Fix NULL pointer dereference during hotplug | Migrate to GCChf arm-cortex-a9 4.9.2 toolchain | ksm: check and skip page, if it is already scanned (Pradeep Sawlani) | ksm: Provide support to use deferred timers for scanner thread | Asynchronous I/O latency to a solid-state disk greatly increased | sdhci: deploy delay on host power down | mmc: Disregard pending irqs in sdio | ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim | pegasusq: enable io_is_busy by default | bdi: allow block devices to say that they require stable page writes | ASoC: jack: Use power efficient workqueue | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | fbcon: queue work on power efficient wq | block: queue work on power efficient wq | PHYLIB: queue work on system_power_efficient_wq | workqueue: Add system wide power_efficient workqueues | workqueues: Introduce new flag | WQ_POWER_EFFICIENT for power oriented workqueues

29-11-2014 Update v4.4 (ALL AOSP)

Migrated to GCChf linaro 4.9.3 toolchain | attempted battery drain fix by 1N4148

Regarding AGNi sdcard1<-->sdcard0 Switcher when enabled:

- original sdcard0 obb data is available at /data/media/obb

- new sdcard1 obb data is available at /mnt/shell/emulated/Android/obb

- original sdcard1 userdata is available at /mnt/shell/emulated

you can move data between these as required.

KNOWN BUG:

Boeffla sound has minor incompatibily issue which makes its equalizer ineffective and its DAC-direct option needs to be kept ON for sound output

NOTE: CM 11 variant will set SELINUX PERMISSIVE

================================================================================

WHAT IS Flash-Friendly File System (F2FS)?

================================================================================

NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have

been equipped on a variety systems ranging from mobile to server systems. Since

they are known to have different characteristics from the conventional rotating

disks, a file system, an upper layer to the storage device, should adapt to the

changes from the sketch in the design level.

F2FS is a file system exploiting NAND flash memory-based storage devices, which

is based on Log-structured File System (LFS). The design has been focused on

addressing the fundamental issues in LFS, which are snowball effect of wandering

tree and high cleaning overhead.

Since a NAND flash memory-based storage device shows different characteristic

according to its internal geometry or flash memory management scheme, namely FTL,

F2FS and its tools support various parameters not only for configuring on-disk

layout, but also for selecting allocation and cleaning algorithms.

FURTHER READING:

https://github.com/psndna88/AGNI-pu...-N7100-4.3/Documentation/filesystems/f2fs.txt

https://lwn.net/Articles/518988/

F2FS FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34001#files (formating /DATA with these will wipe your internal storage in single shot !)

EXT4 FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34000#files (formating /DATA with these will wipe your internal storage in single shot !)

PSN TWRP v2.7.0.x (F2FS Modified)

:- (NEW 2.7.0.3 UPLOADED)

P3100 : HERE

P311x : HERE

TWRP Drawbacks:

1: it doesnt ask which filesystem to format, but if u have ext4 previously, wiping that partiton is done in ext4 and same with f2fs, so u have to use above tools once atleast for partitons of ur choice

2: it doesnt support restore of ext4 backups to f2fs formatted partitions, so u have to clean wipe to fully convert to f2fs (titanium backup is ur best friend)

3: I SUGGEST MANUALLY COPYING INTERNAL STORAGE DATA TO PC and making titanium backups before trying to format /data to f2fs

4: to flash rom to f2fs formatted recovery you have to edit the updater-script and put a # before the "format" line and # before all unmount lines and manually mount system and data in twrp prior to flashing any zip. (i will post detailed updater-script modifications lateron)

5: on formatting /data to f2fs from ext4 or vice versa, twrp fails to mount /data, reboot to recovery again and all will be fine

App Screenshot: (v2.0)

About LZ4 compression/decompression:

LZ4 is a very fast lossless compression algorithm, providing compression speed at 300 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in GB/s per core, typically reaching RAM speed limits on multi-core systems.

ADVANTAGE OF LZ4 OVER SNAPPY = higher speed with almost same marginal cpu usage for Zram

KERNEL DOWNLOADS :-

DOWNLOAD HERE v4.3+

NEWER CM11 VERSION (v4.2):

CLICK HERE

NEWER CM11 VERSION (v4.1_R2):

CLICK HERE

NEWER CM11 VERSION (v4.1):

CLICK HERE

OLDER CM11 VERSIONS (v3.3 to v4.0) :

HERE OR CLICK HERE

OLDER CM11 VERSIONS :

CLICK HERE

CM10.2 Supporting VERSION (v2.5) :

CLICK HERE

XDA:DevDB Information

AGNi Kernel, Kernel for the Samsung Galaxy Tab 2

Contributors

psndna88

Source Code: https://github.com/psndna88/AGNi-pureCM

Kernel Special Features: Based on Cyanogenmod espresso10 Sources, upstreamed to 3.0.101 with selected picked mods/patches to be near to stock as possible.

Version Information

Status: Stable

Created 2014-07-10

Last Updated 2014-11-29