FORUMS
Remove All Ads from XDA

[KERNEL][4.1.2][4.2.2][4.3][DUAL BOOT][I9100G] Blazing Kernel v16

3,548 posts
Thanks Meter: 7,212
 
Post Reply Email Thread
Announcement from Ryuinferno: Please redownload if you are using PAC ROM and can't boot...issue fixed
Blazing Kernel v16


**Note: Those coming from older versions and has dual booted, you must extract and place the whole "system/lib/modules" folder from the kernel zip package into /sdcard/SDRoms/update, so it will be like this: /sdcard/SDRoms/update/system/lib/modules. Just reboot and everything will be fine!
Standard disclaimer from CyanogenMod:
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. Please
 * do some research if you have any concerns about features included in this kernel
 * before flashing it! 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.
 *
 */
Oh yeah!!! I finally made it! A kernel similar to Siyah kernel! You can use this on AOSP 4.2.2 ROMs or stock Sammy 4.1.2 ROMs, it will work in both! Plus, using a similar dual booting method like what @fuss132 did, you can now dual boot stock+stock, AOSP+AOSP or stock+AOSP!
Features:
** Most of my kernel features can be controlled using Trickster Mod Kernel Settings

- Can be flashed directly using stock recovery!
- Supports DUAL BOOTING
- Compiled using CM source
- Compiled using Linaro toolchain 4.7.4 by me! (optimised for Cortex-A9 architecture by me)
- Linux kernel version 3.0.98
- 3 versions of recovery available (different zImage): Philz, TWRP and CWM!
- Modified CWM to support /preload partition and gesture control: https://github.com/Ryuinferno/android_bootable_recovery
- Default scheduler is cfq
- Default governor is interactive
- MMC_CAP_ERASE already disabled by Samsung -> no more brick bug
- Supports CIFS
- Supports NFS
- USB fast charge
- Custom voltage settings
- Frandom support!
- Patched /dev/random
- More RAM (original=769 MB, Blazing Kernel=774MB)
- Additional governors: HYPER, Scary, wheatley, abyssplug, minmax, lulzactive, lazy, pegasusq, lagfree, smartassV2
- Addtional I/O schedulers: vr, sio, row
- swap support
- zRAM support
- exFAT module support
- Dynamic Fsync
- Dynamic Dirty Page Writeback
- Battery Life eXtender (BLX)
- CK3 tweaks
- Timer slack
- Dynamic timer slack control
- Miscellaneous tweaks

Stock only features:
~ Custom bootanimation (just place bootanimtion.zip in /system/media; to restore original bootanimation, just delete the bootanimtion.zip in /system/media) [AOSP already has this]
~ Custom boot sound (just place PowerOn.ogg in /system/media; to mute, create an empty file named "mute" in /system/media; to unmute, create an empty file named "unmute" in /system/media ; to restore original boot sound, create an empty file named "ori_sound" in /system/media)
~ Init.d scripts support (Place scripts in /system/etc/init.d or /data/etc/init.d) [AOSP already has this]
Bugs:
** These bugs in AOSP are a compromise to get the kernel working, the code used for vibrations and touchkey lights are completely different, until I become a sensei in C, it can't be fixed for now
AOSP 4.2.2
- Cannot control vibration intensity
- Cannot control touchkey light duration or turn on/off

AOSP 4.3:
- Cannot control vibration intensity
- Slim ROM: Cannot control touchkey lights because Slim is still using old method for now

Stock:
- Cannot control touchkey light duration or turn on/off Solved
Requirements:
- Running a stock 4.1.2 Samsung ROM or stock 4.1.2 based ROM
- Running a AOSP 4.2.2 ROM
- Running a AOSP 4.3 ROM
- At least 3 GB in internal storage if you want to dual boot
Instructions:
Flash via stock or custom recovery (Safest and easiest method):
1. Choose your recovery type: CWM6 or TWRP.
2. Download the corresponding zip package.
3. Place in sdcard (external sdcard for those running stock recovery)
4. Flash the zip.
5. Reboot. It may take a little while as the kernel has lots of things to configure.
NOTE:
To those who wanna provide logs, kindly refer to this post: http://forum.xda-developers.com/show...&postcount=201
Downloads:
Dual Boot Setup:
Terminal Emulator (Play Store link)
Terminal Emulator (Direct APK link)
DualBoot_BL_v3.apk

