• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[KERNEL][STOCK|CROMI] that11 » stock++ kernel

Search This thread

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,821
4,208
Introduction

This kernel is designed to be more stable than the stock kernel, with more features and more performance. Choose any three. :)
I do not include any changes that have no clear positive effect on these goals.


Features

zImage (kernel binary) features:
- Asus 10.6.1.14.10 base
- Support for Samsung's F2FS filesystem (experimental) and exFAT
- ISO 9660 + UDF support (CD/DVD filesystems)
- CIFS (for mounting Windows shares)
- BFQ I/O scheduler (http://algo.ing.unimo.it/people/paolo/disk_sched/) v7r5; ROW I/O scheduler v4 (https://patchwork.kernel.org/patch/1862241/) and "deadline" is also available
- fsync control (echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled)
- Overclocking up to 1800 MHz, based on clemsyn's patch, configurable clock frequencies for balanced and performance mode
- User voltage control for undervolting
- Crash fixes when reading various files in /sys
- mount space hack from http://forum.xda-developers.com/show...php?p=36889027 allows mounting across Android processes again (e.g. using CIFS Manager)
- NFS v3/v4 client (supports files > 2 GB)
- NFS v3/v4 server as module (untested, needs userspace tools which I haven't yet compiled)
- Framebuffer console at boot (Android penguins!)
- Keyboard dock: support for F1-F12 function keys, special key mappings for CyanogenMod and GNU/Linux (Esc, Insert, Delete, Alt, Windows)
- Support for various USB Ethernet adapters and FTDI serial port adapters
- Kexec-able and able to kexec other kernels
- SELinux is not included for compatibility with the stock ROM's proprietary NTFS and exFAT drivers
- Tethering via dock USB port (untested), see http://forum.xda-developers.com/showpost.php?p=52917184&postcount=2740

Ramdisk features:
- adbd with root access enabled in default.prop, ro.secure=0
- optimized mount options (noauto_da_alloc)
- init.d script support
- USB IDs for all Tegra 3 based Transformer models (init.xx.rc)
- does not set lcd_density (dpi unlocked), must/can be set in /system/build.prop instead
- preinit system for easy ramdisk customization without repacking or reflashing the kernel: if exists, runs a custom script "/system/boot/preinit" before Android init, e.g. for adding Data2SD detection, ROM2SD, etc.
- File-system auto-detection for use in preinit scripts


Installation/Download

Flash the zip in recovery and reboot; the bootloader will move the kernel to its final place while showing a blue progress bar.

Compatibility
This kernel is compatible with the 10.6.1.14.x bootloaders and stock-based (Asus Android 4.2.1) ROMs that set lcd_density (dpi) in build.prop - in other words, this is the preferred kernel for CleanROM Inheritance. :) It also works with other ROMs up to Android 4.4 (requires a preinit script to provide the corresponding ramdisk files). The kernel is derived from the original TF700T sources but is known to work also on the TF300.

MD5 sum:
You don't need an MD5 sum. Enable "Zip file signature verification" in TWRP instead - it checks the SHA1 checksum embedded in the archive, which is both more secure and more convenient.

Download the latest version here -> http://forum.xda-developers.com/showpost.php?p=55513454&postcount=484

Credits

- Linux kernel devs and Asus for the base
- Gentoo devs for their easy "crossdev" toolchain-generation tool
- scrosler for the original CleanROM
- sbdags for CleanROM Inheritance
- Ezekeel for the fsynccontrol patch (http://rootzwiki.com/topic/14685-kernel27-jul-glados-v20-for-jb/page__st__700#entry607555)
- faux123 for the user voltage control patch
- clemsyn for the overclocking patch. I still use his frequency and voltage tables but rewrote the EDP handling.
- Hundsbuah for decoding the EDP limit tables and finding an f2fs patch that applies cleanly to our kernel
- cogano for improving the dock key mapping for native Linux
- wenchien for cherry-picking lots of f2fs updates from later kernels

Development Info

Guide for unpacking and repacking kernel blobs and boot images -> http://forum.xda-developers.com/showpost.php?p=36925180&postcount=4


XDA:DevDB Information
_that-kernel, Kernel for the Asus Transformer TF700

Contributors
_that
Kernel Special Features: Stock kernel with more stability, more features and more performance. Choose any three. :)

Version Information
Status: Stable
Current Stable Version: that11
Stable Release Date: 2014-09-17
Current Beta Version: that11
Beta Release Date: 2014-09-17

Created 2014-02-17
Last Updated 2014-10-14
 
Last edited:

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,821
4,208
Changelog/History

2014-09-17: 3.1.10-that11
New features:
- enable tethering via dock USB port (untested)
- fix for the Towelroot exploit
- lots of f2fs updates from mainline kernel, thanks to wenchien
- new BFQ (budget fair queueing) I/O scheduler
- added FTDI USB serial support
- exFAT filesystem support from Samsung
download -> http://forum.xda-developers.com/showpost.php?p=55513454&postcount=484


2014-05-14: 3.1.10-that10
New features:
- Removed the special overclocking mode (system_mode 3) - instead, clock speeds for balanced and performance modes are now user-configurable.
- More options for dock key mapping for GNU/Linux and autorepeat
- File system auto-detection in init for use in preinit script
download -> http://forum.xda-developers.com/showpost.php?p=52659251&postcount=446


2014-03-29: 3.1.10-10.6.1.14.10-that9-oc
New features:
- Dock function keys and CyanogenMod-compatible mode for dock keys
- Support for various USB Ethernet adapters
download -> http://forum.xda-developers.com/showpost.php?p=51486800&postcount=414


2014-02-17: 3.1.10-10.6.1.14.10-that8-oc
New features:
- F2FS (Flash Friendly) filesystem by Samsung (experimental, may eat your data)
- USB mass storage support (needs a computer that understands ext4 (i.e. Linux))
- Enabled dual filenames on FAT filesystems for compatibility with some devices
download -> http://forum.xda-developers.com/showpost.php?p=50408485&postcount=396


2013-11-22: 3.1.10-10.6.1.14.10-that7-oc
Security config options disabled to restore compatibility with proprietary exFAT/NTFS modules. Details and download -> http://forum.xda-developers.com/showpost.php?p=47743629&postcount=358

The Data2SD auto-detection add-on is here: http://forum.xda-developers.com/showpost.php?p=40522097&postcount=56
Or if you prefer Data2SD with internal /sdcard: http://forum.xda-developers.com/showpost.php?p=41305526&postcount=159
(these add-ons are unchanged since they were released, so if you already have them installed, you don't need to reinstall when updating the kernel)


2013-11-11: 3.1.10-10.6.1.14.10-that6-oc
Now with 100% more penguins! Get it here -> http://forum.xda-developers.com/showpost.php?p=47361802&postcount=325


2013-09-06: 3.1.10-10.6.1.14.8-that5-oc
Overclocking is back! Get the new version here -> http://forum.xda-developers.com/showpost.php?p=45332265&postcount=263


2013-07-03: 3.1.10-10.6.1.14.8-that4
The latest version is here -> http://forum.xda-developers.com/showpost.php?p=43199757&postcount=237

New kernel features since -that2
- rebased on Asus source release 10.6.1.14.8
- mount space hack from http://forum.xda-developers.com/show...php?p=36889027 allows mounting across Android processes again (e.g. using CIFS Manager)
- some more sysfs crash fixes
- "deadline" I/O scheduler added (default is still ROW)
- NFS v3/v4 client (supports files > 2 GB)
- NFS v3/v4 server as module (untested, needs userspace tools which I haven't yet compiled)

New ramdisk features since -that2
- fstab: optimized mount options (added noauto_da_alloc)
- added init.xx.rc files for other Transformer models


2013-06-25: 3.1.10-10.6.1.14.8-that3

preview release, see http://forum.xda-developers.com/showpost.php?p=42915255&postcount=201


2013-04-11: 3.1.10-10.6.1.14.4-that2
The Asus source release was surprisingly fast this time. I ported all my popular non-intrusive stock kernel improvements (http://forum.xda-developers.com/showthread.php?t=2125783) and recompiled the kernel. Special thanks to buhohitr for testing this release!

I couldn't get the framebuffer console to work, so no UltraCleanROM support for now. :(

(-that2 downloads deleted)
 
Last edited:

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,821
4,208
Documentation

This kernel supports a few additional parameters. As usual these can be set from a root shell or an init script - for details how to do that, read a tutorial about using the Unix/Linux command line.

fsync
To turn off fsync (warning: read this and this before):
Code:
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled
To turn it on, write 1 instead of 0.

Clock speeds and overclocking
Note that the special overclocked system_mode 3 has been removed in -that10. There are now only 3 modes, as in the stock kernel (powersave, balanced, performance). To enable overclocking beyond 1700 MHz (or 1600 MHz for more than one core), you need to override the EDP limit:
Code:
echo 1 > /sys/module/cpu_tegra/parameters/override_edp
To set clock speeds for balanced and performance mode, for example:
Code:
echo 1300 > /sys/module/cpu_tegra/parameters/override_mhz_bal
echo 1800 > /sys/module/cpu_tegra/parameters/override_mhz_perf

User voltage control
works exactly like in upstream implementation - ask me to update this if you want to know more. :)

Keyboard dock tweaks
CyanogenMod has a slightly different mapping for some of the dock function keys. To enable compatibility with CM and CM-based ROMs:
Code:
echo 1 > /sys/module/asusdec/parameters/cm_mode
Function keys F1 to F12 can be entered using right Alt/AltGr and the keys from "Toggle WiFi" to "Next Track". This might only work in native Linux and maybe CM.

For native Linux users, I added additional parameters:
Code:
echo $flags > /sys/module/asusdec/parameters/key_flags
echo 1 > /sys/module/asusdec/parameters/key_autorepeat
where $flags is a number between 0 and 15, by combining these bit flags:
1 = inverts the meaning of Alt for function keys (F1-F12 without Alt, and special functions with Alt. Also, Mute is Insert and Lock is Delete.)
2 = Back is Esc
4 = Search is left Alt
8 = Home is left Windows (aka "Meta" aka "Super_L")
 
Last edited:

maxrdlf95

Senior Member
Sep 8, 2012
953
391
USA
Thanks so much for the RIL patch that seems like fixed my compiling problems lets see

IM just a noob here trying to compile and learn hehe:victory:

EDIT: Yes it compiled :D

Now I ask myself why Asus released a bad source code lol?
 
  • Like
Reactions: bmlarson

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,821
4,208
Thanks so much for the RIL patch that seems like fixed my compiling problems lets see

The RIL include fix is old news - it was already required in the 10.4.4.x kernel, and it's published in my 10.4.4.25 kernel release thread.

IM just a noob here trying to compile and learn hehe

Learning by doing is still the best way. If you manage to get your own kernel installed and running (if not, read my blob repacking guide), then you have definitely left the "n00b" status. :)

Now I ask myself why Asus released a bad source code lol?

Maybe they are using an older compiler that behaves differently.
 

maxrdlf95

Senior Member
Sep 8, 2012
953
391
USA
Thanks man I already knew how to make the blob file and put the signing in, I used to help clemsyn packing its kernel when he didnt have time and well I did it tonight :good::cool: I compile my kernel thanks now will learn how to make it with linaro

EDIT:

P.D I left the n00b status some time ago lol
 

Attachments

  • Screenshot_2013-04-11-02-14-16.jpg
    Screenshot_2013-04-11-02-14-16.jpg
    23.3 KB · Views: 2,120

eckka

Senior Member
Aug 24, 2008
130
80
Adelaide
Flashed on top of the original Asus 10.6.1.14.4 firmware?

I had already changed the build prop file to set dpi to 213 and when I flashed this new kernel it held the setting.

Obviously if you edit the build prop file then your setting remains however if you haven't then maybe it will change to 160. This I'm not sure about since if the default set by stock ROM is 240 and this is what we edit, why would it change to 160? :confused:
 

calvinb1

Senior Member
Feb 19, 2008
442
145
Does anyone have the md5 handy for the kernel zip? Thanks in advanced...

Sent from my ASUS Transformer Pad TF700T using Tapatalk HD
 

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,821
4,208
Obviously if you edit the build prop file then your setting remains however if you haven't then maybe it will change to 160. This I'm not sure about since if the default set by stock ROM is 240 and this is what we edit, why would it change to 160? :confused:

For some unknown reason, the default build.prop on the TF700 contains the line "ro.sf.lcd_density=160" - the correct 240 dpi is set by the stock kernel's ramdisk. I removed the latter, so the setting in build.prop takes effect.

Does anyone have the md5 handy for the kernel zip? Thanks in advanced...

Ah, I forgot to mention this, which I now added to the OP:

You don't need an MD5 sum. Enable "Zip file signature verification" in TWRP instead - it checks the SHA1 checksum embedded in the archive, which is both more secure and more convenient.
 
  • Like
Reactions: calvinb1

Top Liked Posts

  • There are no posts matching your filters.
  • 56
    Introduction

    This kernel is designed to be more stable than the stock kernel, with more features and more performance. Choose any three. :)
    I do not include any changes that have no clear positive effect on these goals.


    Features

    zImage (kernel binary) features:
    - Asus 10.6.1.14.10 base
    - Support for Samsung's F2FS filesystem (experimental) and exFAT
    - ISO 9660 + UDF support (CD/DVD filesystems)
    - CIFS (for mounting Windows shares)
    - BFQ I/O scheduler (http://algo.ing.unimo.it/people/paolo/disk_sched/) v7r5; ROW I/O scheduler v4 (https://patchwork.kernel.org/patch/1862241/) and "deadline" is also available
    - fsync control (echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled)
    - Overclocking up to 1800 MHz, based on clemsyn's patch, configurable clock frequencies for balanced and performance mode
    - User voltage control for undervolting
    - Crash fixes when reading various files in /sys
    - mount space hack from http://forum.xda-developers.com/show...php?p=36889027 allows mounting across Android processes again (e.g. using CIFS Manager)
    - NFS v3/v4 client (supports files > 2 GB)
    - NFS v3/v4 server as module (untested, needs userspace tools which I haven't yet compiled)
    - Framebuffer console at boot (Android penguins!)
    - Keyboard dock: support for F1-F12 function keys, special key mappings for CyanogenMod and GNU/Linux (Esc, Insert, Delete, Alt, Windows)
    - Support for various USB Ethernet adapters and FTDI serial port adapters
    - Kexec-able and able to kexec other kernels
    - SELinux is not included for compatibility with the stock ROM's proprietary NTFS and exFAT drivers
    - Tethering via dock USB port (untested), see http://forum.xda-developers.com/showpost.php?p=52917184&postcount=2740

    Ramdisk features:
    - adbd with root access enabled in default.prop, ro.secure=0
    - optimized mount options (noauto_da_alloc)
    - init.d script support
    - USB IDs for all Tegra 3 based Transformer models (init.xx.rc)
    - does not set lcd_density (dpi unlocked), must/can be set in /system/build.prop instead
    - preinit system for easy ramdisk customization without repacking or reflashing the kernel: if exists, runs a custom script "/system/boot/preinit" before Android init, e.g. for adding Data2SD detection, ROM2SD, etc.
    - File-system auto-detection for use in preinit scripts


    Installation/Download

    Flash the zip in recovery and reboot; the bootloader will move the kernel to its final place while showing a blue progress bar.

    Compatibility
    This kernel is compatible with the 10.6.1.14.x bootloaders and stock-based (Asus Android 4.2.1) ROMs that set lcd_density (dpi) in build.prop - in other words, this is the preferred kernel for CleanROM Inheritance. :) It also works with other ROMs up to Android 4.4 (requires a preinit script to provide the corresponding ramdisk files). The kernel is derived from the original TF700T sources but is known to work also on the TF300.

    MD5 sum:
    You don't need an MD5 sum. Enable "Zip file signature verification" in TWRP instead - it checks the SHA1 checksum embedded in the archive, which is both more secure and more convenient.

    Download the latest version here -> http://forum.xda-developers.com/showpost.php?p=55513454&postcount=484

    Credits

    - Linux kernel devs and Asus for the base
    - Gentoo devs for their easy "crossdev" toolchain-generation tool
    - scrosler for the original CleanROM
    - sbdags for CleanROM Inheritance
    - Ezekeel for the fsynccontrol patch (http://rootzwiki.com/topic/14685-kernel27-jul-glados-v20-for-jb/page__st__700#entry607555)
    - faux123 for the user voltage control patch
    - clemsyn for the overclocking patch. I still use his frequency and voltage tables but rewrote the EDP handling.
    - Hundsbuah for decoding the EDP limit tables and finding an f2fs patch that applies cleanly to our kernel
    - cogano for improving the dock key mapping for native Linux
    - wenchien for cherry-picking lots of f2fs updates from later kernels

    Development Info

    Guide for unpacking and repacking kernel blobs and boot images -> http://forum.xda-developers.com/showpost.php?p=36925180&postcount=4


    XDA:DevDB Information
    _that-kernel, Kernel for the Asus Transformer TF700

    Contributors
    _that
    Kernel Special Features: Stock kernel with more stability, more features and more performance. Choose any three. :)

    Version Information
    Status: Stable
    Current Stable Version: that11
    Stable Release Date: 2014-09-17
    Current Beta Version: that11
    Beta Release Date: 2014-09-17

    Created 2014-02-17
    Last Updated 2014-10-14
    22
    Again more than a full month without any posts, it's really too quiet here.

    What about a new test kernel? What about "still near 100% stock, but faster"? What about 1800 MHz CPU (*4) and 650 MHz GPU? What about the return of the secret 4th speed mode? And what about kexec-hardboot (untested)?

    It's still not as fast as Hundsbuah's and probably will never be, but maybe you still like it. Note that you use it on your own risk - I have been running it for a day now and it's stable for me, even after torturing it with benchmarks. YMMV, but have fun. :)

    Flashable ZIP: View attachment kernel-10.6.1.14.8-that5-oc.zip

    Source code patches (sorry for the mess, but I am currently too lazy to clean up my commit history in this branch): View attachment patches.zip

    For a more balanced experience, "performance mode" is limited to 1.5 GHz. To enable overclocking, run /etc/cpu4.sh and ignore the error message about enable_3d_scaling.
    19
    New release: -that9

    Lots of things have happened in the last few weeks, and there are already several pre-releases in circulation - time for an official release!

    New features:
    - Dock key compatibility with CyanogenMod can be enabled by writing "1" to /sys/module/asusdec/parameters/cm_mode. This restores functionality of the "trackpad toggle", "auto-brightness" and "settings" keys in CM and CM-based ROMs.
    - Dock keys in the first row from "WiFi toggle" to "Next Track" together with Shift are mapped to F1 to F12. May only work with native Linux or CM.
    - Support for USB Ethernet adapters based on the Asix AX88179 chip. I backported the driver from 3.14-rc6, but it is still buggy. It works, but very slowly and with many error messages in the kernel log.
    - Support for USB Ethernet adapters based on DM9601 (untested, someone asked for this).

    Bug fix:
    - The custom preinit binary failed to reset the kernel log level back to 7 if there was no preinit script in /system/boot, leading to empty /proc/last_kmsg after a reboot. This has been fixed.

    Also new:
    - The kernel is now compressed with LZMA to make the image smaller, so it can also be packaged with TWRP to produce a F2FS-compatible recovery.
    - New ZIP installer using a shell script as update-binary, ZIP compressed with 7zip and signed with a new signing process
    - The source code is finally available on github: https://github.com/that1/android_kernel_asus_tf700t with tags for this and all previous releases. Note that if you release a self-compiled kernel based on my sources, it's your responsibility to comply with the GPL - at the minimum you must include a link to the specific commit that represents the source version you used to compile.

    Known issues and incompatibilities:
    - The preinit script fails to run on CROMBi-kk due to issues with dynamically linked programs. It should work with a statically linked busybox.
    - SELinux is not enabled to keep compatibility with the proprietary NTFS and ExFAT modules used by the stock ROM.
    - Boot and recovery partitions are not exposed, so if this kernel is used for running a recovery, it can't backup or restore these partitions.

    Flashable ZIP: View attachment kernel-10.6.1.14.10-that9-oc.zip

    Source code patches (ignore if you don't want to recompile the kernel): View attachment patches.zip
    16
    Version 11

    Version 11 is here!

    - enable tethering via dock USB port (untested), see http://forum.xda-developers.com/showpost.php?p=52917184&postcount=2740
    - fix for the Towelroot exploit
    - lots of f2fs updates from mainline kernel, thanks to @wenchien
    - new BFQ (budget fair queueing) I/O scheduler from http://algo.ing.unimo.it/people/paolo/disk_sched/
    - added FTDI USB serial support (for Arduino fans)
    - exFAT filesystem support from Samsung

    Flashable ZIP: View attachment kernel-that11.zip

    As usual, this kernel is compatible "out of the box" with the stock ROM and stock-derived ROMs such as CROMi-X. If you're running CROMBi-kk or ZOMBi-X, just wait for the next version of these ROMs to include this kernel update.

    Source code: https://github.com/that1/android_kernel_asus_tf700t/releases/tag/release-that11 - Note that if you release a self-compiled kernel based on my sources, it's your responsibility to comply with the GPL - at the minimum you must include a link to the specific commit that represents the source version you used to compile.
    16
    Release -that10

    Have fun with this new kernel release!

    New features:
    - Simplified version number - I don't expect any further updates from Asus, so the Asus build number has become irrelevant.
    - Removed the special overclocking mode (system_mode 3) - instead, clock speeds for balanced and performance modes are now user-configurable.
    - More options for dock key mapping for GNU/Linux and autorepeat, thanks to @cogano for inspiration
    - File system auto-detection in init for use in preinit script (using CONFIG_DEVTMPFS)

    More detailed documentation for the new features: http://forum.xda-developers.com/showpost.php?p=40168242&postcount=3

    Flashable ZIP: View attachment kernel-that10.zip

    Source code: https://github.com/that1/android_kernel_asus_tf700t/releases/tag/release-that10 - Note that if you release a self-compiled kernel based on my sources, it's your responsibility to comply with the GPL - at the minimum you must include a link to the specific commit that represents the source version you used to compile.