Related
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.
GoalsMy 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])
Downloadsfastboot-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 logChange 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
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
Fusion Ultimate Kernel for all Sense-based 4.0.3 ROMs
Latest Version: v3.4 (9/1/12)
Disclaimer:
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you. :P
* blah blah blah you get the point.
*/
As many of you probably already know, I had another 'Fusion' kernel for the S4 HTC One S. However, because I incorporated mdeejay's patches, the kernel did not play nice with the CPU and whatnot. I nuked my repo, imported the T-Mobile US kernel sources, and re-built the kernel from scratch. I wanted to start a new thread so people would not mix up this and the old kernel.
Click to expand...
Click to collapse
Post #1: Release, Features, and Downloads
Post #2: Changelog
Post #3: How to compile from source
Post #4: Frequently Asked Questions
Features
[*]CPU frequency control from 192Mhz 1.89Ghz
[*]your choice of stock or overclock options
[*]universal package
[*]zip package with modified init.qcom.post_boot.sh and thermald.conf
[*]voltage control (use System Tuner Lite/Pro)
[*]SmartassV2, Interactive, Conservative, LagFree, Lionheart, BrazilianWax, Intellidemand, InteractiveX, SavagedZen, and Smartass CPU governors added
[*]Simple IO (SIO) and V(R) scheduler added
[*]capacitive LED lights dimmed to 2mA
[*]improved media scanning times (increased readahead buffer)
[*]good multitasking
[*]enabled zRam (see FAQ for a detailed explanation of what it does)
[*]greatly improved I/O performance (disabled fsync() )
[*]XZ kernel compression
[*]overall good battery life and performance
[*]optimized and tweaked
[*]much more; check the changlog or my GitHub if you want to know the specifics
Click to expand...
Click to collapse
Downloads
Do NOT flash versions 3.0 and higher in recovery!! They are 7zips!!
I purposely made it a 7zip archive so people don't flash it. Instead, extract the appropriate zip from the package and then flash like before. You get options of whether you want overclock or stock clock. The zip will flash the correct files and modules according to your choice and then clean out conflicting init.d scripts for the best possible compatibility.
All Downloads are HERE
How to Install
For hboot 1.09 and below:
Just flash the zip in TWRP recovery. It will automatically flash the boot.img for you.
For hboot 1.13 and up:
you have two options
Option #1
Use TWRP's HTC Dumlock feature. It is a pretty neat workaround that allows you to flash boot.imgs in recovery even on a higher hboot.
Look here for instructions from TeamWin. If you are not comfortable with this method, then follow option #2 to manually flash in fastboot.
Option #2
In addition to flashing the zip, you will have to extract the boot.img from the package and flash it manually with fastboot. Blame HTC for the half-assed 'unlock bootloader' offering they give us. Hopefully we will get S-OFF soon...
Code:
adb reboot bootloader
fastboot flash boot boot.img
fastboot erase cache
fastboot reboot
Look here for a guide.
Sources
initramfs: https://github.com/klin1344/initramfs_ville
kernel: https://github.com/klin1344/kernel_ville_US
Enjoy
Changelog/Complete Feature List
Changelog
v1.0 (Initial Release 7/24/12)
re-wrote overclock code
completely re-based on the TMOUS source
init.d scripts support with Busybox run-parts
overclocked up to 1.89Ghz
added 192Mhz step
added SmartassV2 CPU governor (still finicky; needs more testing)
enabled Conservative and Interactive CPU governors
added SIO scheduler and enabled as default
increased readahead buffer
various tweaks for UI responsiveness
stable
v1.1 (7/27/12)
cleaned up CPU code (all frequency issues should be gone by now; check github for full details)
added LionHeart CPU governor
added LagFree CPU governor
reduced capacitive LED brightness to 2mA (looks better)
tuned Interactive CPU governor parameters
many optimizations; check github for more details if you want
v2.0 (7/29/12)
added voltage control capabilities (use SetCPU or similar app to UV)
cleaned up CPU code again to try to get frequencies to stick
v2.1 (7/31/12)
added V(R) IO scheduler
change to a zip package
modified init.qcom.post_boot.sh and thermald.conf
added modules in the zip so it shouldn't break WiFi on EU ROMs anymore
allowed undervolting minimum of 400mV
tweaked minfree and ADJ values for multitasking and performance; the used values were from the V6 OOM Calculator
Conservative CPU governor as default for battery life (use an app to change it if you want)
defaulted CPU frequencies to 192Mhz 1.5Ghz on boot
v2.2 (8/2/12)
enabled zRam
adjusted VM ratios
added NEON and Snapdragon optimizations
v3.0 (8/8/12)
fixed SmartassV2 for performance and battery life
available with overclock or stock CPU clock
enhanced compatibility with many ROMs
cleaned up post_boot script and many parameters now handled @ kernel
fixed CPU reverting to min 384Mhz
overall much, much cleaner implementation and settings will stay
v3.1 (8/16/12)
a universal package
disabled fsync() for I/O improvement
optimized Ondemand CPU governor settings
v3.2 (8/22/12)
lighter OOM and ADJ settings for better multitasking
v3.3 (8/29/12)
added BrazilianWax, Intellidemand, InteractiveX, SavagedZen, and Smartass (V1) governors
added tun.ko and cifs.ko
XZ kernel compression
optimized SmartassV2 CPU governor
v3.4 (9/1/12)
added wifi module to the zip
tun.ko and cifs.ko now built into kernel
tweaked deadline I/O scheduler for better performance
make kernel use AC charging mode for unknown chargers
various lowmemorykiller fixes
fixed and tweaked a few other things
Click to expand...
Click to collapse
For Developers
How to build this kernel from source:
This is assuming you already have your Linux environment setup and installed the required packages for compiling a kernel.
1. Clone my initramfs and kernel sources.
Code:
git clone git://github.com/klin1344/kernel_ville_US.git
git clone git://github.com/klin1344/initramfs_ville_4.0.3.git
2. Compress the ramdisk into a gzipped archive. First navigate to the initramfs_ville_4.0.3 directory, then:
Code:
find . | cpio -o -H newc | gzip > ../ramdisk.gz
3. Grab the toolchain from DoomLord's handy repo:
Code:
git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
4. I have created an easy build script. Modify the top four lines to be applicable to your setup. Make sure CROSS_COMPILE is set to the directory of the toolchain we just downloaded earlier (there are two; not the Linaro one). And change INITRAMFS_DIR to the directory of the ramdisk.gz you created earlier.
5. Build. First navigate to the kernel_ville_US directory.
Code:
./build.sh ville_defconfig
for the stock option or
Code:
./build.sh ville_oc_defconfig
if you want the overclocked option.
The script will detect the number of cores of your CPU and automatically make with the optimal -j#.
6. If all goes well you should end up with a boot.img in the kernel_ville_US directory.
FAQ.... Please read this before posting questions!!!
FAQ
Frequently asked questions. Please read all of this first, and then if it doesn't answer your question, feel free to ask in the thread. I just don't want to have to keep answering Is this kernel SENSE based? or How do I jailbreak my HTC One S??? type of questions. Lol. :silly: Thank you.
Click to expand...
Click to collapse
What ROMs is this kernel compatible with?
As stated in the OP, this kernel is compatible with all S4 devices running a 4.0.3 Sense-based ROM. It is NOT compatible with the new 2.21 RUU, which is Android 4.0.4 based. We will have to wait until HTC releases the new kernel source because the differences are not only in the initramfs.
What is the best governor for me to use?
It really depends on what you're looking for. If you want performance, go with Lionheart or Ondemand. If you want battery life, go with Conservative. And if you are looking for a balance between battery life and performance, then use either SmartassV2, Interactive, or LagFree. These are just my opinions. Look here for a great reference of all the CPU governors. Test them out and decide which works best for you.
Which I/O scheduler is the best?
I personally use SIO, but you can test and decide which is the best for you. Read here to find the pros and cons of each one.
How do I overclock?
The kernel should default at 192Mhz 1.5Ghz CPU clocks. To overclock, use SetCPU, No-Frills CPU, System Tuner Lite/Pro, or any similar CPU control app. Some apps don't allow the settings to stick properly. I recommend using No-Frills or System Tuner.
How do I undervolt?
Right now, the only app that works for voltage control is System Tuner. Both the Lite and Pro versions allow you to change the voltages. Do not use SetCPU as it doesn't work.
Here is the voltage table I am currently using:
Code:
1890mhz: 1250 mV
1809mhz: 1225 mV
1728mhz: 1200 mV
1674mhz: 1175 mV
1512mhz: 1150 mV
1458mhz: 1137 mV
1404mhz: 1125 mV
1350mhz: 1125 mV
1296mhz: 1100 mV
1242mhz: 1100 mV
1188mhz: 1075 mV
1134mhz: 1075 mV
1080mhz: 1025 mV
1026mhz: 1000 mV
972mhz: 1000 mV
918mhz: 975 mV
864mhz: 975 mV
810mhz: 950 mV
756mhz: 950 mV
702mhz: 900 mV
648mhz: 900 mV
594mhz: 875 mV
540mhz: 850 mV
486mhz: 800 mV
384mhz: 725 mV
192mhz: 650 mV
Please just take these as a grain of salt; not all chips are created equal! Some devices can become an ass when it comes to undervolting, while others can starve the CPU to death and still run fine. Experiment little by little until you find your perfect voltages.
What is zRam and how does it work?
Originally Posted by faux123
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Click to expand...
Click to collapse
WiFi doesn't work???
Flash the alternative modules package in the OP. It is for EU based ROMs as well as MIUI Sense-based. You only need to flash it once, unless you change or update your ROM.
Nice..Will do testing...
Hopefully it give the best battery life than stock
Thank you sir!
(S4) HTC 1s
Here is a zip to flash the kernel! Testing with Axiom S v1.8, will test battery with SmartassV2
nieves53 said:
Here is a zip to flash the kernel! Testing with Axiom S v1.8, will test battery with SmartassV2
Click to expand...
Click to collapse
Thanks. But unfortunately the reason I did not make it a zip is because that some of us who are on hboot 1.13 or higher can't flash boot.img's in TWRP recovery at all. The same goes for radios. I stupidly ran the 1.78 RUU, which update my hboot from 1.09 to 1.13. :crying:
klin1344 said:
Thanks. But unfortunately the reason I did not make it a zip is because that some of us who are on hboot 1.13 or higher can't flash boot.img's in TWRP recovery at all. The same goes for radios. I stupidly ran the 1.78 RUU, which update my hboot from 1.09 to 1.13. :crying:
Click to expand...
Click to collapse
Should have just flashed the radio
How do you like the new radio? I seem to be getting a lot better service and a more stable WiFi connection.
Liking the kernel so far
Sent from my HTC VLE_U using xda premium
Bug I found -
-While install apps it take awhile for it to install. (1mins or 2min). I just phone the sit until it finish install
-After reboot ...the kernel take awhile for it kick in. For example..If you have email it will take awhile to prompt on notication bar .
Is it possible you can post zips for download in the OP? Thanks. Will try tomorrow.
x1tyme said:
Bug I found -
-While install apps it take awhile for it to install. (1mins or 2min). I just phone the sit until it finish install
-After reboot ...the kernel take awhile for it kick in. For example..If you have email it will take awhile to prompt on notication bar .
Click to expand...
Click to collapse
Maybe try wiping data / factory reset? To be honest those sound more like rom issues rather than kernel related issues.
I cannot reproduce it.
Sent from my One S
klin1344 said:
Maybe try wiping data / factory reset? To be honest those sound more like rom issues rather than kernel related issues.
I cannot reproduce it.
Sent from my One S
Click to expand...
Click to collapse
My fault. I was lazy and flash the flashable zip on post #7 and create this error. Reflash rom and fastboot usb and works like a charms..:good:
If you need another guy to test a 4.0.4 Pre-Release...
(i'm under Trick 6.0)
plakers said:
If you need another guy to test a 4.0.4 Pre-Release...
(i'm under Trick 6.0)
Click to expand...
Click to collapse
+1 but the thing is a bit complicated because we need current modules because of better wifi signal.
I guess we'll just have to wait for the new kernel source from 2.21 base
just flashed it with axiom v1.8.0
everything seems to be working fine.. it's fast smooth stable
nice stuff, Klin
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Elloco305 said:
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Click to expand...
Click to collapse
Have anybody experience there screen blink? Or just Rom issue
Sent from my HTC VLE_U using Tapatalk 2
Elloco305 said:
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Click to expand...
Click to collapse
What app are you using? I use No-Frills CPU and it has the "apply on boot" option.
klin1344 said:
What app are you using? I use No-Frills CPU and it has the "apply on boot" option.
Click to expand...
Click to collapse
Setting don't stick after reboot. I'm using setcpu
Also, When I applied this kernel..my screen flick across the screen while exit app (es explorer)
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
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)
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")
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
Now I ask myself why Asus released a bad source code lol?
maxrdlf95 said:
Thanks so much for the RIL patch that seems like fixed my compiling problems lets see
Click to expand...
Click to collapse
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.
maxrdlf95 said:
IM just a noob here trying to compile and learn hehe
Click to expand...
Click to collapse
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.
maxrdlf95 said:
Now I ask myself why Asus released a bad source code lol?
Click to expand...
Click to collapse
Maybe they are using an older compiler that behaves differently.
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: 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
To install this kernel, do I need to flash both the flash zip and the patch for sbdags' Asus stock rom . I have a US bootloader and a WW rom
lartomar2002 said:
To install this kernel, do I need to flash both the flash zip and the patch for sbdags' Asus stock rom . I have a US bootloader and a WW rom
Click to expand...
Click to collapse
Which patch for sbdags' stock ROM?
_that said:
Which patch for sbdags' stock ROM?
Click to expand...
Click to collapse
In the OP the line just brlow where the krrnel flash zip is.
lartomar2002 said:
In the OP the line just brlow where the krrnel flash zip is.
Click to expand...
Click to collapse
That patch has nothing to do with sdbags roms,that patch contains all the changes made to the original kernel and it's for development only (you can apply that patch to the original or own 4.2.1 kernel source).
Pretoriano80 said:
That patch has nothing to do with sdbags roms,that patch contains all the changes made to the original kernel and it's for development only (you can apply that patch to the original or own 4.2.1 kernel source).
Click to expand...
Click to collapse
Ok, so I only need to flash the kernel zip for 4.2?
lartomar2002 said:
Ok, so I only need to flash the kernel zip for 4.2?
Click to expand...
Click to collapse
Yes.Keep in mind that after flashing the kernel the DPI will be set to 160.
Pretoriano80 said:
Yes.Keep in mind that after flashing the kernel the DPI will be set to 160.
Click to expand...
Click to collapse
In other words: either not be old or have your reading glasses at hand?
Not here. DPI is still at 240.
Flashed kernel, UV 75mV and all looks ok. :good:
Pretoriano80 said:
Yes.Keep in mind that after flashing the kernel the DPI will be set to 160.
Click to expand...
Click to collapse
Snah001 said:
Not here. DPI is still at 240.
Flashed kernel, UV 75mV and all looks ok. :good:
Click to expand...
Click to collapse
Flashed on top of the original Asus 10.6.1.14.4 firmware?
Pretoriano80 said:
Flashed on top of the original Asus 10.6.1.14.4 firmware?
Click to expand...
Click to collapse
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?
Pretoriano80 said:
Flashed on top of the original Asus 10.6.1.14.4 firmware?
Click to expand...
Click to collapse
Yes, just flashed kernel as always
Sent from my Asus Infinity TF700 with Dock
Does anyone have the md5 handy for the kernel zip? Thanks in advanced...
Sent from my ASUS Transformer Pad TF700T using Tapatalk HD
calvinb1 said:
Does anyone have the md5 handy for the kernel zip? Thanks in advanced...
Sent from my ASUS Transformer Pad TF700T using Tapatalk HD
Click to expand...
Click to collapse
This
abbea13a9c1f9efa46fd4235a6a2f1b9
eckka said:
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?
Click to expand...
Click to collapse
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.
calvinb1 said:
Does anyone have the md5 handy for the kernel zip? Thanks in advanced...
Click to expand...
Click to collapse
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.
So what iwant is just that, modfy -something- in my rom .zip so every time someone install it the KSM will be enabled by default. The rom is CyanogenMod 7.2 (Android 2.3.7). Thanks
You'd need to actually download your kernel sources, enable KSM in the menuconfig and compile the kernel.
It's a kernel feature, it says KERNEL samepage merging