v16:
Blazing_Kernel_v16_CWM6_MOD.zip
Blazing_Kernel_v16_TWRP.zip
Blazing_Kernel_v16_PHILZ.zip

v15:
Blazing_Kernel_v15_CWM6_MOD.zip
Blazing_Kernel_v15_TWRP.zip
Blazing_Kernel_v15_PHILZ.zip

v12:
Blazing_Kernel_v12_CWM6_MOD.zip
Blazing_Kernel_v12_TWRP.zip
Blazing_Kernel_v12_PHILZ.zip

v11:
Blazing_Kernel_v11_CWM6_MOD (old).zip
Blazing_Kernel_v11_CWM6_MOD.zip
Blazing_Kernel_v11_TWRP.zip
Blazing_Kernel_v11_PHILZ (old).zip
Blazing_Kernel_v11_PHILZ.zip

v10:
Blazing_Kernel_v10_CWM6_MOD.zip
Blazing_Kernel_v10_TWRP.zip

v9:
Blazing_Kernel_v9_CWM6_MOD.zip
Blazing_Kernel_v9_TWRP.zip
Thanks to:
@codeworkx
@fuss132
@chuandinh
@superatmos
@bluefa1con
@Phil3759
@mnazim
XDA:DevDB Information
Blazing Kernel v16, a Kernel for the Samsung Galaxy S II

Contributors
Ryuinferno
Kernel Special Features: Dual boot and various kernel optimisations!

Version Information
Status: Stable

Created 2013-07-07
Last Updated 2013-10-24
The Following 92 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
 
 
12th May 2013, 01:53 PM |#2  
Ryuinferno's Avatar
OP Senior Member
Thanks Meter: 7,212
 
Donate to Me
More
Kernel Features Explained
What is frandom?
v6 and onwards supports frandom, which is a faster (10-50 times) random number generator than urandom...it generally decreases lag in GUI...if you are using CrossBreeder, it will automatically utilise it...if not, place this script in /etc/init.d and set permissions as rwxrwxrwx (name it whatever you want) and reboot:

Code:
#!/system/bin/sh
# Ryuinferno @ XDA

chmod 666 /dev/frandom
chmod 666 /dev/erandom
mv /dev/random /dev/random.ori
mv /dev/urandom /dev/urandom.ori
ln /dev/frandom /dev/random
ln /dev/erandom /dev/urandom
It is working if you have /dev/random.ori and /dev/urandom.ori after a reboot...to revert, just remove the script (or else, it will be applied on every boot)...

What is swap?
Swap is, in short, virtual RAM. With swap, a small portion of the hard drive is set aside and used like RAM. The computer will attempt to keep as much information as possible in RAM until the RAM is full. At that point, the computer will begin moving inactive blocks of memory (called pages) to the hard disk, freeing up RAM for active processes. If one of the pages on the hard disk needs to be accessed again, it will be moved back into RAM, and a different inactive page in RAM will be moved onto the hard disk (‘swapped’). The trade off is disks and SD cards are considerably slower than physical RAM, so when something needs to be swapped, there is a noticeable performance hit.
Unlike traditional swap, Android’s Memory Manager kills inactive processes to free up memory. Android signals to the process, then the process will usually write out a small bit of specific information about its state (for example, Google Maps may write out the map view coordinates; Browser might write the URL of the page being viewed) and then the process exits. When you next access that application, it is restarted: the application is loaded from storage, and retrieves the state information that it saved when it last closed. In some applications, this makes it seem as if the application never closed at all. This is not much different from traditional swap, except that Android apps are specially programed to write out very specific information, making Android’s Memory Manager more efficient that swap.

To use swap, the easiest way is to install Swapper2

What is zRAM?
Quote:
Originally Posted by android1234567

