Development [KERNEL] [blu_spark r126] [A13 May 2023]

Search This thread

eng.stk

Senior Member
Mar 29, 2011
7,254
61,355
OnePlus 5T
OnePlus 6
DWHxIK

Kernel features:
  • Build with custom upstream LLVM 14.x (Clang 14.0.6 + LLD linker + IAS)
  • ThinLTO full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
  • Less is more: stockish kernel+modules+dtb builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android13-qpr2)
  • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
  • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
  • Removed some debug and logging options
  • Misc ARM performance and battery patches
  • CVE security patches, general upstream and fixes for important subsystems when applicable
  • No OC, use 250HZ base timer frequency
  • Enhanced TCP methods (westwood is default, BBR and others available)
  • Some I/O tweaks (SSG added), advanced filesystems enabled (ExFAT upstreamed, , CIFS & NFS)
  • ZRAM set at 3G (default lz77eh with lzo-rle, zstd, etc available)
  • WIP: Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
  • Gamepad support enabled (xbox, ps4, switch)
  • USB2 Fast Charge (force USB CDP mode up to 1500mA with MTP on)
  • TWRP Support(LZMA/LZ4 Ramdisk)
  • Wireguard updates
  • Compatible with Kernel Flasher, EXKM, FKM , Kernel Adiutor and others


DOWNLOAD KERNEL ZIP
Kernel Flasher/FKM download configs: HERE
(No mirrors please)​


Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
If you are upgrading between blu_spark versions, just flash the kernel zip.

About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
Also try not to spam the thread with too much OT. There's threads for all kind of stuff, use them.

Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img/vbmeta.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


Source Code: https://github.com/engstk/pxl6
Don't forget to hit thanks, it's free ;)
 
Last edited:

eng.stk

Senior Member
Mar 29, 2011
7,254
61,355
OnePlus 5T
OnePlus 6
blu_spark_r29 (A12)

So here's blu_spark for the oriole (and probably raven ;p)

Been cracking around on this since I got the device a couple weeks ago.
The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.

My primary objective was also to make a full builtin kernel, but seems like init expects modules and other stuff to be in place so it's a no go, at least for now (maybe with some further init stages crack it's possible, idk)
So kernel output is splitted across boot.img, vendor_boot.img and vendor_dlkm.img.

I also take the time to make AK3 basic hdr v4 compliant (big shouts to @osm0sis for being the best wingman, as always). Because fastboot is tedious and since it's 2021 there's no room for that in my builds.
You can flash the AK3 kernel zip in your favorite kernel app with autoflash functions or with TWRP when/if available. If you want/need to go stock again, instructions are on OP.
Besides Pixel 6, this should work on Pro also, but I can only test on Oriole, let me know how it goes on Raven if you're brave enough.

You can use FKM download kernel feature, just import the link bellow in the app flash section.
FKM download config: HERE


Changelog:
  • Build with Google Clang 12.0.5 + LLD linker
  • Full kernel based from kernel/gs+google-modules @ android-gs-raviole-5.10-android12-d1 (android-12.0.0_r0.17) (Nov 2021.1)
  • Several build fixes and improvements (check git for details)
  • drivers: google-modules: make it build and additional fixes, remove cruft
  • Disable some debug and logging
  • FS and F2FS improvements
  • Enable advanced TCP congestion control (westwood default)
  • Add wakelock blocker framework
  • Tuned a couple IO and ZRAM runtime stuff
  • AK3 updates (v20211118) plus my own additional fixes for hdrv4 flashing (big shouts @osm0sis for the help)
  • For root, canary Magisk 23015 or newer is mandatory


Keep in mind: I will give no active support for custom ROMs (including stock based ones).
I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


No mirrors please
Don't forget to hit thanks, it's free :)
 
Last edited:

cultofluna

Senior Member
Nov 25, 2015
4,104
2,085
Google Pixel 6 Pro
Google Pixel 7
DWHxIK

Kernel features: (WIP)
  • Build with Google Clang version 12.0.5 + LLD linker
  • Full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
  • Less is more: stockish builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android12-d1)
  • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
  • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
  • Removed some debug and logging options
  • Misc ARM performance and battery patches
  • CVE security patches, general upstream and fixes for important subsystems when applicable
  • No OC, use 250HZ base timer frequency
  • Enhanced TCP methods (westwood is default, BBR and others available)
  • Some I/O control tweaks, advanced filesystems enabled (F2FS, ExFAT, NTFS, CIFS & NFS)
  • ZRAM set at 4G (default lz77eh with lzo-rle, zstd, etc available)
  • Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
  • Gamepad support enabled (xbox, ps4, switch)
  • USB2 Fast Charge (USB mode up to 900mA with MTP on)
  • Wakelock blockers available
  • TWRP Support(LZMA/LZ4 Ramdisk)
  • Compatible with EXKM, FKM , Kernel Adiutor and others


DOWNLOAD KERNEL ZIP
FKM download configs: HERE
(No mirrors please)​


Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
If you are upgrading between blu_spark versions, just flash the kernel zip.

About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
Also try not to spam the thread with OT. There's threads for all kind of stuff, use them.

Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


Source Code: https://github.com/engstk/pxl6
Don't forget to hit thanks, it's free ;)
Thanks for kernel...
To go back to stock all three images ( boot, dtbo, vendor dlkm) can be flsahed through EX kernel manager actually....
 
  • Like
Reactions: rolarocka
blu_spark_r29 (A12)

So here's blu_spark for the oriole (and probably raven ;p)

Been cracking around on this since I got the device a couple weeks ago.
The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.
Is this the reason there aren't many custom kernels up until now? I thought the GKI would make things easier at least after some time that devs get more accustomed with it.

Btw nice to see you here I was running your kernel for the past few months on op8pro.
 
  • Like
Reactions: kevp75 and eng.stk

eng.stk

Senior Member
Mar 29, 2011
7,254
61,355
OnePlus 5T
OnePlus 6
Is this the reason there aren't many custom kernels up until now? I thought the GKI would make things easier at least after some time that devs get more accustomed with it.

