Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[Kernel][4.4][carcosa-kernel][Stock kernel with cherry-picked features][2014/04/24]

OP jfmcbrayer

26th February 2014, 03:30 PM   |  #1  
jfmcbrayer's Avatar
OP Senior Member
Thanks Meter: 61
 
145 posts
Join Date:Joined: May 2011
1. Motivation/overview

This is a kernel for the 2012 Nexus 7 (grouper/tilapia) which sticks as closely as possible to the stock/released kernel sources, while incorporating the features I want from other popular alternative kernels. I've built it because my Nexus 7 3G (tilapia) has trouble with all of the non-stock kernels I've tried -- something causing USB resets in a tight loop. I rebuilt the stock kernel and started adding my favorite features in order to rule out what was causing the problem, but ended up with a kernel I preferred for day-to-day use.

You might like it, too.

Note that there is very little original content in this kernel: see the credits below and the github repository for the sources of the included features.

2. Features

IO Schedulers
  1. bfq
  2. row

CPU Governors
  1. smartmax
  2. wheatley

Misc
  1. Build with -Os (optimize for size)
  2. GPU overclock
  3. Experimental: remove baseband_xmm_power wakelock
  4. f2fs driver (see note in second post)
  5. ntfs r/w (see note in second post)
  6. CPU voltage control
  7. Mount slave namespace workaround
  8. CPU overclock (against my better judgement).

3. Instructions

This kernel is intended primarily for use with the stock ROM. The first releases (mr1 and a20) were built with a stock ramdisk, and will generally not work on other ROMs. Later releases use an AnyKernel updater and may work on other ROMs. I am only able/willing to test on stock, however, so non-stock users, use at your own risk (even more than usual).

To install, boot into your custom recovery of choice and install one of the zips below. Or use Flashify. Be sure to make a backup with your recovery first.

4. Warning and disclaimer

I am not responsible for any harm caused to you, your tablet, or the integrity of the space-time continuum by this kernel. In the words of the GNU Public License:


NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


5. Downloads

Milestone releases:
mr1: carcosa-kernel-mr1.zip

Alpha releases:
a20: carcosa-kernel-a20.zip
Includes experimental patch removing baseband_xmm_power wakelock.
a22: carcosa-a22-anykernel.zip
Includes changes to governor defaults, ntfs r/w support, and the f2fs driver.
a23: carcosa-a23-anykernel.zip
Includes voltage control (undervolting) interface.
a25: carcosa-kernel-a25.zip carcosa-a25-anykernel.zip
Includes mount slave namespace workaround, CPU overclocking (against my better judgement)
a27: carcosa-a27-anykernel.zip
4.4.3 update
a28: carcosa-a28-anykernel.zip
Remove baseband_xmm_power wakelock again, rather than making it time out.
a29: carcosa-a29-anykernel.zip
Add configurable baseband_xmm_power wakelock timeout

6. Source

Sources are on github, which is also your best source for changelogs.

7. Credits

This kernel contains precious little original work -- it builds on the stock kernel release and applies cherry-picked patches from various sources, principally M-Kernel (Metallice) Franco-kernel (Francisco Franco), and Oxydo (Sgt. Meow), but also Faux123, Ezekeel, Maxwen, and many others. My main contributions have been picking the things I wanted, and resolving the occasional hairy merge. I have attempted to maintain the original authorship information in my git logs as much as possible; I apologize for any cases where the attribution of a particular patch has been lost.
Last edited by jfmcbrayer; 15th July 2014 at 03:08 AM.
The Following 18 Users Say Thank You to jfmcbrayer For This Useful Post: [ View ]
26th February 2014, 03:31 PM   |  #2  
jfmcbrayer's Avatar
OP Senior Member
Thanks Meter: 61
 
145 posts
Join Date:Joined: May 2011
Notes

F2FS support

While this kernel (from a22 on) includes the f2fs driver, it does not include any of the ramdisk or init tweaks that you would need to use f2fs. This is because I am not in a position to test f2fs myself. That said, the a22 (and later) kernel installer will not disturb any changes you have already made to your ramdisk or ROM to support f2fs, so if you have already got f2fs working on your device, it should continue to work after installing this kernel. Don't forget to do a nand backup in your recovery before installing, though. Seriously.

NTFS R/W support

This kernel (from a22 on) includes RW support for NTFS. However, in KitKat, NTFS USB drives mounted with StickMount are not writable due to SELinux policy. To write to an NTFS USB drive, you need to (from a root shell) 'setenforce off', then 'setenforce on' when you're done using it. I do not recommend that you put SELinux in permissive mode permanently. It's there for a reason, and this is just a workaround for a policy error in KitKat. The SELinux SetEnforce Toggle app is a convenient way to turn it off and on for this.

Mount slave namespace workaround

Android apps that mount filesystems (e.g. CIFS, Lil'Debi's loopback fs), mount them in a private namespace that is not shared with other apps (as explained by mkasick). There is a rom-based workaround applied in CM-based roms, and probably many others, but not in stock. Instead, I am applying his kernel/ramdisk based workaround. If you are on stock and need this workaround, do not use the anykernel build; use the one with the full disk image.

Configurable baseband_xmm_power wakelock timeout

This is based on work by Sgt. Meow, with some tweaks. It is controlled by the module param /sys/modules/baseband_xmm_power/bb_timeout, which defaults to 10, and represents the time, in 10ths of a second, that the baseband_xmm_power wakelock should be acquired for before timing out. 0 will disable the wakelock completely as in earlier versions of carcosa-kernel. These semantics are not the same as those for the same parameter in Oxydo, so be aware.

-------------------------------------------------------------------------------------------------------
Camilla: You, sir, should unmask.
Stranger: Indeed?
Cassilda: Indeed, it's time. We all have laid aside disguise but you.
Stranger: I wear no mask.
Camilla: (Terrified, aside to Cassilda) No mask? No mask!
– from Act 1, Scene 2 of The King In Yellow
Last edited by jfmcbrayer; 15th July 2014 at 03:13 AM.
The Following 2 Users Say Thank You to jfmcbrayer For This Useful Post: [ View ]
28th February 2014, 05:30 AM   |  #3  
bjcrj's Avatar
Senior Member
Thanks Meter: 181
 
401 posts
Join Date:Joined: Sep 2012
Kernel rocks! Thanks!
Attached Thumbnails
Click image for larger version

Name:	uploadfromtaptalk1393561832190.jpg
Views:	1423
Size:	25.9 KB
ID:	2604963   Click image for larger version

Name:	uploadfromtaptalk1393561844296.jpg
Views:	1289
Size:	20.1 KB
ID:	2604964  
28th February 2014, 02:07 PM   |  #4  
jfmcbrayer's Avatar
OP Senior Member
Thanks Meter: 61
 
145 posts
Join Date:Joined: May 2011
Quote:
Originally Posted by bjcrj

Kernel rocks! Thanks!

You're welcome. Are you using the milestone release or the alpha? And are you on grouper or tilapia? I want to know if the baseband_xmm_power hack is being tested by anyone besides me.
28th February 2014, 05:10 PM   |  #5  
bjcrj's Avatar
Senior Member
Thanks Meter: 181
 
401 posts
Join Date:Joined: Sep 2012
Quote:
Originally Posted by jfmcbrayer

You're welcome. Are you using the milestone release or the alpha? And are you on grouper or tilapia? I want to know if the baseband_xmm_power hack is being tested by anyone besides me.

I am using the alpha. I run a grouper rom on tilapia and didn't have any wake lock issues.
The Following User Says Thank You to bjcrj For This Useful Post: [ View ]
14th March 2014, 12:23 PM   |  #6  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Oct 2007
Hi, I'm using the newest CM Release and after flashing the kernel i got a com.android.phone has stopped error. I cleared the cache and the dalvik before restart.
14th March 2014, 12:33 PM   |  #7  
jfmcbrayer's Avatar
OP Senior Member
Thanks Meter: 61
 
145 posts
Join Date:Joined: May 2011
Quote:
Originally Posted by gremlin89

Hi, I'm using the newest CM Release and after flashing the kernel i got a com.android.phone has stopped error. I cleared the cache and the dalvik before restart.

The boot.img in the zips I've provided us built with a stock ramdisk, and CM needs its own ramdisk. Perhaps I could build an AnyKernel zip for non stock users.
14th March 2014, 04:00 PM   |  #8  
pjcanales's Avatar
Senior Member
Flag Batesville
Thanks Meter: 70
 
355 posts
Join Date:Joined: Dec 2010
More
Quote:
Originally Posted by bjcrj

Kernel rocks! Thanks!

What ROM are you using?

Sent from my Nexus 7 using xda premium
16th March 2014, 12:29 AM   |  #9  
adrman's Avatar
Senior Member
Flag NYC
Thanks Meter: 161
 
526 posts
Join Date:Joined: Jul 2012
More
Just flashed mr1 on bshiznit’s stock ROM earlier today. So far it's running nice and smooth. Nice work!

Sent from my Nexus 7 using Tapatalk
16th March 2014, 06:45 AM   |  #10  
bjcrj's Avatar
Senior Member
Thanks Meter: 181
 
401 posts
Join Date:Joined: Sep 2012
Quote:
Originally Posted by pjcanales

What ROM are you using?

Sent from my Nexus 7 using xda premium

Aospal

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes