[KERNEL][Huawei U8150] Noma - experimental Froyo hotness [20120514][GPL] - Android Software/Hacking General [Developers Only]

Noma kernel for Huawei U8150​
I'm introducing my custom kernel for Huawei U8150 IDEOS phones. In Kenyan Swahili noma usually means "tight," as in: "That music is tight!" It can be used in other ways too, but I like this connotation the best.
Goals​My aim is to learn about Linux kernel internals, practice software development using git, and to share with the community. In addition to that, I want to explore and test tweaks which lead to increased/optimized performance on this bargain phone (it's very popular in Kenya). Some of the areas of improvement I have in mind are:
CPU scheduling (UI responsiveness, reducing lag)
CPU frequency scaling governors (smartass? ondemandX? interactiveX?)
I/O scheduling and filesystems (flash disk performance, throughput, latency, maybe simpleio scheduler?)
Security (network, local)
Newer drivers (mainstream, community kernel sources)
Newer GCC compilers (CodeSourcery, Linaro)
Easy rooting
Integrate ClockWorkMod Recovery
Integrate busybox
Explore different compression algorithms (LZO, gzip, LZF, etc) for zImage...
Compcache (zram) (info, announcement)
SLOB memory allocator for better memory allocation? (info)
Current features​
Code:
- multi-touch gestures (on devices with [url=http://mjanja.co.ke/2011/08/does-your-huawei-u8150-support-multi-touch-gestures/]supported hardware[/url])
- over/under clocking of CPU frequencies
- Tiny RCU ([url=https://lwn.net/Articles/323929/]info[/url])
- BFQ I/O scheduler ([url=http://algo.ing.unimo.it/people/paolo/disk_sched/]info[/url])
- simpleio scheduler ([url=https://github.com/erasmux/hero-2.6.29-flykernel/wiki/Smartass]info[/url])
- "ck" patch set, including the Brain **** CPU scheduler (BFS) ([url=http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.32/2.6.32-ck2/]info[/url])
- optimized memcopy/memmove ([url=https://github.com/alanorth/kernel_huawei_u8150/commit/871656cbba8ee70d0896ac5cae35a31c2e0873e3]info[/url])
Downloads​fastboot-flashable boot images:
20120514v1: info, download
20110903v83: info, download
20110827v56: info, download
20110824v49: info, download
20110823v47: info, download
noma_20110711v26_boot.img (the "oops, I messed up my phone" kernel... safe, stable defaults; close to "stock" Huawei)
Possibly more here (on github)
Change log​Change logs are a pain in the ass to keep up to date, but you can see changes live in the git repository itself. See the commit history of the below branches if you're curious:
froyo-noma-dev commits (dev, bleeding edge)
froyo-noma commits (stable)
Source code​
I respect the GPL (the license covering the Linux kernel), so all the up-to-date source code for this kernel is available on github. My kernel is, in turn, based on the publicly-avaiable Froyo kernel sources from Huawei. You're free to fork, modify, and re-release the code as your own, but you must provide the source code for your resulting work. Doing so ensures you honor the terms of the license, but you're also giving back to the community. Basically, don't be a ****.
Credits​
I've written zero lines of C code for this kernel. My work is merely to search for interesting modifications to the Linux kernel and add them to a git repository. The real work has been put in by the following people:
Linus Torvalds and all the other Linux kernel hackers around the world
tj_style (multi-touch gesture support)
Stefano Viola (over/underclock)
Renaud Allard for his Galaxy S awesome sauce (kernel, initramfs, etc)
Erasmux (smartassV2)
Let me know if I've left you out.
Donations​
Hahaha! No seriously, save your money; I am gainfully employed and I just do this for fun (and lulz)! Instead, just hit "thanks" on this thread. Or, if you're ever in Nairobi you could always buy me a cup of coffee.

Reserved for flashing instructions...

Could you please post fashing instructions via custom recovery?
Im a bit of a noob.
Thanks.

Use fastboot!
Antownee said:
Could you please post fashing instructions via custom recovery?
Click to expand...
Click to collapse
I usually just flash from fastboot lately, as I'm between ROMs too much and I don't bother installing a custom recovery. I suppose I should modify my build scripts to make recovery-flashable zips... hang tight!
... or, if you can't wait, check out my in-depth blog post about compiling and flashing custom kernels on Huawei 8150. I wrote it a few weeks ago when I was a U8150 n00b.

v47 (20110823)
Changes in 20110823v47 (from the git commit log):
Add new, lookup3-based jhash. See: http://burtleburtle.net/bob/hash/doobs.html
pids: fix a race in pid generation that causes pids to be reused immediately
lib/decompress_bunzip2.c: fix checkstack warning
kbuild: drop unifdef-y support
net sched: fix some kernel memory leaks
net/ipv4: Eliminate kstrdup memory leak
Add noma_defconfig. `ARCH=arm make noma_defconfig` to use.
Mostly security and memory leak fixes. The new jhash implementation is based on lookup3.c, a newer, more-efficient implementation (more info here). It's mainly used in the kernel's ipv4 and ipv6 stacks, so don't expect revolutionary performance increases, but it's backwards compatible with the old implementation, so it couldn't hurt to include it.
Default IO scheduler is now deadline (the same as stock Huawei) until I can do some performance tests of other schedulers on this device. Note: I've included BFQ, Anticipatory, CFQ, and noop as well, so you can use those if you like!
Download: noma_20110823v47_boot.img

v49 (20110824)
Changes in 20110824v49 (from the git commit log):
Default to ZLO compression of kernel and ramdisk. LZO has roughly the same (but worse) compression, but is much faster to decompress.
Add LZO compression support for initramfs and old-style initrd
Add support for LZO-compressed kernels on x86
Add support for LZO-compressed kernels for ARM
Add support for LZO-compressed kernels
LZO compression is not as efficient but should be faster than the default compression (gzip), which should improve boot time. See: http://free-electrons.com/blog/lzo-kernel-compression/.
Download: noma_20110824v49_boot.img

Why are you working on Froyo and not on Gigerbread?

Why I'm still working on Froyo
unknhawk said:
Why are you working on Froyo and not on Gigerbread?
Click to expand...
Click to collapse
As this is basically a research project (for both me and the community), the primary reason I'm still "working" on Froyo is that most U8150s are still running Froyo. It's an incredibly popular phone in Kenya (maybe 250,000 - 500,000 units sold?), but I have a hunch very few of them are running non-stock ROMs. Sure, CyanogenMod 7 has a fairly-active U8150 port in progress, but it's not widely used yet.
Like I said, this is primarily a research project, so I'm experimenting for my own curiosity. A part of that is to help people get into Linux kernel, Android, and open-source software development. I want to help set an example of openness, collaboration, documentation, etc.
Also, a lot of the mods I'm making can just as well apply to Gingerbread when we finally get there.

Custom kernel booting on U8150 CM7
unknhawk said:
Why are you working on Froyo and not on Gigerbread?
Click to expand...
Click to collapse
Fun times... I just got a custom kernel to boot on CM7. It's nowhere near as usable as tilal's kernel, but it is a good exercise. More info here on my blog.
I suppose that whenever I get bored enough with Froyo I could always hop over to CM7. AOSP is where my heart is anyways.

v56 (20110827)
Changes (from the git commit history):
Add su, Superuser.apk, and busybox. This kernel/boot.img will now actively root Huawei stock ROMs.
Remove pre-zipped ramdisks as they are now generated on the fly from the compile scripts.
Correct the name of the compressed ramdisk (mkbootfs technically creates a cpio archive, which I then zip).
Make sure `make clean` doesn't delete our pre-compiled wireless module.
Add mkbootfs for creating ramdisks, and update compile.sh to create ramdisks on the fly instead of using a pre-zipped one.
Add ramdisk from U8150 V100R001C18B842
The build system is now a little more flexible and generates ramdisks on the fly. This should make it more powerful and complete. I've also included su, Superuser.apk, and busybox to enable a very cool new feature: rooting! If you haven't forked or cloned my kernel repository yet, what are you waiting for?
Regarding "rooting," forget what you've heard (it's probably wrong). Here's what it actually means:
Copying the su binary to /system/bin/su
Copying the Superuser.apk application to Superuser.apk
Period. What this means is that Android applications can call on the su binary whenever they want to do perform system administration actions (ie, not normal user actions), such as removing system applications with Titanium Backup. The Superuser.apk application is simply a frontend for su; whenever an application tries to execute su, a Superuser dialog pops up asking you to allow or deny the request. This notion, known as "privilege separation," is a common one in all operating systems.
Download: noma_20110827v56_boot.img

v83 (20110903)
Changes (from the git commit history):
sched: export nr_running symbol for use by smartassV2 CPU governor.
config: sync with latest config
sched_fair: Restore less extereme latency values (latency of 6ms)
sched: enable HRTICK
sched_fair: Enable HRTICK
cpufreq: add smartassV2 governor
Switch busybox, older version (1.18.4) but slimmer, more appropriate for our needs (from https://faramir.eriador.org/r/).
Minimum frequency to 122MHz at boot, as well as smartassV2 governor.
Optimized ARM RWSEM algorithm
Cleanup after installation of su stuff. We're on a ramdisk after all, we need to conserve memory.
Change location of root stuff so it isn't in the $PATH
Add Simple I/O Scheduler
Add V(R) i/o scheduler
Update to latest Linaro GCC 4.6 compiler.
Two major changes are the addition of the simpleio IO scheduler and the smartassV2 CPU governor. The simpleio scheduler is based on/around the noop and deadline schedulers, designed specifically with non-rotating media in mind (flash disks, hello!). The smartassv2 CPU governor controls how your CPU switches between frequencies (from 122MHz at idle to 672MHz when in use). I haven't done any benchmarks, but these should improve responsiveness and battery life (in theory at least!).
Other than that, the latest Linaro GCC 4.6 compiler, some small optimizations to ARM-specific functions, and ramdisk/boot cleanups. If you're curious about smartassV2 there's more info here, on erasmux's github page here.
Download: noma_20110903v83_boot.img

cm7 nightly bugged one ?????? i dnt like it iz there iz n e fixed cm7 for ideos ????
btw your kernel doesnt works with cm7 and can u please make a kernel for samsung galaxy gio with smartass v2 ??

Aorth, I tried flashing you kernal, and unfortunately there is one error when flashing with the latest CM7.1. After the flash, the phone will be stuck at the boot screen. I was wondering if you can get this fixed, that'll be great

This kernel is meant for stock ROMs
Den15 said:
Aorth, I tried flashing you kernal, and unfortunately there is one error when flashing with the latest CM7.1. After the flash, the phone will be stuck at the boot screen. I was wondering if you can get this fixed, that'll be great
Click to expand...
Click to collapse
Yeah, this kernel was really meant for Froyo stock ROMs. It won't work on CyanogenMod builds because the ramdisk's init scripts are not compatible.
My U8160 kernel repo has a kernel which works on CM7... but you'll have to compile it yourself

nice kernel ........... working fine on ideos u8150-B .... I flash it with stock rom ................. battry becomes efficient ...

Good Job!
Hello aorth,
I'm now using the LEANdroidMOD 5 based on your kernel and I have to say the name NOMA suits it to a tee. It's my default ROM now when I'm not testing your or tilal6991's builds. Thanks and you have yourself a happy holiday season!

hello,
will there be any update of your noma kernel? this is my fav because all roms out there eat my battery like mad, so i just use your kernel and i'm happy with it
greetings

oh man please update, this is one nice kernel!

CM7 u8150 april 5th
IS this already built in to your CM7 last updated april 5th rom or is that a diffrent kernel? which one is better? would it be hard to install it on that rom? whats the advantages over the built in cm7 rom? Thanks sounds awsome anything to make that baby faster is great. Good work

SU Binary Outdated notification
flasehd v83 on the stock 2.2.1 kenya 1 mutli touch rom all went good but whenever i restart the phone su binary shows the notifications bout su binary being outdated which i updated , i did it multiplie times but it comes up everytime the phone is rebooted , other than that su binary working ok ,
dont know how to fix it , other than that the phone is working so responsive , enjoying it
when i flashed the kernel , the phone was already rooted
cheeeeeeeeeeers

Related

[KERNEL] 32a GBO kernel. More designed to ROM cookers [07/09/2009]

Here come our custom 32A kernel
Updated, see changelog
Sorry for the delay, I was taking some sun and some work .
http://www.mediafire.com/?mjgm5gcgmya
README:
Code:
HTC Magic Sapphire PVT32A kernel build.
This kernel build is only for 32A (HTC branded) version of the HTC magic.
It's designed to run FAST. (much more than the stock kernel).
I made some improvement in the config, removed uneeded things (all of this debuging message, hooks, ... is not needed for everyday use,
and use precious CPU cycle for nothing :).
You can use this kernel in your current ROM but you need to known what you're doing. (Boot image and ramdisk knownledge are required).
If you don't have those skills, you can wait a ROM cooker to build a ROM with this kernel for you. (It's not a subliminal message :p).
Hope you'll enjoy it.
In this archive you'll find:
README -> this file :)
CHANGELOG -> Errr... oh yes, got it! It's the changelog!
boot-gbo-v4.img -> An boot image. You can try to boot it but you'll be more lucky if you ask your ROM builder :).
zImage -> for ROM builders. You can include it in your boot.img file
config.gz -> The config used to compile the kernel.
wlan.ko -> Wlan driver for the kernel in this archive.
modules/ -> Extra modules you can include in you ROM (or not). IPV6, ReiserFS, NTFS, Tun, ...
modules/ipv6.ko -> IPv6 support
modules/xfrm6_mode_beet.ko -> Needed by IPv6 support
modules/sit.ko -> Needed by IPv6 support
modules/xfrm6_mode_transport.ko -> Needed by IPv6 support
modules/xt_TCPMSS.ko -> Needed by IPv6 support
modules/xfrm6_mode_tunnel.ko -> IPv6 over IPv4 support
modules/tun.ko -> TUN/TAP Interface support
modules/tunnel4.ko -> IPv4 Tunnel support
modules/ipip.ko -> Needed by TUN/TAP Interface support
modules/ip_gre.ko -> IP GRE security support
modules/ntfs.ko -> NTFS support
modules/reiserfs.ko -> ReiserFS support
modules/as-iosched.ko -> AS scheduler
modules/cfq-iosched.ko -> CFQ scheduler
Current version: 2.6.27-6
Features:
- See CHANGELOG
Questions, bugs, request ? -> PM Me
Creditz:
TigerTael for making a 32A compatible kernel
rayman84 which helped TigerTael with its quest :) (and making an unified patch)
Amon_RA for giving me some keys to find the wallpaper bug.
All people that make android & htc hacking possible every day
CHANGELOG:
Code:
2.6.27-gbo-6:
- Reverted to GP Timer, should fix clock issues
- Switched to SLOB allocator (default android kernel behaviour)
- Merged last change from TigerTael patch
2.6.27-gbo-5:
- Removed debug symbols from kernel
- Switched to SLUB allocator
- Added loopback device support
- Removed kernel debugging core
- Disabled verbose console message
- Added TUN/TAP module to extras
- Removed SysRq keys
2.6.27-gbo-4:
- Reverted inotify support
- Wallpaper change is now working.
- Added extra modules, see README
2.6.27-gbo-3:
- Removed profiling support from kernel.
- Reverted CPUFreq scaling to default behavior.
- Changed default CPUFreq gouvernor from 'performance' to 'ondemand'.
- Set max frequency to 528Mhz
- Added reiserfs support.
- Removed Network FS support
- Removed DebugFS
- Removed Kernel debugging
2.6.27-gbo-2:
- Added IPTables support (for tethering).
- Added EXT4 support (dev).
- CPU scaling is reduced at max 245Mhz when screen is OFF.
- CPU scaling is increased at max 528Mhz when screen is ON.
- Latest WLAN driver which will be released with Donut build.
- Removed some debug options from the kernel config.
- Removed inotify support.
Known bugs:
- Not yet...
I just cooked all of this, the real hard work was made here:
http://forum.xda-developers.com/showthread.php?t=548061
gboddina said:
Here come our custom 32A kernel
http://www.mediafire.com/download.php?wmtnwn5tbzt
README:
Code:
HTC Magic Sapphire PVT32A kernel build.
This kernel build is only for 32A (HTC branded) version of the HTC magic.
In this archive you'll find:
README -> this file :)
boot-gbo.img -> An boot image. You can try to boot it but you'll be more lucky if you ask your ROM builder :).
zImage -> for ROM builders. You can include it in your boot.img file
config.gz -> The config used to compile the kernel.
wlan.ko -> Wlan driver for the kernel in this archive.
Version: 2.6.27-2
Features:
- IPTables support (for tethering)
- EXT4 support (dev)
- CPU scaling is reduced at max 245Mhz when screen is OFF
- CPU scaling is increased at max 528Mhz when screen is ON
- Latest WLAN driver which will be released with Donut build.
Questions, bugs, requests ? -> [email protected]
Creditz:
TigerTael for making a 32A compatible kernel
rayman84 which helped TigerTael with its quest :) (and making an unified patch)
All people that make android & htc hacking possible every day
I just cooked all of this, the real hard work was made here:
http://forum.xda-developers.com/showthread.php?t=548061
Click to expand...
Click to collapse
Excellent job.
Any chance you wanna talk me through building a kernel!?
I think someone need to make a goot tutorial about this! (getting sources, applying the patch, building kernel, builder wlan module...)
I'm not a fan of making documentation but if nobody do it, I will, because the knownledge must be shared
gboddina said:
I think someone need to make a goot tutorial about this! (getting sources, applying the patch, building kernel, builder wlan module...)
I'm not a fan of making documentation but if nobody do it, I will, because the knownledge must be shared
Click to expand...
Click to collapse
Well, even if you could do something quick and basic it would be awesome
a good resource here..
http://sglnx.com/2009/08/linux-kernel-in-a-nutshell/
Works on JACxHEROski-v1.4 for 32A.
(it's a fast HERO rom btw)
Thanks a bunch! I have multi-touch now!
Instructions
For the strong hearted only!
Testing the boot.img: (gboddina's instruction from original thread)
adb push wlan.ko /system/lib/modules/wlan.ko
adb shell sync
[Shutdown device, adb rebooting can cause wifi to not work]
[Fastboot device]
fastboot boot boot-gbo.img
Click to expand...
Click to collapse
Flashing the boot.img:
[Normal Phone Mode]
adb push boot-gbo.img /sdcard
adb shell cat /dev/zero > /dev/mtd/mtd2
adb shell flash_image boot /sdcard/boot-gbo.img
[Reboot Phone]
Click to expand...
Click to collapse
It's a nice basic kernel. But just wondering, in the original thread, it's stated that LED is working. But my Rogers Magic still doesn't show red LED during charging. Any explanations?
Thanks, 2.6.29 with compcache and the common g1 kernel modules would be nice =]
Any dangers with trying to use this, or things to watch out for?
This boot.img does not work with the Rogers ROM for me It gets stuck at the Rogers logo...
hotweiss said:
This boot.img does not work with the Rogers ROM for me It gets stuck at the Rogers logo...
Click to expand...
Click to collapse
There is another bootimage with another ramdisk , it will work just gå back to the orginal thread from the first post here and look!
it works! ...., waiting for the tutorial
gboddina said:
Here come our custom 32A kernel
http://www.mediafire.com/download.php?wmtnwn5tbzt
README:
Code:
HTC Magic Sapphire PVT32A kernel build.
This kernel build is only for 32A (HTC branded) version of the HTC magic.
In this archive you'll find:
README -> this file :)
boot-gbo.img -> An boot image. You can try to boot it but you'll be more lucky if you ask your ROM builder :).
zImage -> for ROM builders. You can include it in your boot.img file
config.gz -> The config used to compile the kernel.
wlan.ko -> Wlan driver for the kernel in this archive.
Version: 2.6.27-2
Features:
- IPTables support (for tethering)
- EXT4 support (dev)
- CPU scaling is reduced at max 245Mhz when screen is OFF
- CPU scaling is increased at max 528Mhz when screen is ON
- Latest WLAN driver which will be released with Donut build.
Questions, bugs, requests ? -> [email protected]
Creditz:
TigerTael for making a 32A compatible kernel
rayman84 which helped TigerTael with its quest :) (and making an unified patch)
All people that make android & htc hacking possible every day
I just cooked all of this, the real hard work was made here:
http://forum.xda-developers.com/showthread.php?t=548061
Click to expand...
Click to collapse
Does your kernel allow changing the CPU freq? The previous one you made would not allow the CPU frequency to be set (By apps, etc)
is it permission problem... you cant write the frequencies?!
Just grabbed setcpu and it seems to halt after the intial page so it just freezes up after hiting the "always allow" page from the superuser app just after hiting "android cupcake 1.5" from the intial page of the app it self... what im trying to say that i dont think its a permission problem...
So I just unpack boot-gbo.img and put the kernel in any rom?
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
i cant find anything beyond cpu0.
TigerTael said:
Does your kernel allow changing the CPU freq? The previous one you made would not allow the CPU frequency to be set (By apps, etc)
Click to expand...
Click to collapse
Since this is active:
Code:
CONFIG_MSM_CPU_FREQ_SCREEN=y
CONFIG_MSM_CPU_FREQ_SCREEN_OFF=245760
CONFIG_MSM_CPU_FREQ_SCREEN_ON=528000
Manual cpu scaling cannot be done.
Seems that many people doesn't like this behavior. I am currently reviewing the config to made some performance improvement and will release 2.6.27-gbo-3 during this day.
Small poll so:
CONFIG_MSM_CPU_FREQ_SCREEN or CONFIG_MSM_CPU_FREQ ?
gboddina said:
Since this is active:
Code:
CONFIG_MSM_CPU_FREQ_SCREEN=y
CONFIG_MSM_CPU_FREQ_SCREEN_OFF=245760
CONFIG_MSM_CPU_FREQ_SCREEN_ON=528000
Manual cpu scaling cannot be done.
Seems that many people doesn't like this behavior. I am currently reviewing the config to made some performance improvement and will release 2.6.27-gbo-3 during this day.
Small poll so:
CONFIG_MSM_CPU_FREQ_SCREEN or CONFIG_MSM_CPU_FREQ ?
Click to expand...
Click to collapse
Well, I definitely like to set my CPU and this is pretty common in the stock kernels and other 32B kernels, so I would stick with this. Of course, this is -your- kernel, so you can do it exactly how you want to. :3
It's not "mine" . It's your kernel and my build
Better, it's a community kernel
I'll revert back to stock configuration for this part .
gboddina said:
It's not "mine" . It's your kernel and my build
Better, it's a community kernel
I'll revert back to stock configuration for this part .
Click to expand...
Click to collapse
Hey i don't wanna sound annoying lol since i already said this but any chance of compcache, squashfs, and cgroup? i'm pretty sure non of them are on the current build since there is lines in the ramdisk im using that try to use these features but it's failing and ofcourse just by looking at "mount"....
thanks for the hard work,

[KERNEL & CF-root][GB][LE4/Universal] Bam Custom Kernel: BCK beta 15 [07.02.13]

BCK - Bam Custom Kernel for i9003 / Galaxy SL
This Kernel is based on the Chinese GB source, released by Samsung on the 18th of November. Last changes to the source were made by Samsung on November 15th. If you still have questions after reading this post, look at the FAQs (including a list of requested features and known issues).
Kernel features:
No SOD
Bugfixes:
~ Sync bug fixed. Notifications for new mails and messages should arrive within one minute under all circumstances
~ Bluetooth problems fixed. Your phone now should play nice with bluetooth hosts, i.e. your car audio system
~ Micro stutters nearly completely gone thanks to lowered processor transition latency. It's smooooooooth
~ Home button double presses exterminated
Governors:
~ smartassV2 governor by erasmux (default)
~ interactive governor by Mike Chan
IO scheduler:
~ SIO IO scheduler by Miguel Boton (default)
~ BFQ IO scheduler by Paolo Valente and Fabio Checconi
~ deadline IO scheduler
Extended features:
~ ro.secure=0 (root acces through adb shell - to root the 'clean flavour' of BCK, please follow the instructions)
~ EXT4 support (to convert your file system, use amit.bagaria's ext4 add-on .apk) (Only in CF-Root .tar)
~ Support for init.d scripts (to use scripts, please follow the instructions) (Only in CF-Root .tar)
~ BLN support (to use BLN, please follow the instructions)
~ TUN support for VPN networks built-in (no module needed)
~ Increased SD-card read ahead of 768 kb for improved read speed
~ Available with universal CF-root ramdisk based on amit.bagaria's version, improved by loSconosciuto (Only in CF-Root .tar)
~ Available with universal CWM ramdisk (rooted) based on universal CF-root, but 'tweakless' (Only in CWM .tar)
Overclocking and Voltage:
~ Evolved sysfs interface for variable overclock or underclock (all operating points [OPPs] can be adjusted seperately)
~ Fifth OPP (1.2 GHz) available, device booting up at stock speed (1 GHz)
~ Total frequency control. The device will never run at higher speeds than defined by you, not even on WiFi.
~ sysfs interface for voltages (read only at the moment)
~ Slight undervolt (3%) on all OPPs
Flashing , settings and compatibility:
If you want to use BCK, please flash it on a clean stock ROM. If you want to go back to stock, repartition and reflash the full firmware with ODIN. This kernel will not work on CM or MIUI.
The CF-root and CWM versions (PDA_BCK_CF-root_universal_***.tar / PDA_BCK_CWM_universal_***.tar) can be flashed on any recent Gingerbread firmware. These versions are pre-rooted, which means they include Superuser.
The non-CF-root "clean" version (PDA_BCK_XXKPQ_***.tar / PDA_BCK_XXLE4_***.tar) will only work on XXKPQ / XXLE4. Do not flash this version on anything other ROM than the one indicated in the file name. This will break your WiFi. It's especially risky to flash the clean version of BCK after flashing any CF-root kernel before. Don't do it. This version does not include Superuser, but it is prepared to be rooted. Follow the instructions to do this.
After a kernel update, please wait for the device to boot up and reboot once. There is generally no need for cache cleaning or a full reset. To change the governor and IO scheduler, I use NoFrills CPU Control from the market. It's free and reliable.
I recommend to use the clean XXKPQ version. If you want / need to have root, try the CWM version. If you want the 'full package' with FuGu-Mod and more, use the CF-root. I recommend that you do not apply any further tweaks and use a stock ROM.
>>> Warning: Overclocking may damage your device. <<<​
Overclocking instructions:
For overclocking, you will need a shell on your phone, or adb access. I use Android Terminal Emulator. Overclocking is currently limited to certain frequencies (see below) and all operationg points will be set with the stock voltage of the corresponding stock frequency. The frequencies you set have to be within the following ranges:
Code:
OPP1: 100 - 500 MHz, stock 300 MHz
OPP2: 501 - 700 MHz, stock 600 MHz
OPP3: 701 - 900 MHz, stock 800 MHz
OPP4: 901 - 1100 MHz, stock 1000 MHz
OPP5: 1101 - 1500 MHz, stock 1200 MHz, not used by default
Remember that your phone uses all operating points depending on the current load. Anything more than 10% higher than the highest stock frequency is likely to be unstable, but you are free to try it. To change the clocks, open Terminal Emulator (or type 'adb shell') and hack in
Code:
su
echo "1100" > /sys/power/overclock_opp4
as an example. The others are opp5, opp3, opp2 and opp1. That's it.
Settings will be lost at reboot, unless you add them to your init.d scripts. I do not recommend this, as this may cause boot loops if the settings are to high! Be advised that NoFrills CPU Control, SetCPU, or whatever app you use that may adjust clock settings interfers with this. You may wanna update their settings after this. I do not recommend using them to set anything at boot if you overclock any OPP, because they might save the wrong frequencies and crash or do worse.
Changelog:
beta 1:
Added cpufreq governors
beta 2:
Changed smartassV2 settings to fit i9003
Added EXT4 support
Smaller zImage due to .config changes
beta 3 (not released):
Experimented with overclocking (not working, yet)
beta 4:
Finetuned smartassV2 settings
Made smartassV2 governor default
Reverted: Smaller zImage due to .config changes
Switched to linaro 4.6.2 toolchain (also used for ICS)
Activated new, aggressive compiler optimizations (-O3)
Added deadline IO scheduler
Added BFQ IO scheduler (10% higher performance than CFQ in Antutu Database IO Benchmark. This does not mean, that the maximum read or write speed increase! It just means that the throughput under heavy load is higher.)
Made BFQ IO scheduler default
Updated all modules
beta 5:
Variable overclock. Loosely based on the modifications of the Nook Color sources by dalingrin and of course with help from amit.bagaria and DooMLoRD.
beta 6:
Variable overclock for all operating points
beta 7:
Switched to universal CF-Root by amit.bagaria (BCK now should run on every recent GB ROM)
Added correct version information in settings menu, credits to DooMLoRD
Fixed cpufreq stats to correctly reflect frequency changes
Increased SD-card read ahead to 768 KBytes. This results in higher SD-card read speeds.
Major simplifications in overclocking code. Works more robust, now.
Added sysfs interface to show voltages. See /sys/power/overclock_vdd_oppX
Changed all voltages to the mainline Linux kernel defaults. This results in a slight 3% undervolt for each OPP, which saves about 5% power and should have no impact on stability whatsoever. Below you will find an overview of the exact voltages.
Code:
stock BCK
OPP1: 1.0250 V 1.0000 V
OPP2: 1.2000 V 1.1625 V
OPP3: 1.3300 V 1.3000 V
OPP4: 1.3875 V 1.3500 V
OPP5: not def. 1.3800 V
beta 8:
OPP5 (1.2 GHz) now enabled in _1200 version of kernel. Thanks to knzo for pointing me to the right patch.
Fixed video recording bug when running at 1.2 GHz
Fixed power management issues at 1.2 GHz
Small changes to smartassV2 and interactiveX settings
beta 9:
Added simple IO ('SIO') scheduler
Only one kernel version now, which includes OPP5 (1.2 GHz) but boots up at 1 GHz. Be advised that your device may nevertheless be running at 1.2 GHz for five to ten seconds at boot because of software limitations.
Changes in PM to always respect cpufreq policy limits. From now on, the device will never run at higher speeds than defined by you, not even on WiFi. Based on an omapzoom.org patch.
Changes to OPP switching code. May lead to less 'hickups'. Based on an omapzoom.org patch.
Bugfix for framebuffer code. Based on an omapzoom.org patch.
Reduced IVA / DSP frequency when on OPP5 to be on the safe side.
beta 9fix:
Reverted: Changes to OPP switching code. May lead to less 'hickups'. (Patch caused random freezes using WiFi.)
Reverted: Bugfix for framebuffer code. (Patch showed no noticeable benefits.)
beta 10:
Fix for sync bug applied. If you still have problems, please report.
This version is identical to beta 10rc14. No need to flash again, if you already are on that version.
beta 11:
Updated universal CF-Root by amit.bagaria to version 9 (released 1st of February 2012), but NO touch recovery
Slight increase in OPP5 voltage (1.38 V -> 1.40 V), may prevent some reported reboots on 1.2GHz
Code:
stock BCK
OPP5: not def. 1.4000 V
Changes in overclocking code to play nice with your frequency settings. If you overclock OPP5 but have restricted freqs to 300 - 1000 MHz, it won't automatically activate OPP5 anymore. The same is true for the lowest OPP.
If you overclock OPP4 above 1000 MHz and have restricted freqs to 300 - 1000 MHz, it will update the upper boundary to the new frequency of OPP4 so it doesn't get deactivated.
beta 12:
Fixed bluetooth problem with car audio systems (Based on omapzoom patches [1], [2] and [3]). Might resolve other bluetooth issues, too.
Universal CF-Root: Fixed bootanimation. Thanks to loSconosciuto.
Universal CF-Root: Fixed install procedure. It will check the actual kernel version, now. Thanks to loSconosciuto.
Universal CF-Root: Fixed fix_permissions script to work on our device. Thanks to loSconosciuto.
Switched to user_defconfig, to avoid unnecessary debug lines in dmesg.
beta 13:
Updated sources to GT-I9003_SWA_GB_Opensource_Update1 from the 30th of March. This also enables TUN support by default. You do not need any modules for this - it works "out of the box" with any VPN client.
Universal CF-Root: Backup is not failing anymore when started from CWM. Thanks to loSconosciuto.
Universal CF-Root: Some small improvements to multiple scripts.
Home button double press issue fixed. There should be no more unwanted double selections in CWM and you can now reliably long press the home button to bring up the list of previously used apps. Idea and timer function taken from a patch by Tegrak.
Fixed priority class for CONTENT_PROVIDER not being set, which may have caused apps of this class to be ignored by the autokiller, resulting in less free RAM.
Lowered OMAP processor transition latency to the value recommended by TI. Subjectively, this brought huge improvements in terms of reducing micro stutters.
Lowered CFS scheduler latency and granularity to values very close to mainline kernel defaults. This could reduce lags in some critical situations, but it doesn't do wonders.
Switched to SIO as default IO scheduler.
beta 14:
Universal CF-Root: Replaced CWMManager and TweakManager with zipaligned files. Thanks to loSconosciuto.
Universal CF-Root: The TweakManager is not replaced on install if it didn't change to preserve it's settings. Thanks to loSconosciuto.
Universal CF-Root: Corrected problems because of too little free space in /system when converting to ext4 by permanently moving InfoAlarm.apk from /system/app to /data/app. Thanks to loSconosciuto.
Universal CF-Root: Fixed the non-working WiFi on XXLE4 and prevented future problems. Instead of patching the WiFi modules, they are now replaced. Thanks to loSconosciuto.
Universal CF-Root: Fixed some small mistakes in the CF-root install procedure.
Switched the compression of ramdisk and kernel from gzip to lzma. This makes the files much smaller and allows us to include more 'stuff'.
Changed smartassV2 settings to wake up at lower frequencies. Further, it is not locked at 300 MHz anymore when the screen is off. Tests showed that free scaling is more battery friendly.
Removed InteractiveX and OndemandX governors and added the Interactive governor by Mike Chan (Source: CyanogenMod Crespo kernel). Since free scaling proved to be more battery friendly, the screen off profiles in InteractiveX and OndemandX made them superfluous.
The device will not scale above 1 GHz for some seconds when booting anymore. It's now safe to use BCK even if your device can't handle 1.2 GHz. Based on a patch by dalingrin.
Changes in PM to respect cpufreq policy limits when playing or recording video. The device should respect your wishes under all circumstances, now
Fixed the SmartReflex voltage calibration of the OMAP SoC for OPP5. This could lower power consumption as soon as OPP5 (1.2 GHz) is activated for the first time.
Slight increase in the OPP5 nominal voltage (1.40 V -> 1.42 V) to allow for some adjustment by SmartReflex (now that it's working...), if necessary. The actual voltage when the device is running will not change for most users! Based on patches by dalingrin and Sanjeev Premi.
Code:
stock BCK
OPP5: not def. 1.4200 V
beta 14 fix:
Universal CF-Root: Fixed the non-ending row of force closes after flashing the Universal flavour of BCK. The clean XXKPQ version did not show these problems and didn't need a 'fix'.
beta 15:
Universal CF-Root: Modified some permissions to bring it closer to the stock ramdisk
Universal CWM: Created a CWM ramdisk based on CF-root, without most tweaks. You now have three BCK flavours to choose from
Updated to newest UPDATE2 sources by Samsung
Sync bug fix reworked to use new Samsung method from UPDATE2. This may lead to slightly lower standby battery consumption.
Fixed accidental front camera mirroring
Editing smartassV2 settings with busybox 1.20.x and newer no longer leads to reboots. Thanks to loSconosciuto for pointing me to the patch.
Fixed complete crash of WiFi driver when activating WiFi by adapting smartassv2 thresholds
Reverted to the original Google Android toolchain using gcc 4.4.3
Because of the toolchain-switch, the compiler optimizations are now back to -O2 instead of -O3
Credits:
Credits go to the mentioned developers of the cpufreq governors, ganeshbiyer, skin1980 and amit.bagaria for the CF-Root and skin1980 for his repack script. Many thanks to DooMLoRD, amit.bagaria, knzo and loSconosciuto for their help! BCK sources are available on GitHub.
Files:
Attached files:
ODIN-flashable PDA_BCK_XXKPQ_***.tar with stock Samsung ramdisk ('Clean flavour'). Only for XXKPQ ROMs.
ODIN-flashable PDA_BCK_XXLE4_***.tar with stock Samsung ramdisk ('Clean flavour'). Only for XXLE4 ROMs.
ODIN-flashable PDA_BCK_CF-root_universal_***.tar with CF-root ramdisk ('Universal CF-root flavour'). For all current Gingerbread ROMs.
ODIN-flashable PDA_BCK_CWM_universal_***.tar with CWM (rooted) ramdisk ('Universal CWM flavour'). For all current Gingerbread ROMs.
Other files (not attached):
Old releases and release candidates can be found on Dev-Host. Use these with caution!
MD5 sum:
Code:
PDA_BCK_XXKPQ_beta10.tar: 83013b2d54c52dddb72deec46b5471de
PDA_BCK_CF-root_universal_beta10.tar: e1e8bcc28c878095618413141b642ec1
PDA_BCK_XXKPQ_beta11.tar: 9eaa6d080f3409c4822e38602bad8efb
PDA_BCK_CF-root_universal_beta11.tar: 93437cf26699dfe595881941b13a6a83
PDA_BCK_XXKPQ_beta12.tar: d9849ae7d9587402aa6465081b4c65a1
PDA_BCK_CF-root_universal_beta12.tar: 2107dfbf33b2838e66007f4319bee14e
PDA_BCK_XXKPQ_beta13.tar: bff3112d3249e951a569148d79643744
PDA_BCK_CF-root_universal_beta13.tar: 1fab51d641a8914e11a81781683d7d7d
PDA_BCK_XXKPQ_beta14.tar: 08cd77964c3d8b54b4c97e59500a0b96
PDA_BCK_CF-root_universal_beta14fix.tar: 6a2cda17362f5a2e6aac7e78dbe94089
PDA_BCK_XXLE4_beta15.tar: 7159e6cd5f2b71bebffcb4d86201b6cf
PDA_BCK_CF-root_universal_beta15.tar: ecfa46b8aec239f1ac246df61dc63477
PDA_BCK_CWM_universal_beta15.tar: 765a5253b0313d41399ea86822cf5f80
Nice i'll try it out ! but m not on clean kpq :\ oh well its worth the shot for thse governors and can u please provide the link to the new source ?
phone boots but the boot animation keeps on repeating ! cf root problem !clean kpq did the trick m in !
Oh!very nice
shriomman said:
Nice i'll try it out ! but m not on clean kpq :\ oh well its worth the shot for thse governors and can u please provide the link to the new source ?
phone boots but the boot animation keeps on repeating ! cf root problem !clean kpq did the trick m in ! but how to root it now ? :\
edit- rooted with soc with psnuter had to instal busybox from stricson and all working just fine
Click to expand...
Click to collapse
Thanks bro for your feedback.
Sent from my GT-I9003 using Tapatalk
over clock to ? ghz?
leongwenjun said:
over clock to ? ghz?
Click to expand...
Click to collapse
it doesnt have oc ! it has special cpu governors which are efficient and fast
tough luck for me mate....
i compile a vanilla kernel which is ~200 kb larger than stock zImage and it doesnt even boot!
also,even i want to update to 2.6.35.14,,,,,,,,,,,,,,how u did it without source?
also(2)lz open an acc. on github!
@sakindia123: Take a look here, update your sources to the new version, and get the new toolchain they use (see readme in the sources).
i followed that link before......
ok i will try with new source
what will happen if we use this ? are there any good feautures ?
it has special cpu governors which are efficient and fast
Now just wait for some days guys. Doomlord, bam, sakindia will show u real power of our device.
This is great! Just one little question, you said this is for a chinese firmware, but you mention KPQ, so it can be put in XXKPQ or not? Anyway sorry for my noob question
vishal24387 said:
Now just wait for some days guys. Doomlord, bam, sakindia will show u real power of our device.
Click to expand...
Click to collapse
U forgot To mention "fuss" dude...
Sent from my GT-I9003 using XDA Premium App
Slynightdark said:
This is great! Just one little question, you said this is for a chinese firmware, but you mention KPQ, so it can be put in XXKPQ or not? Anyway sorry for my noob question
Click to expand...
Click to collapse
It is based on the Chinese source - this includes kernel and android system source. But the kernel is universal (not language specific), and I applied all necessary settings for XXKPQ. Therefore you can flash it on KPQ.
what does a kernel do??
it is the main driving force of a phone that i know.
does it make our phone fast??
how to flash it as i would like to give it a try right away!!
can i roll back to stock kernel after this??
sorry for thr noob question as im new to all this.
---------- Post added at 08:45 PM ---------- Previous post was at 08:40 PM ----------
also do we need to have CWM recovery for this????
or we can do it with the stock recovery menu??
i was just doing some testing and the kernel is stuck at "SAMSUNG" bootanimation after a FRESH FLASH...
any idea?
used on XXKPQ FW
I flash your kernel. From last 5hours no SOD ISSUE. I'm using smartass v2 let's see how will battery I will get from it.
Sent from my GT-I9003 using Tapatalk
Fresh flash of what PDA? Yours, mine, GitHub?
@manrock111: smartassv2 gives me slightly higher battery usage than stock. I want to tweak it, but have problems with my sources at the moment.
XDA_Bam said:
Fresh flash of what PDA? Yours, mine, GitHub?
@manrock111: smartassv2 gives me slightly higher battery usage than stock. I want to tweak it, but have problems with my sources at the moment.
Click to expand...
Click to collapse
sorry... did a fresh install of full XXKPQ FW and now its booting
ok now this is weird... suddenly all of my test kernels have started booting

[KERNEL][STOCK|CROMI]3.1.10-10.4.4.25-that6 »» now with pre-init scripts

Update 2013-04-01 (3.1.10-10.4.4.25-that6):
With a small fix for a crash when reading a file in /sys, the revolutionary pre-init system from v5, and a more complete Data2SD package:
http://forum.xda-developers.com/showpost.php?p=39822992&postcount=239
Update 2013-03-24 (3.1.10-10.4.4.25-that5):
The latest experimental kernel is here: http://forum.xda-developers.com/showpost.php?p=39528295&postcount=227
Update 2013-03-05 (3.1.10that4):
The latest kernel is up: http://forum.xda-developers.com/showpost.php?p=38797590&postcount=194
New features: User voltage control and Data2SD auto-detection.
End Update 2013-03-05
Update 2013-02-06 (3.1.10that2):
After positive feedback from testers and due to popular demand, here is my latest kernel with the experimental new "ROW" I/O scheduler. If you want to know more, read the documentation in the patch here: https://patchwork.kernel.org/patch/1862241/ . Please note that this is a rather new development and not yet merged into a mainstream kernel, so it has not been widely tested. However, all results from XDA members were neutral or positive so far.
End update 2013-02-06
Since Asus seemed to have forgotten to release the 10.4.4.25 kernel sources, I reminded them politely - and finally the sources are available for download from their support site!
This is the first kernel ever that I cross-compiled myself - be gentle.
zImage (kernel binary) features:
- Asus 10.4.4.25 base
- fsync control
- ISO 9660 + UDF support (CD/DVD filesystems)
- CIFS (for mounting Windows shares)
New in 3.1.10that2 (2013-02-06):
- ROW I/O scheduler (prioritize READ requests over WRITE requests on eMMC/SD cards) included as default
New in 3.1.10that4 (2013-03-05):
- User voltage control for undervolting
New in 3.1.10-10.4.4.25-that5 (2013-03-24):
- Penguins! (framebuffer console)
New in 3.1.10-10.4.4.25-that6 (2013-04-01):
- No more crash when reading /sys/bus/nvhost/drivers/tegradc/tegradc.0/nvdps
Ramdisk features:
- insecure adbd
- init.d support
- does not set lcd_density (dpi unlocked)
in the -data2sd versions only:
- mount points modified for the Data2SD mod (see http://forum.xda-developers.com/showthread.php?t=1962507)
New in 3.1.10that4 (2013-03-05):
- auto-detection of data2sd - if the microSD card is inserted at boot time and it contains a second partition, it is assumed to be a data2sd partition and mounted as /data. Otherwise, the system is booted with /data mounted to internal storage as usual.
New in 3.1.10-10.4.4.25-that5 (2013-03-24):
- moved auto-detection of data2sd to scripts in /system for easier customization (read the release post for details)
Credits:
- Linux kernel devs and Asus for the base
- Gentoo devs for their easy "crossdev" toolchain-generation tool
- scrosler for the original CleanROM, from where I got the ramdisk mods
- Ezekeel for the fsynccontrol patch (http://rootzwiki.com/topic/14685-kernel27-jul-glados-v20-for-jb/page__st__700#entry607555)
- clemsyn, for finding the fsynccontrol patch and integrating it into his kernel
- faux123 for the user voltage control patch which clemsyn integrated into his kernel
- sbdags and buhohitr for testing
- dasunsrule32 for finding the ROW I/O scheduler and testing it with the CM kernel
- snypa for notifying me of dasunsrule32's research
- blackmambazzz for making the ROW scheduler compile with 3.1
Flashable ZIP:
This kernel (and all others in this thread) is compatible with stock-based (Asus Android 4.1.1) ROMs that set lcd_density (dpi) in build.prop - in other words, this is the preferred kernel for CleanROM Inheritance.
2013-04-01: v6: Latest version:
Get it here: http://forum.xda-developers.com/showpost.php?p=39822992&postcount=239
2013-03-24: v5:
Get it here: http://forum.xda-developers.com/showpost.php?p=38797590&postcount=227
2013-03-05: v4:
Get it here: http://forum.xda-developers.com/showpost.php?p=38797590&postcount=194
2013-02-06: (3.1.10that2):
View attachment that-kernel-10.4.4.25-2.zip
View attachment that-kernel-10.4.4.25-2-data2sd.zip (for Data2SD users only)
2013-01-30: Original version (3.1.10that1) without ROW:
View attachment that-kernel-10.4.4.25-1.zip
A version for data2sd users is here -> http://forum.xda-developers.com/showpost.php?p=37392834&postcount=5
Sources:
zImage compiled from stock Asus 10.4.4.25 base with following config and patches:
View attachment config.txt
View attachment ril-include-fix.patch
View attachment fsynccontrol.patch
New in 3.1.10that2 (2013-02-06):
View attachment v4-1-2-block-Adding-ROW-scheduling-algorithm-for-3.1.patch
Boot image repackaged as described here: http://forum.xda-developers.com/showpost.php?p=36925180&postcount=4
(You might now ask "where is the overclocked version"? I decided to start with a known stable base for my first release - if this one turns out to work fine, the oc build comes next.) - for overclocked version, read next post!
Overclocked!
This is 3.1.10that1-oc - the version with clemsyn's overclocking patches. Please note that I only extracted and then applied his patches to the current kernel and typed "make" - I don't understand all the scary frequency and voltage tables, and I don't know how it works in detail. However I got up to 7130 points in this benchmark thingy, and system tuner shows 1.8 GHz, so it appears to do something.
Please note that this is only the kernel, and it does not contain clemsyn's changes for the Asus performance modes. As you may know, the 3 Asus performance modes are activated by running shell scripts in /system/etc named cpu1.sh to cpu3.sh. Clemsyn's kernels replace balanced mode with performance mode, and performance mode with the new overclocked mode. This kernel does not do that, it leaves your modes as they were!
Depending which kernel you were using before, the following will happen:
- Coming from a stock kernel, you keep balanced and performance modes, and the extra overclocking mode can only be activated by executing /system/etc/cpu4.sh. If you want, you can rename cpu2.sh to cpu2_original.sh, cpu3.sh to cpu2.sh and cpu4.sh to cpu3.sh, then you have performance mode as default instead of balanced, and overclocking mode if you activate "performance mode" - same as clemsyn's. If this is too complicated for you, you can either flash clemsyn's kernel directly before this one, or wait until someone repackages this kernel.
- Coming from clemsyn's kernel, performance modes should work as before. Please don't ask me which specific variant of clemsyn's kernels this one is comparable with - he released only one source package, which I used, but many different kernel binaries. I can't recreate other versions without clemsyn releasing sources for those specific versions.
zImage (kernel binary) features:
- all of the above
- Overclocking and voltage control
Ramdisk features:
- same as non-overclocked version
Additional credits:
- clemsyn, for his amazing overclocking kernel
Flashable ZIP:
3.1.10that2-oc with ROW scheduler (2013-02-06):
Internal storage: View attachment 1703857
For Data2SD: View attachment 1704016
3.1.10that1-oc (2013-01-31):
Internal storage: View attachment that-kernel-10.4.4.25-1-oc.zip
For Data2SD: View attachment that-kernel-10.4.4.25-1-oc-data2sd.zip
Sources:
same as non-overclocked version plus this patch extracted from clemsyn's "tfcombofinal" source:
View attachment clemsyn-tfcombofinal-oc.patch
Config: View attachment config.txt
Have fun, and don't fry your tablets!
Excellent work my friend! Will test it out later. :cyclops:
Excellent work my friend...dream comes true. BTW, currently I'm on data2sd, is it possible to make one for data2sd? Thanks.
buhohitr said:
Excellent work my friend...dream comes true. BTW, currently I'm on data2sd, is it possible to make one for data2sd? Thanks.
Click to expand...
Click to collapse
Good idea.
View attachment that-kernel-10.4.4.25-1-data2sd.zip
(Note: This is 100% untested - if you tell me that it works, I'll add it to the OP. ) Now tested by buhohitr, thanks. :good:
Same zImage with the ramdisk from the previous data2sd kernel.
Note: this is not a data2sd installer, it's only a new kernel to drop into an existing data2sd installation.
Working well so far! :good:
_that said:
Good idea.
View attachment 1690048
Note: This is 100% untested - if you tell me that it works, I'll add it to the OP. Same zImage with the ramdisk from the previous data2sd kernel.
Click to expand...
Click to collapse
Great news! Your new data2sd kernel is working very well. All data mountings are correct and fsync is woring wonder! Great job!
1. When PC hook up to device, on PC I see:
a. Internal - ext4 parition on microsdcard
b. Micro - Fat32 partition on microsdcard
c.-SD - Dock SDcard.
2. Disabled fysnc - working wonder, gain 600+ on Quadrant.
I have been using Sandisk Extreme Pro class 10 (95mb/s) and it's very stable (Did not work before with Clemsyn Kernel). With fsync disabled, a gain of 600 point bring Quadrant to 6639 from 5995/6005 without OC. The tablet is super smooth and fast with fsync disabled. I can see the apps are launching faster from stand still, if they already in memory, BAM it's there. Browser also faster, Gallery loaded much faster and I got over 2 thousand pictures. In summary, I'm impress and very happy....just couldn't wait for the OverClock version.. Again, great job _that!! :good::good:
Edit: I will be running this for a week to see if any issue with journaling and fsync disabled on this super fast sdcard. Will report back.
Update 1/30 @ 10:30pm est - After 4 1/2 hrs, this tablet stills running smooth and quick. Very happy with this kind of performance, probably the best to date. What I'm really exciting about is, there still more room for performance....when "_that Overclock kernel" arrived..
tried this on PA, and I get a message, upgrading apps, but then it hangs. Is this to work on all ROMS, or just stock?
gvsukids said:
tried this on PA, and I get a message, upgrading apps, but then it hangs. Is this to work on all ROMS, or just stock?
Click to expand...
Click to collapse
Should be just for stock Cleanrom.
Tried this fantastic kernel in the last 5 hours and it is smooth, had no problem at all. Epic Citadel reports a benchmark of 38.9 fps.
Can't wait to try the OC version of it. Also waiting for the SanDisk Extreme to arrive from Amazon to try out the data2sd too.
Re: [KERNEL] 3.1.10that1 ★ 10.4.4.25 + fsync + ISO9660 + CIFS
I can confirm that data2sd version is working great. Waiting for the OC version. Good job!
So how does one disable fsync?
Flash this kernel, reflash ROM with no kernel option and fsync disable checked, or?
Just flashed this kernel. I have disabled fsync and my tablet has sped up. Thanks for this kernel _that.
---------- Post added at 04:28 PM ---------- Previous post was at 03:34 PM ----------
inSaN1Ty_X said:
So how does one disable fsync?
Flash this kernel, reflash ROM with no kernel option and fsync disable checked, or?
Click to expand...
Click to collapse
1. Reflash CleanRom 3.2.1
2. Disable Fsync during the installer
3. Reboot
4. Wipe Devlink Cache/Cache
5. Flash this kernel
This should disable fsync with this kernel.
Απ: [KERNEL] 3.1.10that1 ★ 10.4.4.25 + fsync + ISO9660 + CIFS
Hello i just want to say thanks, i am using the data2sd version without any problem.
If someone is interested in the kernel changes between 10.4.4.23 and 10.4.4.25 can follow this link to my github.
Looks like Asus has made some changes in the mmc management:
Code:
/*
* SD Workaround: downgrade frequency for seldom specific sdcard
*/
https://github.com/blackmamba97/asus-kernel-tf700t/compare/10.4.4.23...10.4.4.25
@_that I hope its ok that I have used your config because I dont have Cleanrom installed atm and so I cant pull the config.gz
blackmambazzz said:
@_that I hope its ok that I have used your config because I dont have Cleanrom installed atm and so I cant pull the config.gz
Click to expand...
Click to collapse
Sure, that's the point of me publishing all the sources as detailed as I can - take whatever you can use.
By the way, there is a nice script in the kernel sources that extracts a config from a zImage, it's in scripts/extract-ikconfig and you pass a zImage to it as a parameter. Maybe that's useful for you one day.
buhohitr said:
What I'm really exciting about is, there still more room for performance....when "_that Overclock kernel" arrived..
Click to expand...
Click to collapse
myeepad said:
Can't wait to try the OC version of it.
Click to expand...
Click to collapse
ariadnejro said:
Waiting for the OC version.
Click to expand...
Click to collapse
Made for you...
http://forum.xda-developers.com/showpost.php?p=37390637&postcount=2
_that said:
This is 3.1.10that1-oc - the version with clemsyn's overclocking patches. Please note that I only extracted and then applied his patches to the current kernel and typed "make" - I don't understand all the scary frequency and voltage tables, and I don't know how it works in detail. However I got up to 5780 points in this benchmark thingy, and system tuner shows 1.8 GHz, so it appears to do something.
Please note that this is only the kernel, and it does not contain clemsyn's changes for the Asus performance modes. As you may know, the 3 Asus performance modes are activated by running shell scripts in /system/etc named cpu1.sh to cpu3.sh. Clemsyn's kernels replace balanced mode with performance mode, and performance mode with the new overclocked mode. This kernel does not do that, it leaves your modes as they were!
Depending which kernel you were using before, the following will happen:
- Coming from a stock kernel, you keep balanced and performance modes, and the extra overclocking mode can only be activated by executing /system/etc/cpu4.sh. If you want, you can rename cpu2.sh to cpu2_original.sh, cpu3.sh to cpu2.sh and cpu4.sh to cpu3.sh, then you have performance mode as default instead of balanced, and overclocking mode if you activate "performance mode" - same as clemsyn's. If this is too complicated for you, you can either flash clemsyn's kernel directly before this one, or wait until someone repackages this kernel.
- Coming from clemsyn's kernel, performance modes should work as before. Please don't ask me which specific variant of clemsyn's kernels this one is comparable with - he released only one source package, which I used, but many different kernel binaries. I can't recreate other versions without clemsyn releasing sources for those specific versions.
zImage (kernel binary) features:
- all of the above
- Overclocking and voltage control
Ramdisk features:
- same as non-overclocked version
Additional credits:
- clemsyn, for his amazing overclocking kernel
Flashable ZIP:
Internal storage: View attachment 1693162
For Data2SD: View attachment 1693164
Sources:
same as non-overclocked version plus this patch extracted from clemsyn's "tfcombofinal" source:
View attachment 1693163
Config: View attachment 1693166
Have fun, and don't fry your tablets!
Click to expand...
Click to collapse
Excellent. Note I mod Clemsyn's cpu.sh files so that balanced mode is balanced mode which theorectically means I can now make a 1.3 1.8 and a 1.5 1.8 version of this
Off to do some testing.
Looks like Kernel Installer 1.8 is in the making.
I can confirm that oc data2sd version is working great.
Thanks great job :good:
sbdags said:
Excellent. Note I mod Clemsyn's cpu.sh files so that balanced mode is balanced mode which theorectically means I can now make a 1.3 1.8 and a 1.5 1.8 version of this
Off to do some testing.
Looks like Kernel Installer 1.8 is in the making.
Click to expand...
Click to collapse
Nothing like quoting yourself. Yes it works. Now running a 1.3 1.8 GHz version of this kernel
Many thanks _that. Time to thank you with a donation. :good:

[KERNEL] Vengeance r1

Hey all,
This kernel works on stock 4.2 ROM's only.
Disclaimer
This kernel, in any way, won't make your device fly or break antutu charts. What I can only promise is a consistent performance with reliable battery life.
Instructions:
flash zip in recovery
Features:
Integrated CWM
Linaro 4.9.1
kexec hardboot support
Full SELinux Support with upstream fixes
Userspace voltage control
Updated prima wlan with CAF fix for delayed notifications
1.2 GHz max frequency
More GPU clocks with optional overclock to 450 MHz
CAF backport fixes
vibrator intensity control
Kill debug wherever possible to reduce overheads
general tweaks here and there
Note: For full in-depth info, checkout my commits and release notes. I am not huge fan of bloated feature list since end-user may find it too difficult to grasp.
Although every feature is controllable through sysfs, I would still recommend trickster mod or kernel tuner app for tweaking.
Kernel will boot with my recommended settings but you can change them if you know what you're doing.
Download
Source
Release Notes
1. r1
* Initial release
* Hotplug driver: This kernel uses stock mpdecision by qcom. I won't be switching to other custom hotplug driver in a foreseeable future.
* Single initrd: I wasn't happy with standard method of packing two ramdisks inside an initrd. This caused unnecessary cpu overheads while decompressing boot ramdisk especially heavily compressed ones like xz and rewriting data to rootfs /. So I forked a process from init.rc to detect keychecks and exec recovery init from stock initrd itself. This improves upon the situation above by having everything we need in stock initrd itself. Boot times also become relatively shorter. I would recommend kernel developers to switch to this method.
* Kexec Hardboot : zip will automatically install all required kexec binaries.
Place your zImage and ramdisk.img in /sdcard/kexec/* and in terminal type:
do-kexec.sh
kexec -e
* Vibrator intensity control:
sys interface is located at /sys/devices/virtual/timed_output/vibrator/level
* Updated Prima: Stock fw used ancient prima 3.2.1.1h. I upstreamed it to 3.2.2.0 with CAF fix for delayed wifi notifications.
* sched_mc_power_savings = 1
Tries to group tasks into least cores possible. Battery friendly. 1 is moderate. 2 is extreme. 0 disables it.
* Userspace voltage control by @faux123:
I modified the original code by introducing a useful pr_info to actually output voltage change requested in mV. Also some cosmetic conditional and looping changes.
To determine the last voltage change, type dmesg | grep requested
The sys interface is located at:
/sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels.
Sample command to decrease voltages at all frequencies by 10mV
echo "-10000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
By default, kernel comes with 20mV undervolt.
* patch CVE-2014-0196
* add row and sio iosched
* Enable writing to hardware rtc
* More gpu scaling levels : 450 MHz and 128 MHz
* External modules.zip : cifs.ko, ntfs.ko, nls_utf8.ko, hid-sony.ko
* HID driver for Sony / PS2 / PS3 BD devices : hid-sony.ko
ramdisk will automatically insmod it if found.
* VM_MAX_READAHEAD512
* sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
* lib: Update RWSEM to Linux 3.10
* lib/int_sqrt.c: optimize square root algorithm
* enable some more TCP Cong methods
* deadline tweaks
* partially nuke cci stuff
* switch to noatime and nodiratime
This option stops recording the last file access time when the file is just read. The noatime option eliminates all the writes to the disk each time a file was just read which previously used to happen with atime. However a write is made to a disk in case if a file is being changed/written. Easy on cpu and battery.
* tick: Upstream fixes
* xz compression for zImage ( best compression ratio ) and gz for ramdisk
* kill debug such as DETECT_HUNG_TASK, DEBUG_ATOMIC_SLEEP etc. which cause unnecessary CPU overheads
* enable adb RSA authentication
ro.adb.secure=1
* ro.debuggable=1
* Various CAF backport fixes including fixes to SELinux
Please don't ask for:
1. Anything that ends with *to-wake/sleep/dance
Got a bug?
cat dmesg and pastie me.
Credits:
@faux123: for voltage control
@franciscofranco: for some patches I took from his mako repo
@varun.chitre15 : for some patches i took from his caf repo
1.17 fw + vengeance r1 super smoooooth thank you
Great work
Thanks a lot
Sent from my C2105 using XDA Premium 4 mobile app
Ah, another great work from you. Gonna try it tomorrow!
Again, thanks for the work! I'm your loyal kernel-user since i got my miro vengeance-ed
Offline charging was borked due to ramdisk. Links reupdated with fixed version. Also softer vibrate when entering recovery.
Make this kernel available to CM11 4.4.4 KitKat please
Because most of us are currently using CM11
Sparksys said:
Make this kernel available to CM11 4.4.4 KitKat please
Because most of us are currently using CM11
Click to expand...
Click to collapse
although im agree with your comment "Make this available for cm", if there is no devs for JB, then this device will die. Its nice to have someone who still developing JB Kernel
FajarMF28 said:
although im agree with your comment "Make this available for cm", if there is no devs for JB, then this device will die. Its nice to have someone who still developing JB Kernel
Click to expand...
Click to collapse
You are right
Even TZ and phantom must back to support jb
Sent from my Xperia L using XDA Premium 4 mobile app
Great work!!
Hello everyone. I tell them that I decided to try this kernel. Return to the stock ROM, take a few hours and the phone is going well, really feel the change, note the phone faster, more stable, the battery has performed very well so far no trace of the sensor bug the only bad thing as it is that if we turn off the phone's date and time settings are lost.
i need flash external modules too?? *unsure*
for now i flashed vengeance zip only ... how to fix date error?
thedemon786 said:
i need flash external modules too?? *unsure*
for now i flashed vengeance zip only ... how to fix date error?
Click to expand...
Click to collapse
You can read more about external modules in release notes.
Can you clarify a bit more on date issue?
rachitrawat said:
You can read more about external modules in release notes.
Can you clarify a bit more on date issue?
Click to expand...
Click to collapse
i think he mean that
Time and date rest in every reboot
Like is happened before with kk ROMs (just think)
Sent from my Xperia L using XDA Premium 4 mobile app
david makarove said:
i think he mean that
Time and date rest in every reboot
Like is happened before with kk ROMs (just think)
Sent from my Xperia L using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Strange. I just rebooted my phone and there's no reset. Maybe I'll investigate later. I have been busy lately. [emoji1]
i was sent to 1970 LOL ... only at first boot ... its fine now
thedemon786 said:
i was sent to 1970 LOL ... only at first boot ... its fine now
Click to expand...
Click to collapse
Why some heavy 3d games have random stuttering effect after some time of playing them.. (frontline:commando 2 for example)
When i clock it to 1188 it does give me that lag free performance of some heavier games compared to stock kernel. (actuly it gives me the best performance in terms of gaming.... beats almost all other kernels. Even thunderzap and phantom can't reach this type of smoothnes in terms of gaming...but then again its custom 4.4 so i got used to lag).
Games runs amazing on 1188 but after some time it just get random freeze and start stuttering...can't even get to handle my phone to quit from the app because it wont get back to normal)
Any specific solution to this problem?
PS: Im back on stock because it doesn't have this issue with stuttering and if it does it only last for few seconds but the performance is quite lower then vengeance...
vuk030 said:
Why some heavy 3d games have random stuttering effect after some time of playing them.. (frontline:commando 2 for example)
When i clock it to 1188 it does give me that lag free performance of some heavier games compared to stock kernel. (actuly it gives me the best performance in terms of gaming.... beats almost all other kernels. Even thunderzap and phantom can't reach this type of smoothnes in terms of gaming...but then again its custom 4.4 so i got used to lag).
Games runs amazing on 1188 but after some time it just get random freeze and start stuttering...can't even get to handle my phone to quit from the app because it wont get back to normal)
Any specific solution to this problem?
PS: Im back on stock because it doesn't have this issue with stuttering and if it does it only last for few seconds but the performance is quite lower then vengeance...
Click to expand...
Click to collapse
try permormance gov maybe?
thedemon786 said:
try permormance gov maybe?
Click to expand...
Click to collapse
It has nothing to do with gov settings...
I encountered this with older version of phantom or thunderzap for JB also but never had it on kitkat.
Problem is that current kitkat kernels doesn't give that much of a boost in termps of gaming..... (atleast not for me)
I remember Varun mentioning about flashing the kernel immediately after u flash the ROM file, ftf in this case. Try that. Also means you will have to format your device.
Great Kernel
rachitrawat said:
Strange. I just rebooted my phone and there's no reset. Maybe I'll investigate later. I have been busy lately. [emoji1]
Click to expand...
Click to collapse
Greetings friend, I congratulate you for your great contribution, I am testing and everything is going well. In my case also is being presented the problem that I lose the time and date settings every time I reboot the phone. addition also happens that my manager asks me root file permissions every time I go to do some operation (copy, paste, etc.) and folders are appearing very strange names in both internal and external memory. Thanks for your help.
Yep, date and time resetted every boot. Just like the old version of Thunderzap JB bugs. I think Varun has already fixed that.

[Kernel][21.08.2021][4.14.243][Android 11] Kirisakura 1.3.9_R for OP7/Pro aka Guacamole

Kirisakura-Kernel for the One Plus 7 Pro
Hello everyone,
Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!
This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
The only kernels made by OEMs offering this security feature by default are the ones for the Pixel 3, 4 and 5 devices.
The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features.
Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS
If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.
Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the OP7/T/Pro.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. Most OEMs usually stop updating the initial base after the phone is released, and only cherry-pick certain commits to be in line with the android security bulletin.
This kernel focuses amongst the other features to merge CAF-Updates in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.
The EAS implementation from 4.19 CAF (sd865/+) was ported to this kernel. There are several interesting mechanisms qcom worked on. The basic layout of the soc architecture ( 4xLittle- , 3xBig- and 1x Prime-Core(s)) has not changed from SD855 to SD865. That means instead of revolution there was a very nice evolution the scheduler underwent.
The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
Many of the improvements originate from @arter97´s, @kdrag0n´s, @RenderBroken´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
A big thanks to all of them at this place!
Now lets continue with a list of features in the next paragraph!
Main Features:
- Based on latest kernel sources from OnePlus for Android 11 primarily intended for use on OOS stock firmware
- Upstreamed against latest CAF
- Linux-Stable-Upstream included to latest 4.14.243
- compiled with Clang 13.0.1 prebuilt from Google
- built with -O3 speed optimizations
- Link-Time-Optimization (ThinLTO)
- Kernel Control-Flow-Integration (CFI)
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like OnePlus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Anykernel zip is based on the Anykernel3 repo from @osm0sis
- include vDSO 32 patches to improve 32-bit performance
- devfreq backports from 5.4 (sd 888 qcom kernel base)
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- Removed RTB(interrupt) logging entirely
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- fix several coding issues detected by newer Clang-Toolchains
EAS related features:
- EAS scheduler backported from 4.19 CAF and 5.4 CAF / QCOM SOurce(SD865/SD888)
- adjust powerhal to account for scheduler backports
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel
CPU related features:
- dynamic WALT-Windows based on FPS (more information here and here )
- Power saving workingqueues enabled by default (toggleable in EXKM)
have a read here: https://lwn.net/Articles/731052/
this complements EAS in general
- Change various drivers ( MM, audio) to user power efficient workingqueues. This should work well in conjunction with EAS
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- arm64: lse: Prefetch operands to speed up atomic operations
- improve bluetooth performance
- improve /proc performance
- remove VLA-usage (info)
- option to disable touchboost in msm_performance
- disable coresight, enable coresight placeholder and add proper disabled clocks for sd 855
File System related features:
- improve memory allocations in sdcardfs
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- ufs improvements from pixel 4/ pixel 5 kernel
- default IO scheduler to CFQ and readahead to 128
Usability related features:
- High Brightness Mode for increasing backlight level related to brightness accessible via EXKM app
- Vibration Intensity adjustable via EXKM app
- DC Dimming setting now fully functional
- add support for steam controller
- add support for nintendo switch controller
Display related features:
- KCAL to control the display
- KLAPSE integrated
- KCAL/KLAPSE: changes safety measures -> allow completely disabling two RGB values (this was requested to, for example, only have red values on night dimming)
- display tweaks to save power on statically rendered images (taken from samsung galaxy source, which uses a very similar panel)
- improve memory allocation
GPU related features:
- Ability to use the new 675mhz GPU step officially introduced by CAF (OP7/Pro is set to only use 585mhz as max)
more information and benches in the 1.2.0 release post
- add low_prio_worker thread for gpu driver (Improves performance when tearing down processes (eg, via LMK) and not blocking currently running UI from submitting work to the GPU
- remove debugging tracing from GPU driver
- improve memory allocation
Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbrv2 (default to bbr as advised by @kdrag0n )
Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2) (CAF-default)
- Fix various memory leaks in different subsystems
- allow ZRAM to use higher swappiness values than 100
- default ZRAM algorithm set to lz4 (fastest compression/decompression speeds)
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
- possibility to use zstd as default ZRAM compression algorithm ( higher compression ratio, slightly lower compression decompression speed, more information and benchmarks here)
- free up memory by removing unused memory regions from dts
- improved performance for unity based games
- improved lz4 performance
Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message
WLAN Driver:
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load prebuild WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled wlan driver module
- completely removed qcom_rx wakelock in the wlan driver
- removed debugging from wlan driver
- removed logging from wlan driver
Scheduler Setup and Kernel Settings:
- kernel setting get automatically applied at boot
- an AK3 helper module is automatically installed during flashing ( do not remove it in magisk manager)
Misc Features:
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!
Requirements
- unlocked Bootloader
- USB-Debugging in developer options enabled
- latest adb and fastboot binaries
- working adb and fastboot environment
- magisk root
- be aware kernel is primarily made for OOS, certain custom roms might not boot or have features broken
How to flash the Kernel:
1. Download the latest kernel.zip
1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!
1b. Optional: The stock kernel can be restored by either dirty flashing the firmware.zip or by restoring the stock dtbo.img as well as boot.img. Those can be extracted via payload extractor from the firmware.zip.
2. Make sure to use latest Magisk stable.
3. Flash the kernel.zip via latest EXKM or FKM app. Alternatively via TWRP if TWRP is working.
4. Reboot and profit. After flashing the kernel in magisk manager there will be a module called AK3 Helper Module, do not delete it.
DOWNLOAD:
Download is located always in this folder:
Android 11:
Downloads for : -Android- Generic Device/Other | AndroidFileHost.com | Download GApps, Roms, Kernels, Themes, Firmware and more. Free file hosting for all Android developers.
Download GApps, Roms, Kernels, Themes, Firmware, and more. Free file hosting for all Android developers.
www.androidfilehost.com
Android 10:
https://www.androidfilehost.com/?w=files&flid=300422
Android Pie:
https://www.androidfilehost.com/?w=files&flid=294636
Important: Read after Download
Please take a look at the second post after flashing the kernel!
Changelog:
Android 9/Pie
1.0.0 Initial Release
1.2.0 https://forum.xda-developers.com/showpost.php?p=79657888&postcount=133
1.3.0 https://forum.xda-developers.com/showpost.php?p=79681205&postcount=212
1.4.0 https://forum.xda-developers.com/showpost.php?p=79715609&postcount=266
1.5.0 https://forum.xda-developers.com/showpost.php?p=79759064&postcount=369
1.6.0 https://forum.xda-developers.com/showpost.php?p=79812896&postcount=533
1.7.0 https://forum.xda-developers.com/showpost.php?p=79870285&postcount=624
2.0.0 https://forum.xda-developers.com/showpost.php?p=79958105&postcount=732
2.3.0 https://forum.xda-developers.com/showpost.php?p=79994692&postcount=821
2.8.0 https://forum.xda-developers.com/showpost.php?p=80174759&postcount=1003
2.9.0 https://forum.xda-developers.com/showpost.php?p=80246585&postcount=1062
Android 10/Q:
1.0.0 https://forum.xda-developers.com/showpost.php?p=80519841&postcount=1164
1.0.1 https://forum.xda-developers.com/showpost.php?p=80533419&postcount=1186
1.2.0 https://forum.xda-developers.com/showpost.php?p=80606335&postcount=1275
1.3.0 https://forum.xda-developers.com/showpost.php?p=80789819&postcount=1381
1.4.0 https://forum.xda-developers.com/showpost.php?p=81033561&postcount=1472
1.6.0 https://forum.xda-developers.com/showpost.php?p=81399355&postcount=1574
1.7.0 https://forum.xda-developers.com/showpost.php?p=81684441&postcount=1675
1.9.1 https://forum.xda-developers.com/showpost.php?p=82120413&postcount=1737
1.9.7 https://forum.xda-developers.com/showpost.php?p=82743109&postcount=2002
2.0.0 https://forum.xda-developers.com/showpost.php?p=83555997&postcount=2163
Android 11/R
1.1.0_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84786595
1.1.1_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84793145
1.1.3_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84812661
1.1.4_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84853537
1.1.6_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84900619
1.3.9_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-85510637
Donations:
Donations are not mandatory but very welcome!
If you want to support development or just buy me a coffee/tea to get development going: http://paypal.me/freak07
Credits:
@osm0sis for all his work, including the ak2 installer!
@tbalden for being the best HTC wingman!
@LeeDroid for his awesome roms!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@arter97 for giving me advice
@kdrag0n for giving me advice
@topjohnwu for magisk!
@osm0sis for anykernel!
Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_OP7Pro_A11
Kernel Special Features:
Version Information
Status: Stable
Created 2019-05-26
Last Updated 2020-09-26
Question: Is root preserved when flashing this kernel?
Answer: My kernel.zip keeps a device rooted by magisk rooted.
Question: How do I return back to stock kernel?
Answer: Flash boot.img as well as dtbo.img extracted from the full firmware zip.
Question: My WiFi is not working after flashing the kernel. I can´t toggle it on.
Answer: That means something happened to your device, that is causing some stuff to not get loaded properly when booting. I ran into the same issue once. Read through the thread to find the cause.
I wrote a guide in the linked thread, that explains step by step, how to return to a working condition without the need to wipe the phone completely.
Click the following link to find the post: post is linked here
Question: How to report bugs properly?
Answer: Have a look at post #3 in this thread. The linked guide is a pretty good starting point.
Before reporting any bug make sure you´re not using any mods, magisk modules, scripts or other modifications that alter various functions like sound mods etc.
Try to describe the issue as detailed as possible! Give your exact setup, like rom, magisk version, kernel version.
Is the issue reproducible? Does it happen frequently?
Provide logs, otherwise debugging is a lot harder. If you can already reproduce the issue and provide logs it greatly limits the amount of time I have to spent until I figure out how to reproduce it.
If the device force reboots/randomly reboots (that means you see the bootloader unlocked screen!) provide a ramoops file.
Easiest way is immediately after booting up, with a root explorer navigate to sys/fs/pstore. Copy the contents to your internal storage, zip it up and send it to me.
If the issue happens while the device is running provide a dmesg plus a logcat that you take while/shortly after the issue happens. This will log what´s running in the current session. Try to be as detailed as possible what´s happening when the issue appears. It will also help me in reading the log!
To easily get a logcat in case of a crash take a look at this post:
https://forum.xda-developers.com/showpost.php?p=79462002&postcount=1566
Big thanks to @jcmm11 for it
Here´s a tasker task to automatically copy /sys/fs/pstore on each boot to internal storage. Be advised these files get also created on correct reboots.
https://forum.xda-developers.com/showpost.php?p=79549126&postcount=1670
thanks @jsauder2 for this little trick
Useful Resources
How to report bugs:
It is incredibly useful if bug reports are done in a proper way. That saves everyones time and will ultimately lead to a faster bugfix (hopefully).
The following guide from @nathanchance is a very good guideline on how to properly report a bug!
https://github.com/nathanchance/Android-Tools/blob/master/Guides/Proper_Bug_Reporting.txt
How to convert your OP7 Pro to use f2fs on /data:
Do this only if you know what you´re doing. This guide works even on stock rom with stock kernel.
OP7 Pros Kernel as well as the fstab support f2fs by default.
If you´re using Kirisakura-Kernel starting with version 1.5.0 you will use the latest upstreamed f2fs implementation. Otherwise you´re running that´s a bit outdated and also a bit slower.
Google did put a lot of work in f2fs and that benefits here greatly too.
1. Backup your data and transfer it to an external storage device, because we will now erase everything on /data
2. Boot to TWRP
3. Go to Wipe - Advanced Wipe - Select "data" - Change file system - f2fs - confirm <- This will erase all userdata including your internal storage (pictures, videos, music etc)
4. Boot up and set up your device freshly.
5. Enjoy f2fs on your OP7 Pro
Androbench Results:
Stock EXT4 taken from XDA OP7 Pro Review:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
F2FS on Kirisakura 1.5.0
Well, I wasn't planning on unlocking the bootloader in this phone.... Going to now that you're here! Thanks for your hard work
Dude,
So pumped to have you on the OP7Pro! This is shaping up to be a really well supported device!
Sent from my OnePlus7Pro using XDA Labs
So hey everyone
want to lose a few more words here. I spent quite a bit of time getting this up as quickly as possible. I never had an OP device until now. So I needed to get familiar with it and get the hang of it.
I spent quite some hours and most of my free time since thursday, in the hope of getting this up before the weekend ends. Some people I spent less time with, were not quite as happy about this decision, but so be it.
I had quite a bit of experience with the CAF merge from the Pixel 3 XL, that made things a bit more easier and smooth. Upstreaming to latest linux-stable was quite a pain, because there are several commits, which cause the device to boot straight into Qualcomm Crash Dump mode.
In the end I got to 4.14.122
It´s still early here on this forums. So far now use adb sideload to install the kernel. The magisk module needs to be flashed otherwise some things, like accessing battery settings isn´t working, because of selinux-denials. If you can live without it, I´m pretty sure you can run this kernel also unrooted. But for the things I mentioned magisk is required, because you need to flash the companion module.
Once TWRP data decryption works, we can flash the zip simply in TWRP. Once EXKM and FKM are updated, we should be able to flash the zip via the apps too
For now it´s this way
I have a few more plans for this kernel, like wireguard, adding maybe some (not to much) features to it, maybe use f2fs and bringing it to latest state. I´m pretty sure I find more stuff as well.
The kernel is way more snappy than the stock kernel for me. It uses some of the EAS improvements from my Pixel 3/XL kernel, which can be utilized on this newer kernel base as well.
I confirmed it with a few little tests/benchmarks and for me the difference is night and day.
I´m running the device always full resolution and 90fps
If somebody can confirm, this it would be really great
If you encounter bugs, please take a look at post #2 and #3
there is a bit more in the kernel than the pure OP. I´ll update it the next few days
I wish everybody a nice weekend.
Great to see you here on this device!
Welcome to the world of OnePlus! This is my second device from Oneplus and finding it an awesome device. Sad to see HTC go down the tubes.
great to see you here freak!
Great news. Just flashed all working well so far
Great to see you here freak & we all appreciate you giving up your time. I'm staying stock until Stable Twrp is released, but as soon as it is I'll be using your kernel.....
@Freak07,
Never thought there would be a day that we would both be on the same device again.. ( I technically haven't gotten the device yet.. waiting till next month),
But glad you are here man. Your work is awesome... Now I got someone to cherry pick from JK man.............
BTW< stop by Slack every once in a while man.
Looks promising, I'll flash it! Good job!
hey bud message me on telegram guess we meet again lol im working on my stuff now glad to see you here @Freak07 and eleminator
Wow it's so nice to see you here! Never thought I'd see the day haha
Freak07 said:
I have a few more plans for this kernel, like wireguard, adding maybe some (not to much) features to it, bringing f2fs to latest state and I´m pretty sure I find more stuff as well.
Click to expand...
Click to collapse
Hey buddy,
I would love to see WireGuard support as I use it all the time. I much prefer the kernel implementation as it doesn't consume any battery compared to the userspace version which does.
In terms of F2FS are you also going to update in line with how Arter97 does things and also implement his Rapid GC commit and subsequent changes?
https://github.com/arter97/android_...mmit/34a4ea7309f551150628603f7ef71abc25e6b68e
Regards,
Ravi
Sent from my OnePlus7Pro using XDA Labs
Just flashed the kernel and companion module from within ex kernel manager 5.03 without issue. No pc or twrp needed
DC Dimming function in Utility/Oneplus Lab is not working...
Works fine here.

Categories

Resources