[Kernel] Devil2-2.3.2 [4.3/4.4] - Linaro 4.8.3 - Dualboot - 02/01

Search This thread

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,368
27,668
This Kernel is based off the sources of AndreiLux Perseus Kernel (alpha35).
If you consider to thank me, please also consider to thank him http://xdaforums.com/showthread.php?t=1927852

This kernel only supports roms of android version 4.3 (sammy and aosp) and above!


if you were using this kernel on aosp based roms, and want to use another kernel, you need to reflash the rom, of course without any wipe, it's just to restore modified files

Features (changes compared to Perseus):
- merges samsung open source update12
- dual sound engine
- compiled with linaro gcc 4.8.3
- updated Linux Kernel base to 3.0.101
-zram, zsmalloc and lowmemorykiller updated from 3.9
- DevilQ cpu governor (default)
- block updated from Linux 3.3 (better i/o performance)
- row i/o scheduler updated from Linux 3.4
- fiops v2 i/o scheduler
- working for Aosp and Sammy at once (Big thx to Gokhanmoral for making this possible)
- Portet Ezekeel's Touchwake Feature (from nexus s)
- Oc up to 1.8 Ghz
- Backport from Linux 3.5 smp driver parts
- Wifi driver updated from note3
- backported zswap from linux 3.13 (this replaces zram now)
- backported cpu-boost driver
- possibility to set high/low power mode for wifi when screen is off
- LulzactiveQ cpu governor (from siyahkernel, thx again to Gokhanmoral)
- Hotplug Cpu Governor
- Proportional Rate Reduction for TCP
http://kernelnewbies.org/Linux_3.2#head-1c3e71416a9fdc2f59c1c251a97963f165302b6e
- improve memcopy/memmove
- Using Voodoo Sound and Boeffla Sound
- LED Control by yank555-lu
- ExFat support (thx to samsung for opensourcing the driver)

if your rom is based off PAC, Bam, Fusion, ... :
IMPORTANT: As per notice of 01.11.2013, my CM10.2 kernels do NOT support proprietary Custom Rom frameworks anymore. So if your Custom Rom did not implement the generic framework class framework-2.jar but his own naming convention, you will receive a boot loop. Do not cry about this here but advise your Custom rom cooker to fix this. I will not change this ever again.
The most prominent custom kernels for CM will follow the same approach (aligned between Yank555, Googy, LordBoeffla, Psndna, Temasek and me).

So please do pass this message along to your favorite ROM devs.
If they don't fix their rom, it won't be compatible with custom kernels any more!

Kernel app http://xdaforums.com/showthread.php?p=41346443#post41346443


Dualboot Faq:
For more detailed instructions, please take a look at this thread from RichMd (thank you for it):
Dualboot Faq thread

Important: if you want to use this kernel for dualboot, i highly recommend flashing my recovery as well.

General information about the recovery:
dualboot menu.
in this menu you can:
* create the secondary system partition (needed to be run once, if you want to install a second rom)

Install-zip menu:
you'll notice there is a new menu, where to select what you want to flash.
  • if you select kernel, rom or recovery, the zip gets installed as it is.
  • if you select zipt to pri./sec. filesystem, it is selfexplanary
  • if you select rom to secondary fs, the zip gets modified to install to the sec. fs. IF YOU WANT TO INSTALL IT TO PRIMARY FS LATER SOME TIME, YOU NEED TO REDOWNLOAD THE FILE!
  • if you select rom to primary filesystem, it gets installed there, and you can use the same zip later again.

How to install a second rom:
make sure you have already created ssecondary system partition! if not, go to dualboot menu and create it now (this may take some minutes)
  • The savest way is the way by using nandroids: if you don't have a nandroid already, create one now. Then just select your backup, and restore it to secondary filesystem.
    you now should already be able to boot into primary or secondary rom (which are both the same now).
    now you can install any other rom as primary.
  • if you want to install a new rom directly as secondary,
    make sure there are no spaces in the filename!,
    then just go to install zip. you'll notice there's a new menu at some point.
    in this menu you can select where you want to install, and what type of file it is.
    if you choose rom to sec. fs, your zip files itself gets modified to be installed to secondary fs. this may take a minute, because the files needs to get zipped again. Imporant: this file is permanently modified. if you think you need it later again, you should redownload it, because the modified one would always install as secondary.

    installing a rom as primary, a zip to primary or zip to secondary fs, does not modify the zip.


Additional information:
  • roms coming with an aroma installer are hard to handle, as every dev can place own commands into it. It's impossible for me, to take care of every possibility. Because of this, it should be the best method, to flash a rom with aroma installer as primary one (and then move it to secondary, by using the nandroid method, if you want it to be secondary).

Many Thanks to:
- RichMD (I wouldn't have this device without him)
- Gokhanmoral
- Andreilux
- DAGr8
- simone201
- ptmr3
- Stratosk
- RolluS
- kasper_h
- all the others mentioned in the changelogs

N7100 users please use the N7100 kernel
N7105, At&T + Tmo users please use the t0lte Kernel
 

Attachments

  • Devil-n7100-DUAL-0.41.0_20131024.zip
    7 MB · Views: 13,006
  • Devil-t0lte-DUAL-0.41.0_20131024.zip
    7 MB · Views: 6,703
  • Devil-n7100-recovery-signed.zip
    6.9 MB · Views: 8,705
  • Devil-t0lte-recovery-signed.zip
    6.8 MB · Views: 6,716
  • Devil2-2.3.2-n7100-DUAL-20140102.zip
    6.5 MB · Views: 15,039
  • Devil2-2.3.2-t0lte-DUAL-20140102.zip
    6.9 MB · Views: 15,448
Last edited:

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,368
27,668
Changelog:
02.01.2014:
+ merged mk9 source drop
+ fixed usb connection
+ fixed execution of some init.d scripts
+ changed calculation of next freq in pegasusq (based off a commit by stratosk to ondemand governor, which giot merged into linux 3.11)
+ fixed gyroscope sensor again
+ reverted Sec Oom Killer (maybe causeing some random reboots)
+ switched to latest linaro toolchain (4.8.3 of 12/2013)

26.12.2013:
+ fixed video recording on aosp roms

25.12.2013:
+ cleanly merged update13 (thx to yank555-lu), my previous merge was messed up
+ addded async fsync by htc (ported by faux123)
+ fixed sensors again :p

24.12.2013:
+ merged samsung update13
+ switched back to O2 compiling mode (smaller kernel image, maybe better stability)
+ hardware keys backlight options working for samsung roms as well now
+ re-added oc up to 2 ghz (for those whos device can handle this, mostly added for note2)
+ re-added devil kernel boot logo
+ updated adbd binary to get rid of countless errors in logcat
+ reverted some config changes which may have introduced gpu crashes

12.12.2013:
+ samsung 4.3 roms: added new additional mountpoint for external sdcard ( /extSdCard)
+ aosp 4.4.x roms: export path of external storage, needed by some apis
+ merged samsung update for note2 (contains fixes for memory management, mali driver, lowmem killer option SEC_OOM_KILLER, new modem driver, ...)
+ backported cpu boost driver
Code:
When certain bursty and important events take place, it might take a while
for the current cpufreq governor to notice the new load and react to it.
That would result in poor user experience. To alleviate this, the cpu-boost
driver boosts the frequency of a CPU for a short duration to maintain good
user experience while the governor catches up.

Specifically, this commit deals with ensuring that when "important" tasks
migrate from a fast CPU to a slow CPU, the frequency of the slow CPU is
boosted to be at least as high as the fast CPU for a short duration.

Since this driver enforces the boost by hooking into standard cpufreq
ADJUST notifiers, it has several advantages:
- More portable across kernel versions where the cpufreq internals might
  have been rewritten.
- Governor agnostic and hence works with multiple governors like
  conservative, ondemand, interactive, etc.
- Does not affect the sampling period/logic of existing governors.
- Can have the boost period adjusted independent of governor sampling
  period.
+ improve swap per google's suggestion
+ enabled SEC_OOM_KILLER:
Code:
          This enables 'Android-Style oom-killer'
          The way to select victim by oom-killer provided by
          linux kernel is totally different from android policy.
          Hence, it makes more sense that we select the oom victim
          as android does when LMK is invoked.
+ switched to zswap (backported from linux 3.13) + vnswap instead of zram

03.12.2013:
+ gpu control: voltages are applied as deltas internally (no noticable change for users, this just was needed for the second change below)
+ gpu control: if gpu freq. gets changed by user, only reset its matching voltage, all other voltages stay untouched.
+ reverted adb binary to the one from samsung's 4.3 release (seems to be the most compatible and should fix some mtp issues)
+ disabled: swap, zram, zcache, cleancache and frontswap to see if this fixes lags for some users

30.11.2013 part2:
+ fixed boot for omni rom again

29.11.2013 part2:
+ fixed apllying of custom gpu voltage
+ removed intellyplug driver (wasn't working properly, consumed much battery, made boot up take longer and it was unstable)

29.11.2013:
+ added support for omni rom (primary or secondary)
+ fixed: secondary rom no longer stuck at max freq.
+ n7100: fixed gps
+ gpu control: automatically set voltages according to changend freq (ported from yank555-lu), you can apply your own voltages after you have changed all freq (changing a freq, causes the voltages to be reset again)

recovery: bug fixes, to be sure never to wipe/backup/restore the wrong filesystem

24.11.2013:
+ partial updated mali driver from SEA update 1 (this also fixes a typo in original implementation)
+ properly applied dualsound engine support, boeffla and scoobidoo (unlike other devs, this implementation only allows one sound mod to be active at a time. if you switch on boeffla (in boeffla app for example), scoobidoo gets disabled automatically. if you turn on scoobydoo in deviltools (new option), boeffla gets disabled automatically)
+ fixed hardware keys backlight settings and added more options to Deviltools
+ small mdnie related corrections
+ added gpu control, needs to be set manually for now.
+ ARM: SMP: use a timing out completion for cpu hotplug
+ init.d support for sammy 4.3
+ dualboot support for all supported roms (i couldnt try this. be careful!)

21.11.2013
kernel:
+ merged samsung update12
+ updated wifi driver from note3

recovery:
+ fixed installing zips
+ added support for android 4.4

24.10.2013
+ backport interacctive governor from googles linux 3.4 kernel source + enabled it
+ updated zzmove cpu governor
+ cpufreq: Save and restore min and max frequencies.
+ cpufreq: Save user policy min/max instead of policy min/max during hotplug
+ cpufreq: Only apply driver limits for scaling_min/max_freq writes
+ linux 3.0.101 (last update)

22.10.2013
+ revert: zram: use zram->lock to protect zram_free_page() in swap free notify path
+ added support for latest cm nightlies
+ some cleanup by removing non used code

20.10.2013
+ linux 3.0.100
+ added support for pac rom
+ reverted some autohotplug related commits which aren't useful if there are only governors with own hotplug logic
+ reverted cpu oc from 2000 to 1800 (stability testing in connection to undervolting)
+ zram: use zram->lock to protect zram_free_page() in swap free notify path (thx to stsdema28 for suggeting this patch)
+ some patches to improve general swap performance (especially zram)
+ minor update to block kernel subsystem (io schedulers)

03.10.2013
+ linux 3.0.98
+ fixed zram kernel crashes
+ fixed triangle away (thx ckh469)
+ memcopy improvement (also thx to ckh469)

30.09.2013
+ linux 3.0.97
+ added additional sysfs for controling vibration on 4.2.2 roms by using device settings or devil tools
+ zram: re-added code for using multiple cores for (de)compression, which should be significantly faster now
+ zram: upstreamed to linux 3.12
+ zcache: fix booting by syncing code with faux123
+ re-enabled cleancache
+ block/io-schedulers: big update to row and cfq scheduler from linux 3.4 (thx to andreilux for squashing the commits)
+ fixed adb root options after data wipe
+ added options to turn of hardwarekeys backlight on screen touch, thx to yank555-lu (for now, this isn't added to deviltools, please see below for the sysfs path/command)
this doesn't affect samsung roms!
* /sys/class/sec/sec_touchkey/touch_led_handling (rw)
*
* 0 - handled by ROM (newer CM10.2, default)
* 1 - handled by kernel (older CM10.2)
*
* /sys/class/sec/sec_touchkey/touch_led_on_screen_touch (rw)
*
* 0 - hardware keys backlight only lights up if h/w keys are used
* 1 - hardware keys backlight lights up if h/w keys are used or screen is touched (default)

18.08.2013
- added exfat support
- support for android 3.4 (only primary rom or single boot)
- linux 3.0.91

10.08.2013
- fixed sysfs of led control to be readable/writable by deviltools
- re fixed mtp/ums and adb root

09.08.2013
- backported zram_for_android from linux 3.4 (i9500) and enabled it again
- updated zram to latest official version (linux 3.11
- updated android binder driver
- added led control by yank555-lu

05.08.2013
- linux 3.0.89
- disabled uksm (cam failure on i9300)
- updated/backported zsmalloc, zram and lowmemorykiller from 3.9 (disabled zcache and zram_for_android because of this)
- fixed a bug in ashem driver, caused by samsung, which could lead to deadlocks
- mmc: fix the workqueue overload battery waste (thx to aagit)
- fixed adb root
- fixed mtp/ums issues after wipe

31.07.2013
- updated to linux 3.0.88
- added andreilux's abb control
- updated and activated zram (thx to yank555), zcache, cleancache and frontswap (most probably not very important on note2)
- enabled uksm by default (http://www.phoronix.com/scan.php?page=news_item&px=MTEzMTI)
- added experimental support for android 4.3 (only i9300 for now)
- reduced wifi wakelocks a little bit more

25.0.7.2013
- cpufreq: zzmoove governor 0.6 (thx to zanezam)
- include most of touchwake 1.1 changes. thanks to yank555-lu
- bcmdhd: update back to version used by andreilux. …
big thx to xda forum member gondsman: http://xdaforums.com/member.php?u=3740419 (this should drastically reduce wifi wakelocks)

24.07.2013
- reverted compiler option "optimze_for_size" to fix cam on aosp roms

23.07.2013
reverted wifi driver to cm version, to fix wifi tethering, additional disabled multicast in suspend for power savings

22.07.2013
- linux 3.0.86
- disable touchwake during call
- se linux support
- wifi driver from andreilux sammy kernel (should reduce wakelocks)

27.06.2013
- linux 3.0.83
- fixed mounting of internal sdcard on secondary 4.2.2 aosp roms
- reverted JRcu
- dyn fsync updates from faux123
- two upstream fixes to row i/o scheduler
- added latest cm changes (UMS: f_mass_storage: Added cdrom option to UMS-lun-devices, Samsung i9300 Update 10)

12.06.2013
- linux 3.0.81
- fixed internal storage on 4.2.2 secondary roms
- reverted cpufreq driver back to "default", to try fixing being stuck at max. freq for some users

06.06.2013
- merged update9 changes from cm team
- wifi changes which hopefully reduce wakeup time
- built nfs as module (was built-in before)

29.05.2013
- update to linux 3.0.80
- reverted a commit from 3.0.79 which caused the cpu to be stuck at max. freq
- fix touchwake/proximity sensor for i9300
- cpufreq: fix handling of offline cpus
- dynamic fsync: fixes from faux123, to prevent data loss, in case of kernel panic/unexpected shutdown
- CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug (from francisco franco)
- freezer: allow tasks to be frozen faster (1ms if possible, instead of 10 ms)
- freezer: skip waking up tasks with PF_FREEZER_SKIP set, to make suspend/resume more efficient
- t0ltecdma: fixed sprint compatibility

15.05.2013

important: please uncheck in deviltools to apply settings on boot! gpu voltage changes would cause the device to freeze on startup!

- reverted gpu voltage to be displayed as before (this fixes incompatibility with trickstermod or other apps)
- DevilQ: turn/keep second core online on screen touch
- add PM_SUSPEND_FREEZE powerr state (if used, it does save little less power, but PM_SUSPEND_FREEZE has less resume latency
•Erik Gilling - sync: don't log wait timeouts when timeout = 0
•Ørjan Eide - sync: Fix race condition between merge and signal
•Erik Gilling - sync: add Documentation/sync.txt
•Erik Gilling - sync: add tracepoint support
•Erik Gilling - sync: refactor sync debug printing
•Erik Gilling - sync: use proper barriers when waiting indefinitely
•Erik Gilling - sync: update new fence status with sync_fence_signal_pt
•Erik Gilling - sync: protect unlocked access to fence status
•Erik Gilling - sync: dump sync state of fence errors
•Erik Gilling - sync: improve timeout dumps
•Erik Gilling - sync: use correct signed type when handling SYNC_IOC_WAIT
•Erik Gilling - sync: dump sync state to console on timeout
•Erik Gilling - sync: clean up compiler warnings
•Erik Gilling - sync: fix erase-o in sync_fence_wait
•Erik Gilling - sync: change wait timeout to mirror poll semantics
•Rebecca Schultz Zavin - sync: Fix error paths
•Erik Gilling - sync: add reference counting to timelines
•Erik Gilling - sync: add internal refcounting to fences
•Erik Gilling - sync: optimize fence merges
•Erik Gilling - sync: reorder sync_fence_release
•Erik Gilling - sync: export sync API symbols
•Erik Gilling - sync: allow async waits to be canceled
- ext4: prevent kernel panic in case of uninitialized jinode
- mutex: dynamically disable mutex spinning at high load Date Thu, 4 Ap… … (faux123)
- mutex: restrict mutex spinning to only one task per mutex … (Waiman Long)
- mutex: Make more scalable by doing less atomic operations … (Waiman Long)
- hrtimer: Prevent enqueue of hrtimer on dead CPU When switching the hr… … (franciscofranco)
- hrtimer: Consider preemption when migrating hrtimer cpu_bases When sw… … (franciscofranco)
- fs/buffer.c: remove redundant initialization in alloc_page_buffers() … … (clouds-yan)
- time: cast ->raw_interval to u64 to avoid shift overflow We fixed a b… … (faux123)
- vmscan: comment too_many_isolated() Comment "Why it's doing so" rathe… … (Wu Fengguang)
- mm/vmscan.c: avoid possible deadlock caused by too_many_isolated() Ne… … (Wu Fengguang)
- input: evdev: Move wake_lock_destroy call … (halaszk)
- wakelock: use single threaded workqueueus … (halaszk)

12.05.2013
- linux 3.0.78
- added own cpu governor, DevilQ (based off lulzactiveq by gokhanmoral)
- improved touchwake (acting like swipe2wake now, if delay is set to 0, to prevent false wake ups)
- pegasusq: readd some of andreilux's changes
- gpu: allow oc up to 800 mhz
- added option to disable touch boost
- updated wifi driver from s4 (commit by cm team)
- disabled swap, zram and cleancache

28.04.2013
- linux 3.0.75
- fixed cam preview on note2 lte
- new tunables for pegasusq:
* early_demand: to enable this functionality (disabled by default). ( echo 1 > sys/devices/system/cpu/cpufreq/pegasusq/early_demand, to enable it. 0 disables it)
* grad_up_threshold: over this gradient of load we will increase
frequency immediately. ( echo xx > sys/devices/system/cpu/cpufreq/pegasusq/grad_up_threshold, to set value. xx has to be betwenn 11 and 100, default 50)

27.04.2013
- updated block to linux 3.3
- updated row i/o scheduler to linux 3.4
- added fiops v2 i/o schedler

25.04.2013
- readded gokhanmorals sammy/aosp mod more cleanly
- lulzactiveq: small fixes
- cpufreq_pegasusq.c: revert to stock
- Enabled AIO support
- improved aio: Asynchronous I/O latency to a solid-state disk greatly increased between the 2.6.32 and 3.0 kernels. By removing the plug from do_io_submit(), we observed a 34% improvement in the I/O latency.
- added zzmoove governor

- Andreilux:
* mdnie-control: Digital brightness control
* s6e8aa0: Allow manual brightness to 300 candela
* ARM: decompressor: Enable unaligned memory access for v6 and above


19.04.2013:
- Fixed patch: "LOAD_FREQ (4.61 s) avoids loadavg Moire (thx to Klaus Ripke)", many thx to AndreiLux for pointing and fixing this
- Added Franciscofranco's Touch Boost Control (input boost frq., when screen touched can be set with trickster mod app), including the additions from simone201, but fixed to not beeing stuck at high freq.
- removed LCDFreq scaling mechanism (using touch boost instead)
- fixed charging while device off
- applied a bluetooth patch from cm (might help with bt issues some users were reporting)

more to come ...
 
Last edited:

slick4mitch

Senior Member
Oct 11, 2009
955
316
The t0lte kernel is just 116kb? Hmm, weird.

Edit: It is 7.7MB now, I guess you were still uploading it since it was showing 116kb, it's all good now, no biggie ;)
 
Last edited:

diamantericos

Senior Member
Jan 2, 2011
1,638
259
Aosp and Sammy at once means it's truly dual boot am I correct ?

Sent from my SGH-T889 using xda premium
 

YourCancer01

Senior Member
Sep 5, 2012
142
22
Hey how is this I think I am going to flash it but debating on a phew right now

Sent from my GT-N7105 using xda premium
 

otisman

Senior Member
May 12, 2012
2,440
3,029
Working unreal on ATT beanstalk asop 4.2.2 much alohas

Sent from my GT-N7105 using Xparent Red Tapatalk 2
 
  • Like
Reactions: durrty_r3dd

kashortiexda

Senior Member
Jan 12, 2011
1,431
893
flashed latest 7100 kernel on MIUI V5 3.4.12, working well so far, will test throughout today and report back...
Vodoo sound app pro says module not loaded... I guess this means control of Vodoo sound is done through Trickster control app only ??

Sent from my GT-N7100 using Tapatalk 2
 

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,368
27,668
yeah i downloaded that too...i just also happened to have the official voodoo sound app so i opened that one..and it said unsupported

It's the voodoo implementation which is named scoobydoo_sound. You can change the name of the sysfs to voodoo_sound, if you do the following :

echo 0 > sys/devices/virtual/misc/scoobydoo_sound_control/enable

echo voodoo_sound > sys/devices/virtual/misc/scoobydoo_sound_control/enable

After that you can use voodoo app
Gesendet von meinem GT-N7105 mit Tapatalk 2
 

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,368
27,668
Everything working nicely for N7100 version on TW rom. Is it possible to add features like swipe to wake.

I had added it, but it was only working by using a wakelock, which means no deep sleep. Hence I thought, touchwake is more useful, as it only sets a wakelock for the time you specify it.
Maybe I could modify it, to act like s2w, if the time is set to unlimited. I'll check this

Gesendet von meinem GT-N7105 mit Tapatalk 2
 

Bajanman

Retired Forum Moderator
Jun 17, 2009
8,897
9,577
Los Angeles Ca.
Nice job, going to have to give this one a whirl!! Have been following, lurking on the Thread that richMd started. :thumbup: dual boot
And I know this kernel, it's only going to get better & better with time
Thanx for all your hard work and time on this..

Just my 2¢® :cool:

Sent from my SAMSUNG-SGH-I317 using Xparent SkyBlue Tapatalk 2
 

Top Liked Posts

  • There are no posts matching your filters.
  • 593
    This Kernel is based off the sources of AndreiLux Perseus Kernel (alpha35).
    If you consider to thank me, please also consider to thank him http://xdaforums.com/showthread.php?t=1927852

    This kernel only supports roms of android version 4.3 (sammy and aosp) and above!


    if you were using this kernel on aosp based roms, and want to use another kernel, you need to reflash the rom, of course without any wipe, it's just to restore modified files

    Features (changes compared to Perseus):
    - merges samsung open source update12
    - dual sound engine
    - compiled with linaro gcc 4.8.3
    - updated Linux Kernel base to 3.0.101
    -zram, zsmalloc and lowmemorykiller updated from 3.9
    - DevilQ cpu governor (default)
    - block updated from Linux 3.3 (better i/o performance)
    - row i/o scheduler updated from Linux 3.4
    - fiops v2 i/o scheduler
    - working for Aosp and Sammy at once (Big thx to Gokhanmoral for making this possible)
    - Portet Ezekeel's Touchwake Feature (from nexus s)
    - Oc up to 1.8 Ghz
    - Backport from Linux 3.5 smp driver parts
    - Wifi driver updated from note3
    - backported zswap from linux 3.13 (this replaces zram now)
    - backported cpu-boost driver
    - possibility to set high/low power mode for wifi when screen is off
    - LulzactiveQ cpu governor (from siyahkernel, thx again to Gokhanmoral)
    - Hotplug Cpu Governor
    - Proportional Rate Reduction for TCP
    http://kernelnewbies.org/Linux_3.2#head-1c3e71416a9fdc2f59c1c251a97963f165302b6e
    - improve memcopy/memmove
    - Using Voodoo Sound and Boeffla Sound
    - LED Control by yank555-lu
    - ExFat support (thx to samsung for opensourcing the driver)

    if your rom is based off PAC, Bam, Fusion, ... :
    IMPORTANT: As per notice of 01.11.2013, my CM10.2 kernels do NOT support proprietary Custom Rom frameworks anymore. So if your Custom Rom did not implement the generic framework class framework-2.jar but his own naming convention, you will receive a boot loop. Do not cry about this here but advise your Custom rom cooker to fix this. I will not change this ever again.
    The most prominent custom kernels for CM will follow the same approach (aligned between Yank555, Googy, LordBoeffla, Psndna, Temasek and me).

    So please do pass this message along to your favorite ROM devs.
    If they don't fix their rom, it won't be compatible with custom kernels any more!

    Kernel app http://xdaforums.com/showthread.php?p=41346443#post41346443


    Dualboot Faq:
    For more detailed instructions, please take a look at this thread from RichMd (thank you for it):
    Dualboot Faq thread

    Important: if you want to use this kernel for dualboot, i highly recommend flashing my recovery as well.

    General information about the recovery:
    dualboot menu.
    in this menu you can:
    * create the secondary system partition (needed to be run once, if you want to install a second rom)

    Install-zip menu:
    you'll notice there is a new menu, where to select what you want to flash.
    • if you select kernel, rom or recovery, the zip gets installed as it is.
    • if you select zipt to pri./sec. filesystem, it is selfexplanary
    • if you select rom to secondary fs, the zip gets modified to install to the sec. fs. IF YOU WANT TO INSTALL IT TO PRIMARY FS LATER SOME TIME, YOU NEED TO REDOWNLOAD THE FILE!
    • if you select rom to primary filesystem, it gets installed there, and you can use the same zip later again.

    How to install a second rom:
    make sure you have already created ssecondary system partition! if not, go to dualboot menu and create it now (this may take some minutes)
    • The savest way is the way by using nandroids: if you don't have a nandroid already, create one now. Then just select your backup, and restore it to secondary filesystem.
      you now should already be able to boot into primary or secondary rom (which are both the same now).
      now you can install any other rom as primary.
    • if you want to install a new rom directly as secondary,
      make sure there are no spaces in the filename!,
      then just go to install zip. you'll notice there's a new menu at some point.
      in this menu you can select where you want to install, and what type of file it is.
      if you choose rom to sec. fs, your zip files itself gets modified to be installed to secondary fs. this may take a minute, because the files needs to get zipped again. Imporant: this file is permanently modified. if you think you need it later again, you should redownload it, because the modified one would always install as secondary.

      installing a rom as primary, a zip to primary or zip to secondary fs, does not modify the zip.


    Additional information:
    • roms coming with an aroma installer are hard to handle, as every dev can place own commands into it. It's impossible for me, to take care of every possibility. Because of this, it should be the best method, to flash a rom with aroma installer as primary one (and then move it to secondary, by using the nandroid method, if you want it to be secondary).

    Many Thanks to:
    - RichMD (I wouldn't have this device without him)
    - Gokhanmoral
    - Andreilux
    - DAGr8
    - simone201
    - ptmr3
    - Stratosk
    - RolluS
    - kasper_h
    - all the others mentioned in the changelogs

    N7100 users please use the N7100 kernel
    N7105, At&T + Tmo users please use the t0lte Kernel
    140
    Changelog:
    02.01.2014:
    + merged mk9 source drop
    + fixed usb connection
    + fixed execution of some init.d scripts
    + changed calculation of next freq in pegasusq (based off a commit by stratosk to ondemand governor, which giot merged into linux 3.11)
    + fixed gyroscope sensor again
    + reverted Sec Oom Killer (maybe causeing some random reboots)
    + switched to latest linaro toolchain (4.8.3 of 12/2013)

    26.12.2013:
    + fixed video recording on aosp roms

    25.12.2013:
    + cleanly merged update13 (thx to yank555-lu), my previous merge was messed up
    + addded async fsync by htc (ported by faux123)
    + fixed sensors again :p

    24.12.2013:
    + merged samsung update13
    + switched back to O2 compiling mode (smaller kernel image, maybe better stability)
    + hardware keys backlight options working for samsung roms as well now
    + re-added oc up to 2 ghz (for those whos device can handle this, mostly added for note2)
    + re-added devil kernel boot logo
    + updated adbd binary to get rid of countless errors in logcat
    + reverted some config changes which may have introduced gpu crashes

    12.12.2013:
    + samsung 4.3 roms: added new additional mountpoint for external sdcard ( /extSdCard)
    + aosp 4.4.x roms: export path of external storage, needed by some apis
    + merged samsung update for note2 (contains fixes for memory management, mali driver, lowmem killer option SEC_OOM_KILLER, new modem driver, ...)
    + backported cpu boost driver
    Code:
    When certain bursty and important events take place, it might take a while
    for the current cpufreq governor to notice the new load and react to it.
    That would result in poor user experience. To alleviate this, the cpu-boost
    driver boosts the frequency of a CPU for a short duration to maintain good
    user experience while the governor catches up.
    
    Specifically, this commit deals with ensuring that when "important" tasks
    migrate from a fast CPU to a slow CPU, the frequency of the slow CPU is
    boosted to be at least as high as the fast CPU for a short duration.
    
    Since this driver enforces the boost by hooking into standard cpufreq
    ADJUST notifiers, it has several advantages:
    - More portable across kernel versions where the cpufreq internals might
      have been rewritten.
    - Governor agnostic and hence works with multiple governors like
      conservative, ondemand, interactive, etc.
    - Does not affect the sampling period/logic of existing governors.
    - Can have the boost period adjusted independent of governor sampling
      period.
    + improve swap per google's suggestion
    + enabled SEC_OOM_KILLER:
    Code:
              This enables 'Android-Style oom-killer'
              The way to select victim by oom-killer provided by
              linux kernel is totally different from android policy.
              Hence, it makes more sense that we select the oom victim
              as android does when LMK is invoked.
    + switched to zswap (backported from linux 3.13) + vnswap instead of zram

    03.12.2013:
    + gpu control: voltages are applied as deltas internally (no noticable change for users, this just was needed for the second change below)
    + gpu control: if gpu freq. gets changed by user, only reset its matching voltage, all other voltages stay untouched.
    + reverted adb binary to the one from samsung's 4.3 release (seems to be the most compatible and should fix some mtp issues)
    + disabled: swap, zram, zcache, cleancache and frontswap to see if this fixes lags for some users

    30.11.2013 part2:
    + fixed boot for omni rom again

    29.11.2013 part2:
    + fixed apllying of custom gpu voltage
    + removed intellyplug driver (wasn't working properly, consumed much battery, made boot up take longer and it was unstable)

    29.11.2013:
    + added support for omni rom (primary or secondary)
    + fixed: secondary rom no longer stuck at max freq.
    + n7100: fixed gps
    + gpu control: automatically set voltages according to changend freq (ported from yank555-lu), you can apply your own voltages after you have changed all freq (changing a freq, causes the voltages to be reset again)

    recovery: bug fixes, to be sure never to wipe/backup/restore the wrong filesystem

    24.11.2013:
    + partial updated mali driver from SEA update 1 (this also fixes a typo in original implementation)
    + properly applied dualsound engine support, boeffla and scoobidoo (unlike other devs, this implementation only allows one sound mod to be active at a time. if you switch on boeffla (in boeffla app for example), scoobidoo gets disabled automatically. if you turn on scoobydoo in deviltools (new option), boeffla gets disabled automatically)
    + fixed hardware keys backlight settings and added more options to Deviltools
    + small mdnie related corrections
    + added gpu control, needs to be set manually for now.
    + ARM: SMP: use a timing out completion for cpu hotplug
    + init.d support for sammy 4.3
    + dualboot support for all supported roms (i couldnt try this. be careful!)

    21.11.2013
    kernel:
    + merged samsung update12
    + updated wifi driver from note3

    recovery:
    + fixed installing zips
    + added support for android 4.4

    24.10.2013
    + backport interacctive governor from googles linux 3.4 kernel source + enabled it
    + updated zzmove cpu governor
    + cpufreq: Save and restore min and max frequencies.
    + cpufreq: Save user policy min/max instead of policy min/max during hotplug
    + cpufreq: Only apply driver limits for scaling_min/max_freq writes
    + linux 3.0.101 (last update)

    22.10.2013
    + revert: zram: use zram->lock to protect zram_free_page() in swap free notify path
    + added support for latest cm nightlies
    + some cleanup by removing non used code

    20.10.2013
    + linux 3.0.100
    + added support for pac rom
    + reverted some autohotplug related commits which aren't useful if there are only governors with own hotplug logic
    + reverted cpu oc from 2000 to 1800 (stability testing in connection to undervolting)
    + zram: use zram->lock to protect zram_free_page() in swap free notify path (thx to stsdema28 for suggeting this patch)
    + some patches to improve general swap performance (especially zram)
    + minor update to block kernel subsystem (io schedulers)

    03.10.2013
    + linux 3.0.98
    + fixed zram kernel crashes
    + fixed triangle away (thx ckh469)
    + memcopy improvement (also thx to ckh469)

    30.09.2013
    + linux 3.0.97
    + added additional sysfs for controling vibration on 4.2.2 roms by using device settings or devil tools
    + zram: re-added code for using multiple cores for (de)compression, which should be significantly faster now
    + zram: upstreamed to linux 3.12
    + zcache: fix booting by syncing code with faux123
    + re-enabled cleancache
    + block/io-schedulers: big update to row and cfq scheduler from linux 3.4 (thx to andreilux for squashing the commits)
    + fixed adb root options after data wipe
    + added options to turn of hardwarekeys backlight on screen touch, thx to yank555-lu (for now, this isn't added to deviltools, please see below for the sysfs path/command)
    this doesn't affect samsung roms!
    * /sys/class/sec/sec_touchkey/touch_led_handling (rw)
    *
    * 0 - handled by ROM (newer CM10.2, default)
    * 1 - handled by kernel (older CM10.2)
    *
    * /sys/class/sec/sec_touchkey/touch_led_on_screen_touch (rw)
    *
    * 0 - hardware keys backlight only lights up if h/w keys are used
    * 1 - hardware keys backlight lights up if h/w keys are used or screen is touched (default)

    18.08.2013
    - added exfat support
    - support for android 3.4 (only primary rom or single boot)
    - linux 3.0.91

    10.08.2013
    - fixed sysfs of led control to be readable/writable by deviltools
    - re fixed mtp/ums and adb root

    09.08.2013
    - backported zram_for_android from linux 3.4 (i9500) and enabled it again
    - updated zram to latest official version (linux 3.11
    - updated android binder driver
    - added led control by yank555-lu

    05.08.2013
    - linux 3.0.89
    - disabled uksm (cam failure on i9300)
    - updated/backported zsmalloc, zram and lowmemorykiller from 3.9 (disabled zcache and zram_for_android because of this)
    - fixed a bug in ashem driver, caused by samsung, which could lead to deadlocks
    - mmc: fix the workqueue overload battery waste (thx to aagit)
    - fixed adb root
    - fixed mtp/ums issues after wipe

    31.07.2013
    - updated to linux 3.0.88
    - added andreilux's abb control
    - updated and activated zram (thx to yank555), zcache, cleancache and frontswap (most probably not very important on note2)
    - enabled uksm by default (http://www.phoronix.com/scan.php?page=news_item&px=MTEzMTI)
    - added experimental support for android 4.3 (only i9300 for now)
    - reduced wifi wakelocks a little bit more

    25.0.7.2013
    - cpufreq: zzmoove governor 0.6 (thx to zanezam)
    - include most of touchwake 1.1 changes. thanks to yank555-lu
    - bcmdhd: update back to version used by andreilux. …
    big thx to xda forum member gondsman: http://xdaforums.com/member.php?u=3740419 (this should drastically reduce wifi wakelocks)

    24.07.2013
    - reverted compiler option "optimze_for_size" to fix cam on aosp roms

    23.07.2013
    reverted wifi driver to cm version, to fix wifi tethering, additional disabled multicast in suspend for power savings

    22.07.2013
    - linux 3.0.86
    - disable touchwake during call
    - se linux support
    - wifi driver from andreilux sammy kernel (should reduce wakelocks)

    27.06.2013
    - linux 3.0.83
    - fixed mounting of internal sdcard on secondary 4.2.2 aosp roms
    - reverted JRcu
    - dyn fsync updates from faux123
    - two upstream fixes to row i/o scheduler
    - added latest cm changes (UMS: f_mass_storage: Added cdrom option to UMS-lun-devices, Samsung i9300 Update 10)

    12.06.2013
    - linux 3.0.81
    - fixed internal storage on 4.2.2 secondary roms
    - reverted cpufreq driver back to "default", to try fixing being stuck at max. freq for some users

    06.06.2013
    - merged update9 changes from cm team
    - wifi changes which hopefully reduce wakeup time
    - built nfs as module (was built-in before)

    29.05.2013
    - update to linux 3.0.80
    - reverted a commit from 3.0.79 which caused the cpu to be stuck at max. freq
    - fix touchwake/proximity sensor for i9300
    - cpufreq: fix handling of offline cpus
    - dynamic fsync: fixes from faux123, to prevent data loss, in case of kernel panic/unexpected shutdown
    - CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug (from francisco franco)
    - freezer: allow tasks to be frozen faster (1ms if possible, instead of 10 ms)
    - freezer: skip waking up tasks with PF_FREEZER_SKIP set, to make suspend/resume more efficient
    - t0ltecdma: fixed sprint compatibility

    15.05.2013

    important: please uncheck in deviltools to apply settings on boot! gpu voltage changes would cause the device to freeze on startup!

    - reverted gpu voltage to be displayed as before (this fixes incompatibility with trickstermod or other apps)
    - DevilQ: turn/keep second core online on screen touch
    - add PM_SUSPEND_FREEZE powerr state (if used, it does save little less power, but PM_SUSPEND_FREEZE has less resume latency
    •Erik Gilling - sync: don't log wait timeouts when timeout = 0
    •Ørjan Eide - sync: Fix race condition between merge and signal
    •Erik Gilling - sync: add Documentation/sync.txt
    •Erik Gilling - sync: add tracepoint support
    •Erik Gilling - sync: refactor sync debug printing
    •Erik Gilling - sync: use proper barriers when waiting indefinitely
    •Erik Gilling - sync: update new fence status with sync_fence_signal_pt
    •Erik Gilling - sync: protect unlocked access to fence status
    •Erik Gilling - sync: dump sync state of fence errors
    •Erik Gilling - sync: improve timeout dumps
    •Erik Gilling - sync: use correct signed type when handling SYNC_IOC_WAIT
    •Erik Gilling - sync: dump sync state to console on timeout
    •Erik Gilling - sync: clean up compiler warnings
    •Erik Gilling - sync: fix erase-o in sync_fence_wait
    •Erik Gilling - sync: change wait timeout to mirror poll semantics
    •Rebecca Schultz Zavin - sync: Fix error paths
    •Erik Gilling - sync: add reference counting to timelines
    •Erik Gilling - sync: add internal refcounting to fences
    •Erik Gilling - sync: optimize fence merges
    •Erik Gilling - sync: reorder sync_fence_release
    •Erik Gilling - sync: export sync API symbols
    •Erik Gilling - sync: allow async waits to be canceled
    - ext4: prevent kernel panic in case of uninitialized jinode
    - mutex: dynamically disable mutex spinning at high load Date Thu, 4 Ap… … (faux123)
    - mutex: restrict mutex spinning to only one task per mutex … (Waiman Long)
    - mutex: Make more scalable by doing less atomic operations … (Waiman Long)
    - hrtimer: Prevent enqueue of hrtimer on dead CPU When switching the hr… … (franciscofranco)
    - hrtimer: Consider preemption when migrating hrtimer cpu_bases When sw… … (franciscofranco)
    - fs/buffer.c: remove redundant initialization in alloc_page_buffers() … … (clouds-yan)
    - time: cast ->raw_interval to u64 to avoid shift overflow We fixed a b… … (faux123)
    - vmscan: comment too_many_isolated() Comment "Why it's doing so" rathe… … (Wu Fengguang)
    - mm/vmscan.c: avoid possible deadlock caused by too_many_isolated() Ne… … (Wu Fengguang)
    - input: evdev: Move wake_lock_destroy call … (halaszk)
    - wakelock: use single threaded workqueueus … (halaszk)

    12.05.2013
    - linux 3.0.78
    - added own cpu governor, DevilQ (based off lulzactiveq by gokhanmoral)
    - improved touchwake (acting like swipe2wake now, if delay is set to 0, to prevent false wake ups)
    - pegasusq: readd some of andreilux's changes
    - gpu: allow oc up to 800 mhz
    - added option to disable touch boost
    - updated wifi driver from s4 (commit by cm team)
    - disabled swap, zram and cleancache

    28.04.2013
    - linux 3.0.75
    - fixed cam preview on note2 lte
    - new tunables for pegasusq:
    * early_demand: to enable this functionality (disabled by default). ( echo 1 > sys/devices/system/cpu/cpufreq/pegasusq/early_demand, to enable it. 0 disables it)
    * grad_up_threshold: over this gradient of load we will increase
    frequency immediately. ( echo xx > sys/devices/system/cpu/cpufreq/pegasusq/grad_up_threshold, to set value. xx has to be betwenn 11 and 100, default 50)

    27.04.2013
    - updated block to linux 3.3
    - updated row i/o scheduler to linux 3.4
    - added fiops v2 i/o schedler

    25.04.2013
    - readded gokhanmorals sammy/aosp mod more cleanly
    - lulzactiveq: small fixes
    - cpufreq_pegasusq.c: revert to stock
    - Enabled AIO support
    - improved aio: Asynchronous I/O latency to a solid-state disk greatly increased between the 2.6.32 and 3.0 kernels. By removing the plug from do_io_submit(), we observed a 34% improvement in the I/O latency.
    - added zzmoove governor

    - Andreilux:
    * mdnie-control: Digital brightness control
    * s6e8aa0: Allow manual brightness to 300 candela
    * ARM: decompressor: Enable unaligned memory access for v6 and above


    19.04.2013:
    - Fixed patch: "LOAD_FREQ (4.61 s) avoids loadavg Moire (thx to Klaus Ripke)", many thx to AndreiLux for pointing and fixing this
    - Added Franciscofranco's Touch Boost Control (input boost frq., when screen touched can be set with trickster mod app), including the additions from simone201, but fixed to not beeing stuck at high freq.
    - removed LCDFreq scaling mechanism (using touch boost instead)
    - fixed charging while device off
    - applied a bluetooth patch from cm (might help with bt issues some users were reporting)

    more to come ...
    72
    hi all :)

    i am currently working out of town, and only with my family on weekends. because of this, i didn't do anything on xda/kernels since some time.
    because i am leaving again tomorrow (for 2 weeks this time), i wanted to give you something to play with. basically it is the linux 3.4 hybrid kernel (earlier posted for cdma), with support added for latest cm11 based roms (thanks to Efpophis for his commit).
    58
    ATTENTION: this is for t0lte/at&t/t-mo only! n7100 coming later today!


    Please make a nandroid before you try it!


    Important: if you want to use this kernel for dualboot, i highly recommend flashing my recovery as well.

    Faq:
    General information about the recovery:
    - the recovery does not mount /cache, /system or /data by default. if you want to perform any file modifications to either of your roms (wiping data, create/restore nandroid, fixing permissions,...), you have to use the dualboot menu before.
    in this menu you can:
    * create the secondary system partition (needed to be run once, if you want to install a second rom)
    * enable mounting of primary filesystem
    * enable mounting of secondary filesystem
    if you have enabled the mounting of one of the filesystems, all the actions mentioned above are performed to the filesystem you selected. this filesystem stays the active one, unless you reboot to recovery, or you select the other one.

    Install-zip menu:
    you'll notice there is a new menu, where to select what you want to flash.
    • if you select kernel, rom or recovery, the zip gets installed as it is.
    • if you select zipt to pri./sec. filesystem, it is selfexplanary
    • if you select rom to secondary fs, the zip gets modified to install to the sec. fs. IF YOU WANT TO INSTALL IT TO PRIMARY FS LATER SOME TIME, YOU NEED TO REDOWNLOAD THE FILE!
    • if you select rom to primary filesystem, it gets installed there, and you can use the same zip later again.

    How to install a second rom:
    make sure you have already created ssecondary system partition! if not, go to dualboot menu and create it now (this may take some minutes)
    • The savest way is the way by using nandroids: if you don't have a nandroid already, create one now. Go to dualboot menu, enable mounting of primary fs (look above for details), go to nandroid menu and make your nandroid.
      go back to dualboot menu, enable mounting of secondary fs, then go to nandroid menu, and restore your backup.
      you now should already be able to boot into primary or secondary rom (which are both the same now).
      now you can install any other rom as primary.
    • if you want to install a new rom directly as secondary,
      make sure there are no spqaces in the filename!,
      then just go to install zip. you'll notuice there's a new menu at some point.
      in this menu you can select where you want to install, and what type of file it is.
      if you choose rom to sec. fs, your zip files itself gets modified to be installed to secondary fs. this may take a minute, because the files needs to get zipped again. Imporant: this file is permanently modified. if you think you need it later again, you should redownload it, because the modified one would always install as secondary.
      installing a rom as primary, a zip to primary or secondary fs, does not modify the zip.


    Additional information:
    • roms coming with an aroma installer are hard to handle, as every dev can place own commands into it. It's impossible for me, to take care of every possibility. Because of this, it should be the best method, to flash a rom with aroma installer as primary one (and then move it to secondary, by using the nandroid method, if you want it to be secondary).
    • adb/mtp connections seems not to be working on second rom :( i still try to find the cause of it, but it seems like no one knows anything about adb :p
      i myself got a working mtp on secondrom, by restoring a nandroid of my sammy rom to secondary fs (for which mtp already was working).
    45
    ok guys...i finally got it to work. i just was able to dualboot between jedi (sammy) and my (aosp) rom. some more fixes here and there, and it should be ready for release soon :)