Btw nice to see you here I was running your kernel for the past few months on op8pro.
Well GKI is for getting vendor/oem life easier the way updates are maintained.
Actually the choices the big G has made over time complicate the aftermarket tinkering.
They are making thinks too convoluted for instance, keeping source scattered all over the place creating artificial dependencies, using a build backend full of unneeded junk, output goes in random places just because, images full of junk with multi-ramdisks and padding with weird layouts, etc.
They started complicating ROM stuff, partitions, etc. Then they went after gapps and root. Now it's kernel.
Android is becoming ChromeOS imo.
Doesn't mean things can't be modded, just the way they are going is deterring to do it.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Let me ask a question.... I have read through the thread and am still a little confused.... Sounds like the main purpose of this kernel is optimization if I am reading it right. Smaller in size but still using stock as a base.

    What is unclear to me is what are the real world benefits of this kernel?
    Better performance?
    Better battery life?
    Smaller memory profile?
    Better heat management?
    Better network performance?

    Most of the kernels I have dealt with in the past had a main goal, something their kernel just did better or improved on vs pure stock.

    Asked another way as a "tinkerer" and not a dev in any sense of the term, why would I want to load this?

    I hope this is not seen as negative or derogatory as I am just trying to understand and NOT being a dev type the list of differences/changes really don't mean much to me so I am asking to put it layman's terms.
    1
    I can only say one thing: the smartphone is always cold.
  • 66
    DWHxIK

    Kernel features:
    • Build with custom upstream LLVM 14.x (Clang 14.0.6 + LLD linker + IAS)
    • ThinLTO full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
    • Less is more: stockish kernel+modules+dtb builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android13-qpr2)
    • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
    • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
    • Removed some debug and logging options
    • Misc ARM performance and battery patches
    • CVE security patches, general upstream and fixes for important subsystems when applicable
    • No OC, use 250HZ base timer frequency
    • Enhanced TCP methods (westwood is default, BBR and others available)
    • Some I/O tweaks (SSG added), advanced filesystems enabled (ExFAT upstreamed, , CIFS & NFS)
    • ZRAM set at 3G (default lz77eh with lzo-rle, zstd, etc available)
    • WIP: Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
    • Gamepad support enabled (xbox, ps4, switch)
    • USB2 Fast Charge (force USB CDP mode up to 1500mA with MTP on)
    • TWRP Support(LZMA/LZ4 Ramdisk)
    • Wireguard updates
    • Compatible with Kernel Flasher, EXKM, FKM , Kernel Adiutor and others


    DOWNLOAD KERNEL ZIP
    Kernel Flasher/FKM download configs: HERE
    (No mirrors please)​


    Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
    If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
    If you are upgrading between blu_spark versions, just flash the kernel zip.

    About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
    If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
    Also try not to spam the thread with too much OT. There's threads for all kind of stuff, use them.

    Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img/vbmeta.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


    Source Code: https://github.com/engstk/pxl6
    Don't forget to hit thanks, it's free ;)
    37
    blu_spark_r29 (A12)

    So here's blu_spark for the oriole (and probably raven ;p)

    Been cracking around on this since I got the device a couple weeks ago.
    The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
    So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.

    My primary objective was also to make a full builtin kernel, but seems like init expects modules and other stuff to be in place so it's a no go, at least for now (maybe with some further init stages crack it's possible, idk)
    So kernel output is splitted across boot.img, vendor_boot.img and vendor_dlkm.img.

    I also take the time to make AK3 basic hdr v4 compliant (big shouts to @osm0sis for being the best wingman, as always). Because fastboot is tedious and since it's 2021 there's no room for that in my builds.
    You can flash the AK3 kernel zip in your favorite kernel app with autoflash functions or with TWRP when/if available. If you want/need to go stock again, instructions are on OP.
    Besides Pixel 6, this should work on Pro also, but I can only test on Oriole, let me know how it goes on Raven if you're brave enough.

    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Build with Google Clang 12.0.5 + LLD linker
    • Full kernel based from kernel/gs+google-modules @ android-gs-raviole-5.10-android12-d1 (android-12.0.0_r0.17) (Nov 2021.1)
    • Several build fixes and improvements (check git for details)
    • drivers: google-modules: make it build and additional fixes, remove cruft
    • Disable some debug and logging
    • FS and F2FS improvements
    • Enable advanced TCP congestion control (westwood default)
    • Add wakelock blocker framework
    • Tuned a couple IO and ZRAM runtime stuff
    • AK3 updates (v20211118) plus my own additional fixes for hdrv4 flashing (big shouts @osm0sis for the help)
    • For root, canary Magisk 23015 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    15
    blu_spark_r85 (A13)

    New build is up!

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    For flashing and easy of install logging, Kernel Flasher by @capntrips is recommended

    You can use Kernel Flasher/FKM download kernel feature, just import the link bellow in the app updates/flash section.
    Download config: HERE


    Changelog:
    • ThinLTO build with custom upstream LLVM 14.x (Clang 14.0.6 + LLD linker + IAS)
    • Sync with oriole-tp1a.220624.021
    • For root, Magisk 25.2 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit like, it's free :)
    14
    blu_spark_r45 (A12)

    New build is up!

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Merge branch android-gs-raviole-5.10-android12-qpr1-d (android-12.0.0_r0.36) (Jan 2022.1)
    • Rebase and cleanup
    • Wireguard updates (linux-5.10.y)
    • For root, Magisk 23016 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    14
    blu_spark_r81 (A13 beta)

    New build is up!

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • ThinLTO build with custom upstream LLVM 14.x (Clang 14.0.5 + LLD linker + IAS)
    • Rebase to branch android-gs-raviole-5.10-t-beta-4 (android-t-beta-4_r0.4)
    • Additional build/google-modules/vendor fixes
    • wireguard and exfat updates
    • Couple cleanup reverts
    • For root, Magisk 25.1 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit like, it's free :)