I was wondering, since we are in the kernel thread... I suppose we can forget to use it with our current hyperdroid rom isn't it ?
Still its a big step towards an hyper ICS rom
Sent at hyperdroid speed from a Galaxy far far away from the others
Dunno why ics kernel aint released yet, let me talk to pongster, maybe we can catch him in a good mood
D.O.C
XDAstaff
It will only work on samsung (sammy) base roms.
Sent from my GT-I9100 using xda premium
"This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill- you stay in Wonderland and I show you how deep the rabbit-hole goes." - Morpheus, The Matrix (Copyright belongs to the Wachowski Brothers... Larry and Andy)FeaturesRedPill Download Links:Highlights
- Initramfs from LA2
- Samsung kernel-update3 (patched for deep sleep fix)
- Based on Arighi sources (arighi) + a LOT of patches included by pongster for performance, stability and battery life
- Custom ClockworkMod Based Recovery v5.0.2.7 by AF974 based on Team Overcome Recovery (thanks to alterbridge and AF974)
- Instant root (modded script by gokhanmoral of SiyahKernel with a few edits by pongster to ensure latest SU apk and binary are used.)
- Newest Superuser 3.0 and su binary (thanks to chainsdd)
- Touchscreenfix set to "3" (vitalij)
- Init.d support
- VooDoo Louder Support by supercurio
- 2nd Core and Touch Move by Tegrak Support
- SetCPU and Voltage Control Support
- Full CWM Manager 3.0 Support by Chainfire
- CPU & GPU Overclocking and Undervolting by Netarchy
- Highly Experimental Ondemand based CPU Governors (Minor Edits only/Renamed to keep bugs on the experiments) based on arighi's deep_sleep and fast_start commits
- Maximum CPU Freq set at 1.5Ghz
- Enable or Disable File Syncing (fsync enabled by default)
- CFS Autogroup by Mike Galbraith Enabled
- CPU Topology and Sched_MC enabled
- AFTR and LPA enabled
- A lot of tunables via sysfs included
- Undervolted Int ARM and Touch LED Values (thanks to Phenomenal for the idea)
- Git Implementation of SHA-1 for 12% faster boot time
- CPU set at 1.2Ghz at Boot for faster boot time (Thanks to Imoseyon)
- XZ compressed kernel using optimized values for the size of the kernel
- Uncompressed Initramfs (tweaked scripts/gen_initramfs.sh)
- NTFS Read/Write Support for OTG (Flash Drives and External Hard Drives with enough Power supported)
- CIFS and FUSE Support | Tweaked Ext4 Filesystem
- SIO | noop | deadline | V(R) (tweaked for better throughput and balanced latency for Mobile NAND based devices)
- sleepy | hyper | conservative | ondemand CPU Governors
- generic cpufreq range regulation (arighi) | BLN support (Thanks to creams and neldar) | Fuel Guage Wakelock fix by Entropy512
Power Saving Features:
- AFTR + LPA enabled
- sched_mc enabled
- ARM CPU Topology enabled
- CPU Hotplugging OFF when screen off enabled (Thanks to arighi)
- RCU Fast No HZ enabled
- Stable Voltage Tweaks for Internal Voltages (not ARM Voltage which remain stock) to help lessen heat when in heavy usage scenarios
Boot Time Features:
- Used git Implem of SHA-1 for 12% Boot time improvement
- Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <[email protected]>
- Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <[email protected]>
- Uncompressed initramfs (since initramfs is compressed as part of the kernel image, this is reduced to a copy operation from a decompress then copy one)
- Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)
CPU Features
- CPU and GPU OC/UV thanks to netarchy/Hacre
CPU Governors Included:
Final Clean up of CPU Governors available for simplicity. (all Governors are tweaked for the best possible balance of battery and performance with a slight lean towards performance) With this focus on simplicity stated earlier, the only governors available are the following:
- sleepy (ondemand based cpu governor with minor edits by pongster) loves to sleep and idle at the lowest set frequency, hence the name change from "solo" to "sleepy". Its closer to ondemandx in terms of performance. This can be tweaked and tuned using init.d scripts as well.
- hyper (ondemand + suspend freq setting ability with minor edits by pongster) This was formerly the original kenobi which I renamed to hyper as others may not get the Star Wars Reference.
It gives a good balance between battery life and performance. Its closer to ondemand in terms of performance. also tunable using init.d scripts.
- conservative (good battery savings by default due to its slow ramp up and ramp down but tunable for performance) defaults are slightly tweaked for better performance than default conservative.
- ondemand (old reliable thats been tweaked by arighi to support deep_sleep and fast_start) these features try to detect if the CPU is coming from a deep sleep and is more likely to sleep again and thus limits its frequency to the lowest possible that can handle the operations needed. fast_start checks if the CPU needs more "ooomph" and jumps to the highest frequency faster to enable it to complete the operation the system needs to complete. (like during boot-up)
3rd Party Kernel Apps Support
Filesystem Features (loaded by default to prevent the load insmodding at boot will cause, however minor)
- CWM Manager 3.0 (It works well for me. Its a useful app by Chainfire that extends the features of the current recovery. No need to reinvent the wheel, so to speak)
- Voodoo Louder by supercurio
- Voodoo Display (for future supercurio app)
- 2nd Core by Tegrak
- Touch Move by Tegrak
- SetCPU by michaelhuang
- Voltage Control by xan
- CIFS
- FUSE
- NTFS
Ext4 Tweaks from 3.x.x branch:
- Experimental NTFS automount for OTG devices (you'll have to do a little more work to enable sdcard as ntfs) (Thanks to gokhan for the hotplug script as base.) This script uses the native NTFS RW support available in t he kernel instead of ntfs-3g
[PATCH] ext4: fix ext4_end_io_dio() racing against fsync() from https://lkml.org/lkml/2011/12/16/311 *Reported-by: Kent Overstreet <[email protected]>
*Signed-off-by: "Theodore Ts'o" <[email protected]>
[PATCH] ext4: avoid hangs in ext4_da_should_update_i_disksize() from https://lkml.org/lkml/2011/12/16/344 *Signed-off-by: Andrea Arcangeli <[email protected]>
*Signed-off-by: "Theodore Ts'o" <[email protected]>
I/O Schedulers
Performance Patches
- SIO (2012 0.2 version)
- deadline (tweaked for Flash)
- noop
- V(R)
Mike Galbraith's Ultimate CFS Performance Patch (CFS Autogroup)<[email protected]> as ported by faux123 <[email protected]> for 2.6.35 kernels. I (sarcastillo <[email protected]>) additionally edited some things in sched.c to make it compile properly for 2.6.35.14 Samsung Sourced kernels*More info on this here: https://lkml.org/lkml/2010/11/20/91
Added the CGroup Patch:*Added [PATCH] cgroup: Provides a way of tasks grouping by timer slack value by Kirill A. Shutemov <[email protected]> Based on patch by Jacob Pan. Introduces per cgroup timer slack value which will override the default timer slack value once a task is attached to a cgroup. It's useful in mobile devices where certain background apps are attached to a cgroup and minimum wakeups are desired.
Miscellaneous Patches
- Added [PATCH] cpu-hotplug: Add the function 'cpu_hotplug_inprogress' by Maya Spivak <[email protected]>
- Added [PATCH] printk: Don't allow cpu to get console lock during hotplugging by Maya Spivak <[email protected]>
- Added [PATCH] rcu-tree: Check for extended quiescent state at start of gp by Maya Spivak <[email protected]>
- Added [PATCH] sched: Do not block when waiting to free old root domain by Maya Spivak <[email protected]>
- Enabled fsync disabled (can be disabled by doing an echo "1" > /sys/module/sync/parameters/fsync_disabled in a terminal emulator or as a script for gscript or scriptmanager)
- Touchscreen fix set to "3" for more responsiveness during games, etc. (Thanks to vitalij)
Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)
- Enabled back key
- Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
- Reorganized, Inutitive layout and more Readable menu
- No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
- Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)
Disclaimer: I made this for my personal use and has been personally tested by me and my team (HyperDroid Dev Team). While it may work for other i9100 International ROM's, we have not tested it personally. You have the liberty to choose to use this Rooted Kernel and by flashing this Kernel you will have surrendered your right to complain that you lost your Warranty. If you're smart enough to figure out WHY you need a Custom Rooted Kernel, you SHOULD be smart enough to undo it if you need your device serviced officially. If your device explodes, melts or otherwise disintegrates from its awesomeness I shall NOT be held responsible.
Reposting the Kernel: Please don't repost this kernel anywhere else. Keep the download links intact as I have taken the effort to provide fast links for everyone. If you can't understand English well enough and feel the need to re-post this kernel on a foreign language web site or forum, please let me know first and link to this page... (Google Translate can make it easier to read in your Native Language)
Credits: (Huge props to all the devs I've learned from by reading and studying their code)
Chainfire
Erasmux
Imoseyon
faux123
Ezekeel
franciscofranco
supercurio
hardcore
Hacre
Netarchy
Ninpo
gokhanmoral
Tegrak
Entropy512
cattleprod
alterbridge
Team Overcome
All the hardworking Kernel Devs at lkml.org (Linus Torvalds, Jens Axboe, Mike Galbraith, etc.)
Special Mention to the following:
To my mates at the HyperDroid Dev Team: (who help me test and refine the features of our kernel for our ROM)
Arighi (for the initial guidance on how to get the kernel booting and working & a lot of battery driven patches)
D.O.C. (formerly doctorcete) (for the friendship and being an example of diplomacy in dealing with usual ****storm of questions from users who refuse to search and read)
AF974 (for the Overcome based Recovery that's so bad ass I want to stay in recovery)
petsasj (for his great work on HyperDroidParts and all future Apps that are just pure awesomesauce!)
sicopat (for letting us use his server and helping us out with a lot of things smali)
s2d4 (for testing everything at the risk of the potentially time sucking Soft Brick...)
-Based on new CWM 5.0.4.2 made for ICS
-Usual custom layout as previous release, custom images (thanks to Pongster)
-New menus layout:
Reboot menu= reboot to system,recovery and power off
Install menu= choose from internal or external sdcard
wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
storage menu= mount/unmount partitions, mount internal or external sdcard
Touch button on screen
Since the touch feature, we have again 7 no and one yes.
Touch buttons layout(from left to right) : BACK-UP-DOWN-SELECT
Battery percent
Battery charge while in recovery.
Thor2002ro for all his help, i've stressed him along via pm and for porting ICS recovery compatible with gingerbread
DoomLord for the inspiration
Sztupy...nice and helpful guy
Gweedo767
Ogdobber
Koush for his wonderfull work on recovery
Linux even if recovery doesn't have linux code inside
All Hyperdroid team
XDA Developers
CyanoGenMod Team
Alterbridge and Overcome team for their work on the Galaxy Tab recovery
-New custom layout, red color text, custom images (thanks to Pongster)
-New menus layout:
Reboot menu= reboot to system,recovery or download
Install menu= choose from internal or external sdcard
wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
storage menu= mount/unmount partitions, mount internal or external sdcard
back softkey is set to back.
power and menu are set to select.
Red Pill Kernel
ChangelogRedPill_Rev1.3
- Added Newest RedPill CWM Based Recovery by AF974 (Touch Enabled with Battery % and Charging in Recovery) (Huge props to AF974)
- Experimental: USB Audio support for DAC devices
- Change Back to SLQB for slightly better performance
- Removed Net Scheduling/Traffic Shaping via Stochastic Fair Blue Scheduler as this may be causing network issues for some users
- Added HFS and HFS+ Support
- Added back V(R) but tweaked it to prevent aliased requests from starving other I/O as well (Thanks to franciscofranco for the idea)
- Update SIO I/O scheduler to 2012 version by Miguel Boton
- Tweaked CPU Freq hyper sampling rate
- Added Patch ARM: improve compiler’s ability to optimize page tables by Russel King
- Added Patch wakelocks: Allow independent debugging of wake_lock_destroy() (Thanks to Entropy512)
- Experimental: Updated Wireless Driver from EL29 Source… (Thanks to gokhanmoral for these files that are “cherry-picked” from his repo) If users report a lot of the dreaded wlan wakelocks, I can easily revert to the stock update3 sources… This is an attempt to solve WiFi problems some are having.
RedPill_Rev1.2
- Tweaked tweaks.sh file based on additional information learned and tested recently. (VM System Reading by s2d4 found <a title="Android VM System: Understanding It a Little More" href="http://goo.gl/bQgU0">here</a>)
- Reduced number of available governors based on my personal testing... the 4 remaining should serve the needs of those looking for performance, battery life or anything in between.
- Removed some more stuff no one used in the defconfig.
- Release LA2 based initramfs version as stable (and make AOSP Support Unstable as we don't test that in GB)
- Tweaked mount options for ext4 (extended Commit time to 30 and fall in line with the VM System tweaks implemented)
- Change from SLQB to SLUB for a little less overhead (vs. a queued allocator) More info on SLUB here: http://lwn.net/Articles/229984/
- Tweaked values in deadline and SIO I/O scheduler to give better throughput while attemting to keep a similar latency to the original (if not more aggressive) Based on my initial (indicative, not conclusive... yet) testing, having these in line with the vm dirty, expire, writeback values + ext4 commit=30 + laptop mode to "schedule" write outs to NAND based storage works quite well to balance throughput with latency expected in a mobile device. We took the big picture view instead of copy pasting random "known" good values and challenged some assumptions even we had at the start. The result is a mobile device tuned for good throughput and battery life with above average latency (not the lowest latency out there, but given the benefits of better I/O throughput and potential battery savings + extending the lifetime of NAND Based storage I think it was a compromise worth taking)
- Remove V(R) and BFQv3r1 scheduler as the tweaked deadline, SIO and noop are the best we've tested for NAND filled mobile devices. (More on this later)
- Added franciscofranco's deadline tweak that "Prevent aliased requests from starving other I/O"
- Set deadline as default I/O scheduler
- Tweaked deadline i/o fifo_batch for better throughput
- Remove set_need_resched from rcutree.c based on https://github.com/drod2169/KangBang-OMAP/commit/717e7a22e42869418084701455c11e690a993fe8 which says:*"if we really are in an interrupt, the attempt to re-enter dyntick-idle mode will invoke*rcu_needs_cpu() in any case, which will force the check for RCU callbacks.*So this commit removes the check along with the set_need_resched()"
- Experimental BTHID fix based on latest bthid.c from Samsung Source Releases I found on github (EK02 for Epic Touch 4G Released in December 2011... about 2 months after Update3 Sources were released for the i9100 and about the same time "BTHID broke" reports began coming in.) (Thanks to TDR for the source where I found this fix)
RedPill_Rev1.1
- Adjusted Int Voltage of ARM and Busfreq to Stable Values across several devices
- Added Imoseyon's suspend code to hyper and sleepy
- Adjusted Touch Screen Values back to default (Thanks to Entropy for pointing this out)
- Lowered Touch LED Values lower to dim the LED's a bit more.
- Added Some Tweaks in the init.rc so they can be set from there and are consistent for anyone who uses the kernel.
- Added some experimental compiler optimizations (Haven't noticed much difference, but we'll continue testing)
- Enabled deep_sleep and fast_start by default in ondemand, hyper and sleepy
- Added backported Conservative governor from 3.2
RedPillKernel_Rev1.0 (Final Rebrand to highlight the Power of Choice... formerly known as HyperKernel or HDK all older changelogs and commits since Update 3 are included)
- Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)
-Enabled back key
-Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
-Reorganized, Inutitive layout and more Readable menu
-No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
-Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)- Tweaked NTFS automount script to support RW and use native ntfs built in the kernel instead of ntfs-3g (like stock kernel)
- Adjusted Max CPU Freq to 1.5Ghz since its more stable then being at 1.6Ghz for those who like to OC
- Fixed Bluetooth Devices not connecting properly because of the module not loading properly
- Stripped the kernel modules used to bring the kernel size down a little more
- Added Tegrak's Home Button Key Tweak (Thanks Tegrak)
- Added Stochastic Fair Blue net scheduler (SFB)
- Added [PATCH] lib/sha1: use the git implementation of SHA-1 by Mandeep Singh Baines <[email protected]> to improve boot performance by almost 12%
- Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <[email protected]>
- Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <[email protected]>
- Added ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area found here https://lkml.org/lkml/2011/6/16/174
- Added ARM_ERRATA_754322 & ARM_ERRATA_754327
- Tweaked the Tweaks File with more Tweaks so the Tweakers who like to Tweak can stop Tweaking as its Tweaked by default and No other Tweaks are needed to Tweak it even further. Any more Tweaking brings you to the law of diminishing returns... (you get the point so I'll stop there...)
- Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)
- Add back default sampling_down_factor for Sleepy CPU Governor
- Added [PATCH] mach-s5pv310: Make cpuidle AFTR entry less chatty by Entropy512 <[email protected]>
- Added various clocksource patches from lkml.org (check the commit log for details)
.index = L0,
.arm_volt = 1450000,
.int_volt = 1100000,
.index = L1,
.arm_volt = 1300000,
.int_volt = 1100000,
.index = L2,
.arm_volt = 1300000,
.int_volt = 1050000,
.index = L3,
.arm_volt = 1200000,
.int_volt = 1050000,
.index = L4,
.arm_volt = 1100000,
.int_volt = 1050000,
.index = L5,
.arm_volt = 1000000,
.int_volt = 975000,
.index = L6,
.arm_volt = 975000,
.int_volt = 950000,
.index = L7,
.arm_volt = 950000,
.int_volt = 925000,
{LV_0, 400000, 1000000},
{LV_1, 267000, 975000},
{LV_2, 133000, 975000},