That looks accurate, but it's a little hard to understand. A basic explanantion of zRAM is that zRAM compresses an actual block of RAM in order to have more RAM available to the system. If you make the compression too high with zRAM then your device will actually go slower as a result. An example of going over the top would be adding 256MB of RAM using zRAM on a phone that only has 768MB RAM (that's almost a 50% compression rate because ~600MB is available to the user). zRAM also requires the CPU to compress and decompress the data.

To use zRAM, the easiest way is to install Trickster MOD Kernel Settings

What is exFAT?
Read this: http://www.differencebetween.net/tec...#ixzz1k5uLzt4l
Summary:
1.exFAT allows for higher drive capacities than FAT32.
2.exFAT has a larger file size limit than FAT32.
3.exFAT uses a free space bitmap while Fat32 doesn’t.
4.FAT32 has greater support than exFAT.
5.FAT32 doesn’t have file number limits while exFAT does.

What is BLX?
This feature has been developed by Ezekeel and allows to set a customized battery charging limit (100% is the default stock value, if you want, you can set a lower value).
As Ezekeel said, it is commonly accepted that both very low and very high charge states accelerate the degradation of the battery capacity (that is why you should store Li-Ion batteries at around 40% charge).
If you set a charging limit equal to 100, this feature will be disabled.

What is Dynamic Fsync?
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.

What is Dynamic Dirty Page Writebacks?
This feature has been developed by Christopher83 and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.

How to customize the dynamic dirty page writebacks feature (default enabled):

Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)

1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic dirty page writebacks feature
Code:
su
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
su
echo 1 > /proc/sys/vm/dynamic_dirty_writeback
- Run this command to set customize the two intervals (30 seconds while the screen is on, 10 seconds when the screen is off)
Code:
su
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs


What is timer slack controller and dynamic management of the minimal timer slack value?
The timer slack controller is a feature developed by Kirill Shutemov and it allows to set the minimal timer slack value for every process contained within a control group (cgroup).
A timer slack allows the kernel to manage processes wakeup requests at some future time.
Thanks to this feature, the kernel can set a specific timer slack for the involved processes, minimizing the number of wakeups and allowing a lower system's power consumption.
For further info: Timer slack for slacker developers

Chirstoper83 also implemented a new feature in addition to the above one that allows the dynamic management of the minimal timer slack value.
So, it's possible to use different minimal timer slack value when the system is active and when has been suspended.

How to customize the dynamic timer slack controller feature:

Three new cgroup parameters are exposed inside each processes hierarchy contained in /dev/cpuctl path:
- timer_slack.min_slack_ns is the timer slack used when the system is active for the current processes hierarchy
- timer_slack.min_slack_suspend_ns is the timer slack used when the system is suspended for the current processes hierarchy
- timer_slack.effective_slack_suspend_ns is the timer slack currently used

At the moment, the values chosen and used by Blazing Kernel are the following:
- core processes (/dev/cpuctl), 0 ns when the system is active, 50000 ns when the system is suspended
- foreground apps/processes (/dev/cpuctl/apps), 0 ns when the system is active, 250000 ns when the system is suspended
- background non interactive apps/processes (/dev/cpuctl/apps/bg_non_interactive), 100000000 ns when the system is active, 250000000 ns when the system is suspended

1) By directly editing one of the file written above inside /dev/cpuctl and inside each hierarchy subfolder, by setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to set the minimal timer slack for generic and core apps/processes
Code:
su
echo 0 > /dev/cpuctl/timer_slack.min_slack_ns
echo 50000 > /dev/cpuctl/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in foreground
Code:
su
echo 0 > /dev/cpuctl/apps/timer_slack.min_slack_ns
echo 100000 > /dev/cpuctl/apps/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in background and non interactive
Code:
su
echo 100000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_ns
echo 250000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_suspend_ns


What are CK3 tweaks?
They are actually patches by Con Kolivas (author of BFQ scheduler), more info in commit message here: https://github.com/Ryuinferno/Blazin...136dc2b066581d
The Following 13 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
12th May 2013, 01:53 PM |#3  
Ryuinferno's Avatar
OP Senior Member
Thanks Meter: 7,212
 
Donate to Me
More
ROMs Supported:
Basically ALL ROMs!
- stock Samsung ROMs [4.1.2]
- stock based ROMs [4.1.2]
- MIUI [4.1.2]
- CM 10.1 [4.2.2]
- CM 10.1 [4.3]
- CM 10.1 based ROMs [4.2.2]
- CM 10.2 based ROMs [4.3]
- AOKP [4.2.2]
- AOKP based [4.2.2]
- AOKP based [4.3]
- AOSP based[4.2.2]
- AOSP based[4.3]


CHANGELOG:
Code:
v16:
- Support for PAC ROM
- Support for CM's newly implemented multi-sim framework
- Updated to Linux kernel 3.0.101 (EOL)
- ExFAT module now compiled from source
- Updated recovery to CWM 6.0.4.4
- For explicit changelogs, refer to my Github (commits are more detailed now)

v15:
- Support for Android 4.3
- Updated to Linux kernel 3.0.98
- Reduced size of kernel modules (kernel zip package now a lot smaller
- Updated recoveries to CWM 6.0.4.0, TWRP to 2.6.3 and Philz to 5.15.0
- New modified CWM recovery! Features:
    - Touch control!
    - Battery status
    - Prompt before commencing backup (avoids accidental backups)
    - Advanced restore for /preload
    - Rainbow mode! (to activate, scroll down the list for 5 times, scroll back up again to deactivate)
- For explicit changelogs, refer to my Github (commits are more detailed now)

v12:
- Full rebase of kernel source! Now it is at https://github.com/Ryuinferno/Blazing_Kernel_t1
- With the rebase of sources, hiccups are eliminated, try it and you will know why...;) 
(there were some code errors when patching the old source)
- Updated to Linux kernel 3.0.88
- Data usage stats fixed
- Compiled with Linaro 4.7.4 toolchain optimised for Cortex-A9 (yes, toolchain compiled by me too)
- Updated recoveries to CWM 6.0.3.5, TWRP to 2.6 and Philz to 5.08.5
- Timer slack and dyanmic timer slack control
- CK3 tweaks
- Updated graphics driver (now also compiled with Linaro!)
- For explicit changelogs, refer to my Github (commits are more detailed now)

v11:
- Updated to Linux kernel 3.0.75
- BLX
- Dynamic Fsync
- Dynamic Dirty Page Writeback
- Dyanmic mutex spin management
- CRC32 algorithm
- Updated voltage control
- Latest sync with CM for better compatibility
- Fixed MTP not working in stock for certain people
- Philz recovery now available!
- Compiled using Linaro 4.7.4 toolchain 

v10:
- Updated to Linux kernel 3.0.60 (this is a real update, applied patches step by step instead of skiping those in between 
(there's one kernel that skipped most of the patches and went to 3.0.75 straight away lol, 
reverted the 3.0.76 and applied 3.0.77, and claims that it is on 3.0.77 now...lol...
and I tried to advice him, but always ignored...:silly:))
- Fixed random reboots in recovery 
- Removed interactiveX governor (main cause of the reboots)
- zRAM support (for fun...lol)
- swap support (for fun...lol)
- exFAT module support (sdcards can be formatted in exFAT format now)
- Compiled using Linaro 4.7.3 toolchain 
  
v9:
- Initial dual base kernel commit
- Bring forward all features from v8
- Dual boot support
Source code:
https://github.com/Ryuinferno/GT-I9100G-Blazing_Kernel (old)
https://github.com/Ryuinferno/Blazing_Kernel_t1 (new)
The Following 20 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
12th May 2013, 01:53 PM |#4  
Ryuinferno's Avatar
OP Senior Member
Thanks Meter: 7,212
 
Donate to Me
More
Dual Booting
This feature requires extra attention, so please read carefully!
1. Decide which ROM you want to place as secondary ROM. The most suitable ROM would be the one that has less updates and stable. Keep in mind that currently all secondary ROMs will start off clean, means ALL DATA WILL BE CLEARED, and /data is 1GB in size.
Now, decide between step 2 or 3:

