Should work on ALL P31xx models !!!
Source : https://github.com/psndna88/AGNI-pureSTOCK/tree/pureSTOCK-P31xx-4.1.2 (SAMSUNG OSRC P3100 JB Update 2 source based !)
Source : https://github.com/psndna88/AGNI-pureSTOCK/tree/pureSTOCK-P31xx-4.2.2 (SAMSUNG OSRC P3100 JB Update 3 source based !)
NEW pureSTOCK v3.5 (4.2.2)
- removed ROW-v4, V(R), BFQ I/O schedulers (probematic and not fully compatible)
- removed mutable "Android logger" and "Kernel printk" interface (not of much use)
- removed preloadSWAP to avoid accidental SecSettings.apk deletion in /preload for users using odin flashed Stock 4.2.2 rom
- removed ExtSd2InternalSd (not supported yet)
- set interactive as default cpu governor
- set cfq as default I/O governor
- compiled using GCC 4.7.2 with cortex-a9 optimised
- kernel zip package includes all required blobs (single all-in-one package)
- Update v2.1a:
fixed all kernel related freeze bugs (special reference to TouchWiz) | proper permissions are automatically set on init.d scripts before execution (user now needs to just drop in scripts and reboot) - Update v2.1b:
added new lowest cpu scaling frequency of 180MHz (more battery save for idle times) | /cache is formatted and dalvik-cache is cleared automatically upon flashing | "AGNi_fix_app-data_permissions.zip" recovery flashable package will be put on your internal sdcard, you can flash it if by chance you have app FCs/laggy system caused by app permission issues | changed compresion of compiled kernel to LZO for faster decompression in an attempt to minimise boot times - Update v2.1b FIXED:
disabled auto format of /cache and dalvik-cache clearing on flashing | users having app freeze issues should flash once "AGNi_fix_app-data_permissions.zip" | fixed slow starting boot animation issue and boot time may be lesser than before - Update v2.2:
rebased from SAMSUNG OSRC P3100 JB Update 3 (4.2.2) sources | Implemented some Zram modifications with 4 zram devices support | Introducing AGNi Main user profiles (Extreme Battery Save / Battery Save / Normal / Gaming) & user can override settings at will | drop & forget for init.d scripts (user doesnt need to set permissions manually) | expect better performance - 29-10-2013 Update v2.3:
Upstreamed Linux Kernel from 3.0.31 to 3.0.101 (expect more smooth UI & performance} | Added Ralink & Realtek 8187 USB WiFI NICs support - 31-10-2013 Update v2.4:
Added USB Ethernet Support | Added USB GSM/CDMA Dongle support | Disabled lot of kernel debugging - 06-12-2013 Update v2.5
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 | added some under-hood imrovements in sources - 18-12-2013 Update v2.6
Implemented Experimentally CPU boost driver - 19-12-2013 Update v2.7
exFAT support now integated in kernel instead of built as kernel module - 24-12-2013 Update v2.8
Updated exFAT to v1.2.5 | Implemented dynamic Fsync control 1.2 | Added ROW-v4, SIO(tweaked), V(R) IO schedulers - 29-12-2013 Reuploaded v2.8
Supporting frandom kernel-mode RNG-entropy generator (~10x faster than default urandom) : speeding up seeder or such entropy enhancing scripts - 02-01-2014 AGAIN Reuploaded v2.8 (take it as my liking for 2.8)
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) - 03-01-2014 AGAIN Reuploaded v2.8 (take it as my liking for 2.8)
Replaced "Boeffla Tweaks" app with my modified "AGNi Control" app (TESTED ART COMPATIBLE) [ THANKS to @HM.Carbide ] - 25-01-2014 Update v2.9
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.0
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 | added sysrw & sysro | new compiled busybox v1.23 with expanded features (1.7MB sized at /sbin) | disabled background_gc for f2fs mounts | 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.1
applied some missing f2fs commits | changed some mount options (now better performance and snappy system) | v3.1 REV2 : fixed non-execution of init.d scripts & updated Zzmoove to 0.7d - 11-04-2014 Update v3.2
Rectify some cpu freq scaling issues | removed cpuboost driver | tweaked some HOTPLUG tunables | set ROW as default | reduced F2FS active_logs from 6 to 2 | optimised FS_checker code | changed auto-installation method of AGNi Control app | disabled Dynamic Fsync by default | set internalsd and externalsd read_ahead_kb to 512 & 1024 respectively | disabled some build.prop mods ] | 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 - 11-04-2014 Update v3.3
mm/page_io: remove duplicated compressed pages in memory | logger: reduce reserved memory | cpufreq: Manage only online cpus | removed duplicate PowerVR blobs thus reducing zip size - 05-05-2014 Update v3.4
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) - 29-11-2014 Update v3.5
108 newer f2fs commits | ARM specific commits | 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 | 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 | 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 | Implement Update BFQ v6r2 -> v7r2 I/O sched | 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 | video: sii9234: dynamically register and unregister input device | 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 | Migrated to GCChf linaro 4.9.3 toolchain
NEW pureSTOCK v3.4 (4.1.2) {DISCONTINUED}
- 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)
- ExtSd2InternalSd (integrated FAT32 & exFAT) [enable/disable] via the app (Default: off) Original thread: Credit to mattiadj
- X-Box XPAD support- by user demand [enable/disable] via the app (Default: off) ( since v2.1)
- KSM and cleancache 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 :-
LZ4 compression for Zram | ZZmoove-v0.6a CPU governor | 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 - 21-08-2013 Update in v2.3
Upstreamed Linux Kernel 3.0.93 | Implemented SAMSUNG Open-Sourced exFAT kernel modules v1.2.4 | fixed earphone mono-sound issue | updated Zzmoove CPU governor to v0.7 - 21-08-2013 Quick Update in v2.3a
updated Zzmoove CPU governor to v0.7a | updated to latest available PVR SGX540 v1.9@2291151 | increase ram size to 810 MB | includes all required blobs and new ducati - 17-09-2013 Update v2.3b
Upstream Linux Kernel to 3.0.96 | updated Zzmoove CPU governor to v0.7c | fixed HW acceleration and camera | total available RAM size now is 814 MB | fixed unwanted CPU scaling to OC frequencies inspite of NON-OC settings | added new lowest cpu scaling frequency of 180MHz (more battery save for idle times) | compiled using GCC 4.7.2 with cortex-a9 optimised | "AGNi_fix_app-data_permissions.zip" made available in internal sdcard, you can flash it if by chance you have app FCs/laggy system caused by app permission issues | changed compresion of compiled kernel to LZO for faster decompression in an attempt to minimise boot timess - 19-09-2013 Update v2.3b FIXED
removed AGNi_fix_app-data_permissions.zip as it is never needed for Stock 4.1.2 | fixed non-brightness-changing issue caused by partially incompatible ducati firmware | made some ramdisk modifications, now boot time may be lesser than before - 31-10-2013 Update v2.4
Upstreamed Linux kernel to 3.0.101 | Implemented some Zram modifications with 4 zram devices support | Introducing AGNi Main user profiles (Extreme Battery Save / Battery Save / Normal / Gaming) & user can override settings at will | drop & forget for init.d scripts (user doesnt need to set permissions manually) | Added Ralink & Realtek 8187 USB WiFI NICs support | Added USB Ethernet Support | Added USB GSM/CDMA Dongle support | Disabled lot of kernel debugging - 06-12-2013 Update v2.5
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 | added some under-hood imrovements in sources - 19-12-2013 Update v2.7
Implemented Experimentally CPU boost driver | exFAT support now integated in kernel instead of built as kernel module - 12-03-2014 Update v2.8
Updated exFAT to v1.2.5 | Added ROW-v4, SIO(tweaked), V(R) IO schedulers | Supporting frandom kernel-mode RNG-entropy generator (~10x faster than default urandom) : speeding up seeder or such entropy enhancing scripts | tweaked "random" (the default linux kernel RNG/PRNG device) | added Frandom | Replaced "Boeffla Tweaks" app with my modified "AGNi Control" app (TESTED ART COMPATIBLE) [ THANKS to @HM.Carbide ] | arm unaligned memory access | 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 | F2FS filesystem implementation ( /system /data /cache /preload automounted as ext4 or f2fs) | cfg80211: Fix memory leak | existing Xbox Xpad,USB WLAN AND ETHERNET support is now integrated in kernel instead of modules | added sysrw & sysro | new compiled busybox v1.23 with expanded features (1.7MB sized at /sbin) | disabled background_gc for f2fs mounts | 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 - 13-03-2014 Update v2.8.1
applied some missing f2fs commits | changed some mount options (now better performance and snappy system) | v2.8.1 REV2 : fixed non-execution of init.d scripts & updated Zzmoove to 0.7d - 11-04-2014 Update v3.2
Rectify some cpu freq scaling issues | removed cpuboost driver | tweaked some HOTPLUG tunables | set ROW as default | reduced F2FS active_logs from 6 to 2 | optimised FS_checker code | changed auto-installation method of AGNi Control app | disabled Dynamic Fsync by default | set internalsd and externalsd read_ahead_kb to 512 & 1024 respectively | disabled some build.prop mods ] | 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 - 11-04-2014 Update v3.3
mm/page_io: remove duplicated compressed pages in memory | logger: reduce reserved memory | cpufreq: Manage only online cpus | removed duplicate PowerVR blobs thus reducing zip size - 05-05-2014 Update v3.4
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)
================================================================================
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
YOU HAVE TO USE F2FS supported kernel like AGNi for now
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.8 4.2.2)
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
DOWNLOADS :-
Dev Host Folder Link : CLICK HERE
Mega MIRROR Folder Link : CLICK HERE
Last edited: