Hi! Here is the NaHCO₃ Kernel for Nexus 9.
NaHCO₃ is a Hybird Kernel. It has some backported optimizations and features from newer Linux and some amazing features done by other developers. I like to apply patches from the famous devs like @imoseyon, @flar2, @faux123 and @franciscofranco. So I appreciate them very much.
This Kernel is Linux 3.10.42, and has these features/optimizations:
1: Faux123:
(1) PowerSuspend 1.5 -- a replacement of Android's earlysuspend driver (default: Hybird)
(2) Intelli_Plug 4.0 -- a CPU Hotplug driver (default: disabled)
(3) IntelliActive -- a replacement of InterActive CPU Governor (default: enabled)
(4) dm-crypt Optimization -- Multithread
2: Flar2
(1) Wake Gestures -- a merge/improvement of show-p1984's Sweep2Wake and Doubletap to wake (default: dt2w)
(2) ElementalX CPU Governor -- Initial release for Tegra (default: off. gboost on)
(3) USB Fast Charge -- 0.5Ah~0.9Ah (default: off)
(4) Kernel Mode NEON/LZ4 Compression/LZ4 ZRAM.
Thanks @flar2 so much. I don't know anything about LZ4 ZRAM except backporting Linux 3.15's ZRAM before finding his commit:
https://github.com/flar2/ElementalX-N9/commit/2ddccd7d825af924868c38c9a144c88a82ea5872
(5) /dev/frandom -- super fast random generator
3: USBhost
(1) Unlock 2Ah charging is implemented by him!
4: imoseyon
(1) /dev/random optimization
(2) His lk.ramdisk's features.....
5: Backported features:
(1) SELinux Optimizations (See Git Commits)
(2) SCHED Optimizations (See Git Commits)
(3) TCP Auto Corking (Linux 3.14) (See What's this?)
(4) LZ4 Fixes (See Git Commits)
(5) TCP Slow Start Optimizations (See Git Commits)
(6) Update all the TCP Congestion Modes (See Git Commits)
(7) Fiops I/O Sched.
Git Source:
Device Tree/Ramdisk: https://github.com/xiaolvmu/flounder-tree
Kernel: https://github.com/xiaolvmu/flounder-kernel
Downloads:
AndroidFileHost: N2.4.img
use
fastboot flash boot N2.4.img to load it
How to make your own kernel for Nexus 9:
(1) Compile the source. Then you'll be able to find Image.gz-dtb in arch/arm64/boot.
(2) Download abootimg:
For Ubuntu: sudo apt-get install abootimg
man abootimg and learn how to use it.
(3) The boot images compiled in a Full ROM Source is start with a magic code:
"ANDROID!"
However the Nexus 9 stock boot image isn't. If you want to unpack it, you'll need to skip all the codes before "ANDROID!"
For our Nexus 9, simply:
dd if=boot.img.stock of=boot.img.skip bs=1 skip=256
(4) Unpack the boot image:
abootimg -x boot.img.skip
Then you'll be able to see bootimg.cfg (config), initrd.img (ramdisk).
(5) Delete the stock zImage, replace it with your own zImage (Image.gz-dtb)
(6) Now, run this:
abootimg --create newboot.img -f bootimg.cfg -k Image.gz-dtb -r initrd.img
If it reports size errors, you'll have to convert the new size number (decimal) to hex.
(7) For Linux, if you want to convert decimal to hex or hex to decimal, use ibase/obase:
echo "ibase=16; hex"|bc
echo "obase=16; decimal"|bc
(8) Then create the kernel again.
If you want to more customizations to ramdisk, use Android Image Kitchen
(9) adb reboot bootloader
fastboot flash boot newboot.img
(10) Reboot and enjoy your own Kernel! :) :D
XDA:DevDB Information
NaHCO₃ for Nexus 9 [Hybird Version], Kernel for the Nexus 9
Contributors
xiaolvmu, faux123, flar2, USBhost
Kernel Special Features: intelli_plug(faux123), 2A charging(USBhost), USB fastchg, PowerSuspend(faux123), intelliactive(faux123), Wake Gestures(flar2), Backported TCP Cong(Linux 3.14), LZ4(Linux 3.15-3.18), NEON, Optimzed dm-crypt(faux123), (f)random, TCP Auto Corking(Linux 3.18)
Version Information
Status: Stable
Current Stable Version: 2.4
Created 2015-07-30
Last Updated 2015-07-30
Aucun commentaire:
Enregistrer un commentaire