Step 2 (Current ROM->Primary, another ROM->Secondary)
1. If you decide to keep using the current ROM you are running as primary ROM, please make a FULL BACKUP now.
2. Since you decide to use another ROM as secondary ROM, AFTER making a backup, flash the other ROM. Then, flash the latest kernel zip package.
3. Now, reboot the phone and install the control app & Terminal Emulator (install Terminal Emulator first). You will see this:

4. Hit the Deploy Files button, then the Dual Boot Setup button and wait for the process to finish.
5. The default ROM now is your phone ROM (primary ROM). To boot into SD ROM (secondary ROM) or from SD ROM to phone ROM, hit the Switch ROM button.
6. Restore your primary ROM now. But remember to flash the kernel zip package again.
7. Booting time may take longer as you are dual booting and dalvik-cache is building up.
8. Repeat all the steps above every time you wanna change new ROMs (means new zip packages).


Step 3 (Current ROM->Secondary, another ROM->Primary)

1. If you decide to use the current ROM as secondary and do not mind about data loss, please flash the latest kernel zip package now.
2. Now, reboot the phone and install the control app & Terminal Emulator (install Terminal Emulator first). You will see this:

3. Hit the Deploy Files button, then the Dual Boot Setup button and wait for the process to finish.
4. The default ROM now is your phone ROM (primary ROM). To boot into SD ROM (secondary ROM) or from SD ROM to phone ROM, hit the Switch ROM button. (Will show current ROM in the future)
5. Flash the new ROM you want to use as primary now. Remember to flash the kernel zip too.
6. Booting time may take longer as you are dual booting and dalvik-cache is building up.
7. Repeat all the steps above every time you wanna change new ROMs (means new zip packages).



**NOTE: MTP, USB mass storage or ADB and GPS does not work on secondary ROM
The Following 17 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
fuss132
12th May 2013, 01:59 PM |#5  
Guest
Thanks Meter: 0
 
More
Aosp + Stock dualboot?
Wow hows that working?
All in one kernel?

Sent from my GT-I9100G using xda app-developers app
The Following User Says Thank You to For This Useful Post: [ View ] Gift Ad-Free
12th May 2013, 02:01 PM |#7  
Ryuinferno's Avatar
OP Senior Member
Thanks Meter: 7,212
 
Donate to Me
More
Quote:
Originally Posted by fuss132

Aosp + Stock dualboot?
Wow hows that working?
All in one kernel?

Sent from my GT-I9100G using xda app-developers app

Yeah, took me a lot of brain juice...published the code in Github...

Quote:
Originally Posted by iXanza

And here we go.

Wohoo~~
The Following 4 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
12th May 2013, 02:04 PM |#8  
Ryuinferno's Avatar
OP Senior Member
Thanks Meter: 7,212
 
Donate to Me
More
Guys, anyone using stock based MIUI ROM, please check in /system/framework and see whether you have a file named "framework2.jar" or not...If you don't have, DO NOT use this on MIUI yet! I repeat, DO NOT USE IT YET! I need to configure more files......and please report back here...

Yup, confirmed working...
The Following 2 Users Say Thank You to Ryuinferno For This Useful Post: [ View ] Gift Ryuinferno Ad-Free
12th May 2013, 02:12 PM |#9  
bluefa1con's Avatar
Inactive Recognized Developer
Thanks Meter: 9,251
 
Donate to Me
More
congrats mate
really excited to see this original work from you
best of luck
The Following User Says Thank You to bluefa1con For This Useful Post: [ View ] Gift bluefa1con Ad-Free
12th May 2013, 04:43 PM |#10  
Senior Member
Flag Kuala Lumpur
Thanks Meter: 50
 
More
Gonna test this soon

Sent from my GT-I9100G using Tapatalk 2
12th May 2013, 05:15 PM |#11  
lomaxxxo's Avatar
Member
Thanks Meter: 14
 
More
Great work.... Since v3 am with you.... Great progress....:thumbup:

Sent from my GT-I9100G using xda premium
Post Reply Subscribe to Thread

Tags
4.1.2, 4.2.2, 4.3, dual boot, kernel

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes