[KERNEL] Bricked-Kernel Grouper/Tilapia

Search This thread

googleygoggles

Senior Member
Dec 9, 2013
2,093
1,389
OnePlus 8T
Let's take the betas as example. Under "Changes" there will be a link with all changes done to the kernel. Since this is a nexus device (and I merge with --no-ff), merging something from google always contains the repo url and branch I merged from.
So let's look at, I don't know... let's look at 20141113_095032_exp-c730c31. The "Changes" link for that is pointing here.
Now use CTRL+F (or your eyes, if you are oldsql and boring) to search for "Merge remote-tracking branch". You will find this at the bottom:

This means that this kernel is for lollipop, since I merged from Google's lollipop branch. Let's look at the previous kernel...

Kernel: 20141113_094602_exp-e5ca0b4
Changes: https://github.com/showp1984/bricked-grouper-3.x/compare/b0387d0...e5ca0b4
You will find no merges from Google, so we don't yet know for what version this kernel is. So let's look at the previous kernel...

Kernel: 20141110_113021_exp-b0387d0
Changes: https://github.com/showp1984/bricked-grouper-3.x/compare/b0387d0...e5ca0b4
At the bottom you will see this:

Bam. From here on until the lollipop merge it's kitkat!

Ergo: 20141113_094602_exp-e5ca0b4 is the last kitkat kernel, since 20141113_095032_exp-c730c31 is the first lollipop.

Wow, that actual made sense!
Edit: thanks man, (or I could just press that button ;) )
 
Last edited:

sweetsuicide

Member
Feb 2, 2014
21
1
Hi, sorry for the idiotic questions:
* when you say "the most customizable kernel" do you intend stuff like frequencies and the like (like using the tool you suggest in the main page) or do you also refer to other paramenters ?
** Are these parameters stuff in the standard init.d scripts?
*** Is this stuff distro related?
*** Is this stuff kernel related?

More simply:
* Can I use this kernel on MinimalOS with any improvement on the performance?
* Can I use this kernel on ResurrectionRemix with any improvement on the performance?
* Can I use this kernel on Cyanogenmod 12.1 with any improvement on the performance?

In any case I would like to thank everybody involved in the development of this kernel: it makes my stock 5.1.1 snappier and at least usable!!!
 

trowakage

Senior Member
Jun 10, 2008
100
6
Xiaomi Redmi Note 4
Has anyone tried using the 20150501 release with the latest CM12.1 snapshot?

I had the snapshot installed with F2FS and from this I think the CM12.1 stock ramdisk and cmdline should already support F2FS but after I flashed the kernel it's stuck at the CM logo.

You need a ramdisk with f2fs support prior to flashing bricked.
Bricked does not bring it's own ramdisk along, it instead reuses your installed ramdisk and cmdline, which prevents overwriting a lot of stuff that rom developers usually edit. Franco on the other hand comes in a boot.img (iirc), which contains kernel + cmdline + ramdisk. That way franco can offer a f2fs boot.img (with the ramdisk edit) and a normal one, whereas I can't.

Delivering a boot.img is bad for a multitude of reasons, mostly because it overwrites everything, and there will be no-booters if your rom dev has made some critical adjustments which get overwritten.
It's also confusing because I would need to provide a boot.img for every rom and version/update (optimally, to ensure compatibility), which is obviously a full time job if you look at the number of roms available for only _ONE_ device.
 

Byrana

Senior Member
Jun 8, 2010
663
141
Berlin
Yes, I did. It works quite well, except of data and WiFi drop. It won't receive a signal. A reboot will fix it. Unfortunately, it is a now go for me and I found out after buying kcontrol. Show-p can you fix that?
 

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
Yes, I did. It works quite well, except of data and WiFi drop. It won't receive a signal. A reboot will fix it. Unfortunately, it is a now go for me and I found out after buying kcontrol. Show-p can you fix that?

I could have a look later. On which rom is this? (the CM12.1 snapshot?)
Stock on the grouper/tilapia only goes to lp iirc (which works fine, tested on 5.1.1 LMY47V).
 
  • Like
Reactions: Harpratap

Byrana

Senior Member
Jun 8, 2010
663
141
Berlin
I had the issues both on snapshot and the cm 12.1 nightlies. Another thing that is weird, is that when I use kcontrol and try to open Low Memory Killer, kcontrol crashes. I flashed parrot univ. mod just to see if it changes anything lagwise and found by chance, that kcontrol starts working fine. Just flashed an old backup of cm12.1 nightly (latest) without parrot mod and kcontrol crashes again, when trying to open Low memory killer. Flashed parrot again...kcontrol works. Anyways, I had some trouble with busybox since cm 12.1 seems to use a systemless root method and if I read your instructions right, busybox is needed either in system/xbin or system/bin, because of the script. Wlan worked though. I now flashed supersu 2.52 to get a non systemless root. Installed busybox and flashed your kernel again. I will see if I get the no sim inserted problem again. lsmod only shows some kcontrol gpu tegra module. Wlan and 3G is working at the moment, as in previous tries. So right now my settings are su 2.52, latest busybox (busybox on rails), parrot univ. mod. It seems like init.d is not being executed.
 

andyro2008

Senior Member
Nov 22, 2012
250
89
Rosario
I was looking a way to change the max GPU clock without reflashing the kernel. Just want to enable aand disable the overclock. It's there a way? Using terminal emulator or something?


Enviado desde mi Nexus 7 mediante Tapatalk
 

frickingphil

Member
Mar 4, 2010
16
2
Hello, thanks for the kernel.

Is there any way to get logcat working with this kernel? I flashed it to SlimKat and I can't seem to get logcat working again... All I get is this:

Code:
Unable to open log device '/dev/log/main': No such file or directory
 

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
Hi I'm interested in this kernel but all links are down please post new ones

Which links are down?
The download link gets me to the bricked.de download page and there you can search and download. There is an issue with the dropdowns I just noticed, but that won't keep you from downloading. ;)
 

Chep2185

Member
Nov 1, 2017
7
0
All the the links are down and clicking on any bricked.de links takes me to this page called the light side, the dropbox link is 404'd.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 177



    Welcome to the most customizable N7 kernel on xda:)
    Bricked-Kernel Nexus 7 (grouper)


    Replaced NVIDIA's strange hotplug manager with my own: tegra_mpdecision

    Features:

    Based upon Googles tegra3 source
    Fixed section mismatches
    Various other fixes (look @ github)
    Compiled with gcc4.7.2 toolchain (linaro 09.12)
    Replaced NVIDIAs hotplug manager with tegra_mpdecision (better battery life + performance)
    Extensive sysfs interface for mpdecision with all the tuneables you want
    Highly modified ondemand governor for tegra3 & mpdecision (this is the only recommended governor atm)
    Fixed usage of 51Mhz clock
    GPU OC (416/484/520Mhz)
    Truly variant free CPU OC for all devices (51 - 1600Mhz)
    Fixed max cpufreq resets throughout the kernel
    All cores now use the max frequency (before: only in singlecore, otherwise -100Mhz)
    Undervolting (faux123)
    Default clocks: 102min & 1300max (+100Mhz overclocked) & 475 Maxscroff
    earlysuspend/lateresume for ondemand including special screen off settings to save power
    Aroma Installer by amarullz
    cmdline interface for cpu min/max/maxscroff/gpuoc/scheduler/governor
    ---Just flash the kernel with your desired settings, no more need for oc apps. Reflash if you want to change sth. It's that easy!
    FSync Control by Ezekeel
    export t3 variant to debugfs by faux123 (adb shell cat /sys/kernel/debug/t3_variant)
    lowered panel min brightness to 8
    ZRAM
    enabled NFSv3&4
    Check the compare links for the rest :)

    Where is tha Changelog???

    There will be no more changelogs.
    Instead the download pages were outfitted with compare links to github for each download.

    How to install?

    Flash through recovery. #done.

    Where to complain about errors/bugs?

    Please use the Issuetracker for bugs/errors/feature wishes!
    Issuetracker @ https://code.google.com/p/bricked/issues/entry

    showp1984@googlemail.com
    IRC Chat: Freenode IRC #bricked

    Download:

    No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
    (If you download, please hit Thanks below my post! Thank you!)

    >>> DOWNLOAD <<<




    Source:



    23
    It is sad to see @show-p1984 not updating its kernel anymore.. It had a great start and there it seems to end :(

    Yeah right. Try rewriting half of the i2c transactions just to get a proper transfer when the n7 is sleeping and I will release it asap. Otherwise gtfo with your attitude.

    Some ppl seem to believe I am only sitting around and juggling my balls all day long, so that posting "this kernel is dead" might get me off my lazy ass.
    Just pray that this doesn't backfire one day.
    16
    Knowledge base:


    What is tegra_mpdecision?

    100% kernel based multi core decision! (should cpu1/2/3 be online or not, do we need the low-power/ninja core now?)
    This replaces the stock nvidia hotplug solution.

    Check /sys/kernel/tegra_mpdecision/conf/ for the configuration.

    startdelay = time until mpdecision starts doing it's magic (20000)
    delay = time between checks (130)
    pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
    scroff_single_core = Force low-power mode if screen is off (1)
    enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
    min_cpus = min cpus to be online, cannot be < 1. Default: 1
    max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
    idle_freq = a value against that will be checked if a core +/- is requested. (475000)
    lpcpu_up_hsyteresis = minimum number of requests that have to be send in order to switch to low-power mode (4)
    lpcpu_down_hsyteresis = minimum number of requests that have to be send in order to switch to g-mode (quadcore-mode). Overridden by a requested freq that is higher than the max supported lp-mode frequency. (2)
    If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
    If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)


    Hot plug thresholds (aka now it gets 'complicated')
    This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
    The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
    The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.

    nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
    twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)

    Example:
    One cpu is online.
    (1 - 1) * 2 = 0 ergo:
    nwns_threshold_0 = cpu1 will be hotplugged at this value
    ((1 - 1) * 2) + 1 = 1
    nwns_threshold_1 = cpu0 will be unplugged at this value
    This will regulate when we switch to lp-mode, effectively replacing the quadcore g-mode core with the ninja lp-mode core.

    Two cpus are online.
    (2 - 1) * 2 = 2 ergo:
    nwns_threshold_2 = cpu2 will be hotplugged at this value
    ((2 - 1) * 2) + 1 = 3
    nwns_threshold_3 = cpu1 will be unplugged at this value

    etc...

    (all times are in ms)
    If you want to see the mpdecision magic happening:
    Code:
    adb shell
    cat /proc/kmsg | grep 'MPDEC'
    mpdecision's input event boost, aka project butter :p

    This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
    In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
    Configuration files:
    root@android:/sys/kernel/tegra_mpdecision/conf # ls
    boost_enabled
    boost_freqs
    boost_time

    All of them work like the usual sysfs files, except one special case:
    boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
    To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
    Code:
    echo "3 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
    for cpu0:
    Code:
    echo "0 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs

    Defaults:
    Code:
    cat /sys/kernel/tegra_mpdecision/conf/boost_freqs
    910000
    910000
    760000
    620000
    Recommended governor?

    Ondemand.
    Why do I have no WLAN?

    This kernel is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.

    The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.

    if
    Code:
    adb shell lsmod
    doesn't show this:
    Code:
    tun 14060 0 - Live 0x00000000
    cifs 239646 0 - Live 0x00000000
    bcmdhd 433083 0 - Live 0x00000000
    Then init.d support is probably missing.
    You can test it by going to /system/etc/init.d/ and executing 00wlan.
    Code:
    adb shell
    su
    . /system/etc/init.d/00wlan

    Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show bcmdhd as live, you can execute 01cifs and 02tun too).
    If WLAN now works, init.d support is missing.

    You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway (and who does unlock but not root their phone? :/)
    It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
    If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.



    16
    Version 0.58

    Download: Click me

    Nexus 7 3g Support (Google upstream), Audio DAC support, support for Chinese QF9700-based USB Ethernet adapters (diaknia)

    More can be read on bricked.de :)