[Kernel]Various Experimental Kernels - Glass Development

Google Glass Experimental Kernel Builds​
I don't have the google glass, but making a kernel is possible for all devices so why not. I have made some experimental builds using the official google kernel source and using the regular arm-eabi-4.4.3 toolchain because other toolchains gave errors while compiling.
I didn't test these kernels but they should work fine as they are built from official sources with the right defconfig, anyways, you're fully responsible for any damage caused to your expensive sunglasses :silly:
Initial Source: https://android.googlesource.com/kernel/omap/+log/glass-omap-xrr02/
Defconfig: notle_defconfig
Toolchain: arm-eabi-4.4.3
My source:
https://github.com/broodplank/glass-omap-xrr02
Installation guide:
Download the kernel you want, place it in a directory that contains fastboot and adb and rename it to boot.img
Then enter (if unlocked):
Code:
adb reboot bootloader
fastboot flash boot boot.img
fastboot reboot
Or when locked:
Code:
adb reboot bootloader
fastboot oem unlock
fastboot flash boot boot.img
fastboot reboot
Build #1 (stock boot.img with ro.secure 0 and modified adbd binary)
Based on stock boot.img from google
Info:
- Stock kernel
- ro.secure=0
- Modified adbd binary
Build param
unknown, probably -o2 since defconfig has -o2 default.
Download:
http://forum.xda-developers.com/attachment.php?attachmentid=2005346&stc=1&d=1369959602
Build #2 (Custom kernel built on -O3 param)
Ramdisk Based on build 1's ramdisk
Info:
- Fully optimized
- Compiled from source
- Added governor: smartassV2 (set as default)
- ro.secure=0
- Modified adbd binary
Build param
-O3 -fmodulo-sched -fmodulo-sched-allow-regmoves -fno-tree-vectorize
Warning: I don't know what the partition size is of the boot partition, if its under 5mb do not use this one (check cat /proc/partitions)
Download:
http://forum.xda-developers.com/attachment.php?attachmentid=2005351&stc=1&d=1369960135
Build #3 (Custom kernel built on -O2 param)
Ramdisk Based on build 1's ramdisk
Info:
- Optimized a bit
- Compiled from source
- Added governor: smartassV2 (set as default)
- ro.secure=0
- Modified adbd binary
Build param
-O2
Download:
http://forum.xda-developers.com/attachment.php?attachmentid=2005352&stc=1&d=1369960222
Build #4 (Custom kernel built on -OS param)
Ramdisk Based on build 1's ramdisk
Info:
- Optimized for size
- Compiled from source
- Added governor: smartassV2 (set as default)
- ro.secure=0
- Modified adbd binary
Build param
-Os
Download:
http://forum.xda-developers.com/attachment.php?attachmentid=2005361&stc=1&d=1369960340

First !!. Wonderful work brood !:good:

UpGado said:
First !!. Wonderful work brood !:good:
Click to expand...
Click to collapse
Thank you , do you own the glasses btw?

broodplank1337 said:
Thank you , do you own the glasses btw?
Click to expand...
Click to collapse
No , But I liked the idea of custom kernel for glasses

Related

[KERNEL] Semaphore ICS 1.3.0

This is a kernel based on the pawitp's one and it works for Android 4.0.x ICS ROMs.
Features
- LiveOC
- Custom Voltage
- Voodoo Sound
- BLN
- 373.5MB - 398.7MB available RAM
- Compiled with Linaro 4.7.2
- O3 optimization
- Semaphore Script Manager 0.75
- Auto brightness driver
- Touch Wake
- Vibration intensity
- Deep Idle
- USB host driver
- Governor ondemand (default)
- ondemand: sampling_down_factor tunable by momentum, smooth_ui
- Governor conservative (module, smooth_ui)
- Governor smartassV2 (module, smooth_ui)
- Noop I/O scheduler (default)
- Deadline I/O Scheduler (module)
- Simple I/O Scheduler (module)
- CFQ I/O Scheduler (module)
- Netfilter (iptables) as modules
- CIFS as module
- TUN as module
- Logcat disabled (as module only)
- Standard network packet scheduler
- Kernel log buffer size 4KB (from 128KB)
- Reduced debug info
- TinyRCU
- Fast Charge support
- WiFi PM_MAX when suspend
- CWM 6.0.1.0
- /system/etc/init.d directory creation if not exist
In order to load various modules of the kernel and enable or disable features use HM.Carbide's Semaphore Script Manager application. It automatically copies and runs the respective scripts from /res/scripts to /system/etc/init.d directory. The scripts:
- S05enable_oc_0800 (disable overclocking - caps max freq to 800Mhz)
- S05enable_oc_1000_default (disable overclocking)
- S05enable_oc_1100 (enable overclocking - max freq 1100MHz)
- S05enable_oc_1140 (enable overclocking - max freq 1140MHz)
- S05enable_oc_1200 (enable overclocking - max freq 1200MHz)
- S10enable_gov_conservative (load and enable conservative governor module)
- S10enable_gov_ondemand_default (enable ondemand governor)
- S10enable_gov_smartassV2 (load and enable conservative smartassV2 module)
- S15enable_sched_deadline (load and enable the deadline I/O scheduler module)
- S15enable_sched_noop_default (enable noop scheduler)
- S15enable_sched_sio (enable and load SIO scheduler module)
- S20enable_netfilter (load netfilter modules for firewall or WiFi, USB tethering)
- S30enable_logger (enable logging)
- S35enable_tun (load tun module)
- S40enable_cifs (load cifs module)
Custom Voltage may be configured with Voltage control or similar applications.
For more information check the semaphore kernel website: www.semaphore.gr
For questions or issues about Semaphore Script Manager please visit HM.Carbide thread
Thanks to Superuser, you may download a wonderful custom bootanimation for CM9 from http://www.semaphore.gr/downloads/boot-animations
Thanks to
pawitp for his kernel.
zacharias.maladroit for his useful information about CM's initramfs
HM.Carbide for his Semaphore Script Manager application.
Ezekeel for LiveOC, Custom Voltage
sztupy for USB host driver
koush for CWM
xcaliburinhand for his work about dock support
mialwe for his vibrator intensity and other fixes
ShadowInkDesigns for Android logo
trailblazerz11 for his help with Linaro and other changes
DerTeufel1980 for various hints
All people who support this kernel by testing, reporting issues, donating or simply using it.
Change log
1.3.0 (30/07/2012)
- added CFQ scheduler as module
- in call volume settings (thanks to DerTeufel for his hint)
- fix charging display for car dock (thanks to pawitp)
- CWM 6.0.1.0 (thanks to koush) *
- CWM: added AROMA Filemanager (thanks to amarullz)
- compiled with Linaro 4.7.2 201207
Normal versions (for CM9 or ROMs without hugemem configuration)
1.3.0
- 373.5MB - 385.7MB
For Slim ROM or patched ROMs with hugemem configuration
1.3.0s
- 386.5MB - 398.7MB
* Nandroid backups with CWM 6 are not compatible with previous versions.
1.2.6 (07/07/2012)
- USB mass storage disable write speed cache support (thanks kasper_h, DerTeufel1980 for the hint)
- CWM: Allow key to repeat on hold (thanks to FaultException, koush). Works for volume up, down and touch key menu (as down)
- CWM: fix selection bar color when battery < 21%
- CWM: upstream sync (thanks to koush) *
- initramfs sync some changes with CM9 (adb works in root by default in recovery)
- compiled with linaro 4.7.1 201206
Normal versions (for CM9 or ROMs without hugemem configuration)
1.2.6
- 373.5MB - 385.7MB
For Slim ROM or patched ROMs with hugemem configuration
1.2.6s
- 386.5MB - 398.7MB
* Please note that due to changes in nandroid backup/restore, previous versions of Semaphore can't restore backups from version >= 1.2.6. To be on the safe side, please renew your backups.
1.2.5 (19/06/2012)
- rebased to 3.0.17 (thanks to trailblazerz11 and eugene373 for their github)
- compiled with Linaro 4.7.1 toolchain (thanks to trailblazerz11 for his help)
- O3 optimization flag
- upstream sync (fixes for cdma in-call volume and mic gain included, thanks to pawitp, efpophis)
- WiFi PM_MAX when suspended
- fixed 800MHz underclocking
- changed boot splash screen
Normal versions (for CM9 or ROMs without hugemem configuration)
1.2.5
- 373.5MB - 385.7MB
For Slim ROM or patched ROMs with hugemem configuration
1.2.5s
- 386.5MB - 398.7MB
1.2.2 (01/06/2012)
- Bootloop detection (if no normal boot is detected the phone will be forced to recovery in next boot) *
- bugfix: enabling Wi-Fi hotspot twice (copy the new netfilter script in order this to work by disabling and then enabling again netfilter in Semaphore app)
- creation of /system/lib/modules if does not exist
- removed LMK scripts
- fix some typos in scripts description (thanks to cdmackay, HiKsFiles)
* It doesn't mean that this will necessarily resolve the known bootloop issue, but it may help on bootloops because of bad OC/UV etc.
Full changelog: http://www.semaphore.gr/changelog/ics-version
Deep Idle Guide and FAQ
Sources
The Linux Kernel
Samsung Kernel sources
Semaphore kernel sources
Please use it at your own risk!
The attachment zip files are for flashing from CWM recovery.
The attachment tar files are for flashing through Heimdall/ODIN.
Attachment files md5sum:
4a963c5183993b256c5a0d52f88bc2c7 Semaphore_ICS_1.2.6.zip
408178563587859c31a4c5a90b394166 Semaphore_ICS_1.2.6s.zip
3a0ca16342f811dfd9666ce3633a20b6 Semaphore_ICS_1.2.6.tar
c53114e74530e68c3b5cddb424343e8b Semaphore_ICS_1.2.6s.tar
753748fba3b590babcbfb76857bf609d Semaphore_ICS_1.3.0.zip
a6f0d7c9d2254d9a178248d48cf3de45 Semaphore_ICS_1.3.0s.zip
1e71744541d74fdd60d6b43c2dc767c7 Semaphore_ICS_1.3.0.tar
09e1e9806dc84c9c2e2341e38ebd51b0 Semaphore_ICS_1.3.0s.tar
Alternative download from http://www.semaphore.gr/downloads/gt-i9000-ics
1.2.5e Euro 2012 - Spain Special Edition
How to build Semaphore kernel
Prerequisites
Basic knowledge of Linux is required to be able to build the kernel. We will also need a modern Linux box (preferably).
Basic Setup
First, we need to setup a directory in which we will clone the kernel and initramfs repositories. In this guide, we will setup them in /tmp but you can do it in any directory you want.
In a terminal we run:
Code:
mkdir /tmp/semaphore
cd /tmp/semaphore
Then we clone the basic kernel repository:
Code:
git clone https://github.com/stratosk/samsung-kernel-aries
Finally we clone the initramfs repository:
Code:
git clone https://github.com/stratosk/ics-ramdisk
OK, first step done. We got the code. Now we have to do some preparation and compile it.
Configuration
I prefer to use a mini ugly script to compile the kernel and pack it. It's located in the root of the kernel tree (/tmp/semaphore/samsung-kernel-aries/sbuild.sh)
We open this file with an editor of our choice (I prefer vi) and edit:
1) The two lines with the 'make' command, changing the CROSS_COMPILE= option. We need to set the path from the cross compiler toolchain. I use the one that it's included in CM9 repository.
2) The line starting with the 'find' command, changing the kernel source directory and destination directory of the modules location. This is into the initramfs directory. In our example it's /tmp/semaphore/ics-ramdisk/ics_combo/files/modules
The Semaphore's kernel configuration is located in the file config_sema in the root kernel directory. So, we need to copy this file as .config:
Code:
cp config_sema .config
Then we run this command to start the Linux kernel configuration utility (again change the CROSS_COMPILE according to your toolchain directory):
Code:
make CROSS_COMPILE=/kernels/semaphore_cap/android/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- ARCH=arm menuconfig
We go to 'General Setup' section and we change the 'Initramfs source files' option to /tmp/semaphore/ics-ramdisk/ics_combo/
We also need to change the next 2 options User ID and Group ID to whatever uid and gid we are logged in in the Linux box. In my case is 500,500. We exit and save the configuration.
Compiling
Now we are ready to build the kernel!
We just run:
Code:
./sbuild.sh
We wait few minutes (time depends on the machine) and hopefully the compilation will end.
The script will produce 2 files.
1) /tmp/semaphore/samsung-kernel-aries/arch/arm/boot/zImage
2) /tmp/semaphore/ics-ramdisk/cwm/Semaphore_ICS_1.2.0s.zip
These are the 2 known files that we can flash via Heimdal or CWM respectively.
just flasshing
Nice.Finally.
Downloading.
w00t, nice job Semaphore
Now on ICS ^^
thanks for the hard work!
Simply flashtastic!!! I was missing you on ics...
Enviado de mi puño y letra
i get bootloop grgrgr someelse? or maybe some restart by script manager? idk testing..
Works ok.
Gps,wifi,compass,scripts.
Good job.Finally ics from stratosk.
Nice work
Will you be implementing Voodoo Colour as well?
F1tty said:
i get bootloop grgrgr someelse? or maybe some restart by script manager? idk testing..
Click to expand...
Click to collapse
Semaphore Script Manager application is not bundled in the kernel (not yet).
I'm on teamhacksung's CM9. I didn't test it on Onecosmic's ICS.
qureshali said:
Will you be implementing Voodoo Colour as well?
Click to expand...
Click to collapse
I really don't know. I think that the pawitp's color hacks is fine.
I just want to stabilize this first. Features from Semaphore GB version will be added one by one and if there is a need for this. Lot's of features are already included by pawitp's kernel.
Re
This is just what i was waiting for... downloading now i feel like trolling everywhere out of happiness
No prob. mate! Take your time. We all love your work & Kernel!!
I also think that it's no need for voodoo colour.
This colours looks very good.
You're the man... dude
I can flash this on onecosmic rom? ( rc3.1)
Broeser said:
I can flash this on onecosmic rom? ( rc3.1)
Click to expand...
Click to collapse
I've never tried it.
F1tty reported bootloops. I really don't know what's the differences.
Broeser said:
I can flash this on onecosmic rom? ( rc3.1)
Click to expand...
Click to collapse
we will all going to find out when i will flash it to 3.1 until then....
geia soy re strato partous ta sovraka kai sto 4.0.3
Awesome, will try on build 15 right away - loaded and everything seems ok.
first impression is: great color and contrast! it's like I have 3d on my sgs now!
wifi ok, 3g ok (switches really fast, great), calling ok, sensors ok (for dialer), gps ok, whatsapp, gmail.
thank you very much!

[ROM and GUIDE ] [Galaxy Nexus AOSP 4.3 fully completed with Toolchain Linaro 4.7.4]

Hello everyone, sorry for my english I'm using google translate. I was able to compile the toolchain linaro 4.7.4 kernel 3.0.72 is that the whole of the AOSP rom from source Google Samsung Galaxy Nexus.
Kernel + ramdisk:
Kernel updated to: 3.0.72 (compiled with Linaro GCC 4.7.4-2013.06.26)
Compressed zImage – LZO
Disabled ro.adb.secure
Enable adb remount
Available I/O Schedulers: Deadline – CFQ – No-op
Available CPUFreq govenor: performance – powersave – userspace – ondemand – interactive – conservative – hotplug
Enabled CIFS support
Enabled NFS support
Enabled TUN support
Fix shell adb in standard GNU/Linux
Enabled Local Version
Enabled /proc/config.gz
Enabled extract config zImage
System:
AOSP Jelly Bean 4.3 build JWR66V (compiled with Linaro GCC 4.7.4-2013.06.26)
Installed busybox
The rom has no root, also lack the google apps, if you want you can install ClockworkMod recovery, the links at the bottom of the download.
Installation Guide:
Install the ClockworkMod Recovery
Download the rom and copy the zip on sdcard
Reboot into recovery, do wipe data / factory restore and flash it.
Download
- Galaxy-Nexus-4.3-linaro-odexed
- Galaxy-Nexus-4.3-linaro-deodexed
- Root SuperUser 1.51
- gapps-jb-4.3
Galaxy Nexus 4.3 compiled with toolchain linaro 4.7.4 with cflags -O3
Galaxy_Nexus_4.3_linaro_odexed_02
The rom odexed seems much smoother and faster, to increase the speed of the luncher, go to Settings - enabled Developer options - select scale window animation, transition and animator 0.5x.
Credits:
- Google Android Source
- Team Project Linaro
- EstebanSannin
If you like my rom thank me with a Donation
Guide for completing the sources linaro:
- You must have installed ubuntu 10.04 64-bit compilation but also goes with ubuntu 13.04 64-bit tested by me and the oracle java 6
- Download the source AOSP Android 4.3, the Android Developers website explains how to do
- Download the kernel sources of the Galaxy Nexus:
Code:
git clone https://android.googlesource.com/kernel/omap.git
cd omap
git branch -a (This command will list the various kernel versions)
master
* remotes/origin/android-omap-tuna-3.0-jb-mr2
remotes/origin/HEAD -> origin/master
remotes/origin/android-omap-3.0
remotes/origin/android-omap-panda-3.0
remotes/origin/android-omap-steelhead-3.0-ics-aah
remotes/origin/android-omap-tuna-3.0
remotes/origin/android-omap-tuna-3.0-ics-mr1
remotes/origin/android-omap-tuna-3.0-jb-mr0
remotes/origin/android-omap-tuna-3.0-jb-mr1
remotes/origin/android-omap-tuna-3.0-jb-mr1.1
remotes/origin/android-omap-tuna-3.0-jb-mr2
remotes/origin/android-omap-tuna-3.0-jb-pre1
remotes/origin/android-omap-tuna-3.0-mr0
remotes/origin/android-omap-tuna-3.0-mr0.1
remotes/origin/glass-omap-xrr02
remotes/origin/glass-omap-xrr35
remotes/origin/glass-omap-xrr64b
remotes/origin/glass-omap-xrr88
remotes/origin/linux-omap-3.0
remotes/origin/master
remotes/origin/sph-l700-fh05
git checkout remotes/origin/android-omap-tuna-3.0-jb-mr2 (choose the last updated version of the 3.0.72 kernel jelly beans)
git checkout -b remotes/origin/android-omap-tuna-3.0-jb-mr2
- Download the toolchain linaro 4.7-2013.07 (4.7.4) from here
- Set the variables to compile the kernel:
Code:
export ARCH=arm
export CROSS_COMPILE=/home/utente/Scrivania/Galaxy_Nexus/Toolchain-Linaro/arm-linux-gnueabi-linaro_4.7.4/bin/arm-unknown-linux-gnueabi-
make tuna_defconfig (This command will load the config gnexus)
make menuconfig (this command using a graphic interface you can select and load the modules in the kernel and change the configuration)
make (start compilation)
- To compile the source google AOSP, we have to download this toolchain linaro 4.7.4: http://snapshots.linaro.org/android/~linaro-android/toolchain-4.7-bzr/447/android-toolchain-eabi-4.7-daily-linux-x86.tar.bz2
- We extract and copy it in the folder: sorgenti-aosp/prebuilts/gcc/linux-x86/arm/ in this folder are the gcc toolchain to google, I do not to confuse it with the other folders called arm-linaro-4.7, now we just have to edit the file TARGET_linux-arm.mk which is located in the sorgenti-aosp/build/core/combo and let's change the name of the folder on TARGET_TOOLCHAIN_ROOT,
by this way:
Code:
# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
TARGET_TOOLCHAIN_ROOT := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-$(TARGET_GCC_VERSION)
TARGET_TOOLS_PREFIX := $(TARGET_TOOLCHAIN_ROOT)/bin/arm-linux-androideabi-
endif
in this way:
Code:
# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
TARGET_TOOLCHAIN_ROOT := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linaro-$(TARGET_GCC_VERSION)
TARGET_TOOLS_PREFIX := $(TARGET_TOOLCHAIN_ROOT)/bin/arm-linux-androideabi-
endif
Once this is done you can start filling out the following site guides android source
Command to compile the AOSP rom odexed:
Code:
make DISABLE_DEXPREOPT=false WITH_DEXPREOPT=true
Oh I forgot before he ends up filling in the system you have to copy the folder that is created out of the blob proprietary Galaxy Nexus that you can take from your stock rom 4.3, otherwise the rom will not boot.
News:
I recompiled the rom with the cflags -O3, to set it in the sources I have modified the file TARGET_linux-arm.mk by so:
Code:
TARGET_arm_CFLAGS := -O2 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops
# Modules can choose to compile some source as thumb.
TARGET_thumb_CFLAGS := -mthumb \
-Os \
-fomit-frame-pointer \
-fno-strict-aliasing
in so:
Code:
TARGET_arm_CFLAGS := -O3 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops
# Modules can choose to compile some source as thumb.
TARGET_thumb_CFLAGS := -mthumb \
-O3 \
-fomit-frame-pointer \
-fno-strict-aliasing
I first tried to compile the rom exporting only the variables:
Code:
export CFLAGS="-O3 -pipe"
export CXXFLAGS="-O3 -pipe"
before giving the command make, but I was not sure so compiled with cflags -O3 , the compilation is completed without error but I have not tried the rom.
Compiling with the change to the file TARGET_linux-arm.mk[/ B] is finished without errors, the system.img who created me is 259.1 Mb, instead system.img with the export of cflags is 250 Mb, the same size as the system.img that I compiled without the cflags -O3, so I think that with the changes to the file are able to compile the cflags -O3, I just have to try the rom and take tests benchmark to see if the rom has been optimized and is smoother and faster.
I did some benchmark tests with Antutu on rom compiled with the cflags -O3, with freq to 1200 and governor performance did score of 7830, higher than the rom compiled without cflags -O3 and stock rom.
thanks bro.. i'm limited to 8 thanks per day.. i will thank you tomorrow
:thumbup:
Does this work with Linaro 4.8 ? I tried it and it wouldn't compile !
Shyam
I tried to compile the kernel with only 4.8 linaro but it is unstable and is across reboot
i have galaxy nexus with team win on it (and rooted) today i got the 4.3 jellybean update OTA, but when i click install, the phone restarts and go to team win, from there what are the steps to get the update? TNX
Sent from my Galaxy Nexus using xda app-developers app
homedog said:
i have galaxy nexus with team win on it (and rooted) today i got the 4.3 jellybean update OTA, but when i click install, the phone restarts and go to team win, from there what are the steps to get the update? TNX
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
I don't think a rooted GNex can be updated through OTA. You better download the flashable zip of the stock rom and flash it through recovery, or you can download the image file from the source and flash it through fastboot.

[EOL][KERNEL][STABLE][TW][O][8.0][ERH1][31.08.18][SM-G930F/FD] SuperKernel V3.1.0

SuperKernel for SM-G930F/FD/K/L/S/W8
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Supports all touchwiz roms 6.0.1 on BPH6 base and higher
IF YOU FOLLOW MY STEPS BELOW, YOU WILL LOSE YOUR WARRANTY, KNOX WILL DISPLAY 0x1! I'M NOT RESPONSIBLE FOR ANY DAMAGED DEVICE!
Please check Question and Answer Thread first!
If you want to take my work and need it somewhere, or do other things with it, please ask me first for the permission. Otherwise you are not allowed to take it! Thank you !
SuperMan-Rom, a Touchwiz based rom made by myself!
Features of this Kernel:
- Build with latest official google toolchain v4.9
- Build with ERH1 kernel source!
- Latest Linux version 3.18.120, is always up to date
- Performance and Batterylife improved
- Choose between different CPU governors: performance, powersave, userspace, ondemand, interactiv (default), conservative, zzmoove, barry_allen, nightmare, darkness, pegasusq, yankactive intelliactive, ondemandplus, intellimm, bioshock, lionheart, smartmax, smartass2, smartmax_eps, alucard, blu_active, cafactive, electrodemand, ondemand_x, hyper and intellidemand
- Built with latest ramdisk sources from samsung (ERG2)
- Frandom Support
- Thunderplug hotplug driver can be selected in aroma (only for advanced users!)
- Gzip compressed ramdisk (supersu, magisk etc will work fine)
- I/O schedulers: CFQ (Default), ROW, No-op, Deadline, BFQ, FIOPS, SIO, VR, ZEN, FIFO, maple and SIOplus
- UKSM (Ultra Kernel Samepage Merging)
- Zram can be set in synapse
- Gentle fair sleeper switch enabled
- StateNotifier included
- HTC's async added
- Fsync toggle
- LED Control
- Charging control
- HMP control
- Full CPU/GPU control in synapse
- DVFS in Synapse
- Many controllable wakelocks
- Underclock: big core to 312Mhz, little core to 338Mhz
- Overlock: depens on your ASV
- GPU OC to 806 Mhz
- Init.d Support
- NTFS file system enabled
- CIFS/NFS file systems enabled
- F2fs supported
- Allow ADB-Insecure
- Wlan Wakelock decreased
- Fully controllable with synapse
- TCP (Network) control: Bic (default), Reno, cubic, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, LP, Yeah and Illinois
- Selinux is set to permissive
- Zen-Tune implemented
- All bad samsung drivers disabled (like tima or rkp)
- Force encryption disabled
- Knox faked to 0x0
- Boeffla wakelock control
Download:
Marshmallow V1.X:
V1.9.7 on AndroidFilehost
Nougat V2.X:
V2.11.0 on AndroidFilehost
Oreo V3.X:
V3.1.0 on AndroidFilehost
Download via GrifoDev
All old releases
Bugs/Problems:
- None
Instructions:
0. Make a backup of your current stock kernel in TWRP, just in case you want to go back
1. Install a custom recovery for your phone, like this one here:TWRP
2. Follow the instructions on the page above, until you get a working recovery
3. Download the Kernel from below and copy it to your external SD Card
4. Reboot to your recovery by pressing volume up, home button and power button at the same time.
5. Install zip/select the kernel
6. Flash supersu, phh's root, magisk and all things that modify your boot.img
7. Wipe cache and dalvik cache (recommand)
8. Reboot
If you wanna join the beta tester group, download yourself telegram and click on the chat link: Telegram Group
Support:
If you like my work, feel free to hit thanks and/or give me a small donation by clicking the link right below. Thank you very much in any way! :good:
PayPal​
Credits/Thanks:
- Samsung for sources
- the great linus for his amazing kernel source
- arter97
- Jesec (for the great FP fix!!)
- dorimanx
- AndreiLux
- halaskz
- neobuddy83
- UpInTheAir for his great Synapse implementation
XDA:DevDB Information
SuperKernel for herolte, Kernel for the Samsung Galaxy S7
Contributors
Tkkg1994
Source Code: https://github.com/GrifoDev/SuperKernel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: V3.1.0
Stable Release Date: 2018-08-31
Created 2016-05-30
Last Updated 2018-09-25
Changelog:
Old Changelogs:
SuperKernel V1.0:
- Changes compared to stock:
- updated CPUfreq drivers
- updated to latest stable linux (3.18.34)
- updated zram/zsmalloc and zswap for better ram management
- implemented tasks adj tree
- updated ext4
- updated crypto files
- added UKSM
- updated workqueue and sched features
- added gentle fair sleepers switch
- added new governors, ioscheds and tcp
- backports from 4.0 kernel
- many more things (already over 1000 changes compared to stock!!!)
- detailed history
SuperKernel V1.1:
- fixed fingerprint support, thanks to @Jesse Chan who found the right files to delete!
- arm64: mm: support ARCH_MMAP_RND_BITS
- int_sqrt.c: Correction square root algo with naming
- int_sqrt: Improve 3x faster integer sqrt
- mm: mmap: add new /proc tunable for mmap_base ASLR
- mmc: core: Expose use_spi_crc module parameter in sysfs (and disable it to gain perfomance)
- tima, knox and all "bad" samsung related configs are disabled now!
- over 100 updates in kernel/sched and in kernel/rcu to gain performance and better batterylife
- as always, visit github to see what exactly changed!
SuperKernel V1.2.1:
- Reverted back some changes I made in kernel/sched and kernel/time -> Probably fixed the random reboots (I never had one before, so you need to test this)
- Added the requested ROW iosched
- Added UC/OC frequencies thanks to @Jesse Chan (Kernel detects if you phone is capable or not for OC (jesses work), I added a check that only Grade A phones have full OC)
- added DAX to fs
- Many /mm and filesystem Updates (for ext4, ext3, ext2 and f2fs)
- Applied Jesse's fingerprint lag fix
- updated kernel/locking
- implemented Zen-tune V4.5
- cfq-iosched: fix the setting of IOPS mode on SSD
- More changes on github
SuperKernel V1.2.5:
- changed ramdisk compression from lz4 to gzip (which should fix systemless xposed)
- add a fsync toggle to enable and disable fsync
- added async from HTC
- Use erandom functions
- added wakup toggle for wlan
- mm: Allow for Exynos swap to be enabled
- enabled 2 additional lower CPU steps
- update "mm/zsmalloc: don't fail if can't create debugfs info"
- updated cifs/nfs/nfsd and filesystems
- updated memory management (page_alloc, vmstat, etc)
- added new z3fold driver
- probably made fingerprint scanner a little big faster
SuperKernel V1.3.1:
- Updated ramdisk to APF2
- Updated linux to 3.18.35
- removed the red latter at start up (you really really wanted that )
- Fixed random reboots from 1.3 in superman rom
- added a wakelock fix who should fix some google wakelocks
SuperKernel V1.4:
- completely reworked my w. Wipe cache and dalvik cache (recommand)
hole source code, now available under: Github
- Updated ramdisk with latest supersu patch
- many updates in /base/power/opp
- backports from 3.19 branch
- interactive updates (even more smooth now)
- added kasan for arm64 devices
- overall smoothness improved
- tested over one day, not a single reboot till now
SuperKernel V1.7:
- fixed phone turning on when offline charging
- Updated base and ramdisk to latest BPH6 source, this kernel will only work on BPH6 ROM!!!!
- added full synapse support, thanks to UpInTheAir (I adapted his implementation to work on S7)
- Updated linux to 3.18.39
- added f2fs support for /data
- fixed private mode not working after a reboot
- fully remade the whole source tree to get you the best experience!
- fixed the tcp bug which would otherwise make your phone vulnerable
- some other backports
- updated workqueue
- switched to 7.0 sabermod toolchain
- many more things I may forgot
SuperKernel V1.8.5:
- Started from scratch on BPHJ source code
- No more freezing, not a single problem left anymore!
- Updated to 3.18.42 linux (latest)
- Merged some new linaro patches into kernel
- f2fs should now work (and stay) on partitions you have chosen
- HMP opimizations added (tunable in synapse)
- GPU UC removed for now
- CPU OC/UC enabled, but stock freqs are default on first flash
- Disabled PEWQ (can be enabled in synapse)
- Updated thermal
- Disabled task ADJ tree
- enabled hmp packing
- crypto updated
- cpufreq some small updates
- BPIF ramdisk
- Selinux audit configurable
SuperKernel V1.9:
- Based upon BPJ7 source code
- Updated to linux 3.18.44
- added GPU OC to 806Mhz (thanks to @lyapota)
- updated ramdisk to BPJ7
- fixed some battery settings in synapse
- updated busybox to 1.26
- patched CVE-2016-5195
- changed behavior of cpu on high freqs a bit
SuperKernel V1.9.2:
- Updated to BPJG source drop
- Updated ramdisk to BPJG source
SuperKernel V1.9.5:
- This kernel is only for MM!
- Ramdisk base changed to BPL3 (source base is still the same)
- Updated linux to latest 3.18.45 version
- Backported most crypto drivers form 4.4 mainstream linux
- Enabled new crypto drivers and optimizations
- Updated random drivers
- Updated synapse, hopefully all is up to your needs now
- Added thunderplug hotplug (keep in mind that playing with thunderplug settings may lead to SOD)
- Added a special tab for hotplug drivers: Stock, disabled or thunderplug
- Updated busybox
- Updated script to create an init.d file if not existing
- Fixed LED fading in synapse
- statenotifier enabled again for thunderplug
SuperKernel V1.9.6:
- Based on latest BPL3 source drop release
- Fixed adaptable storage problem
SuperKernel V1.9.7:
- Rebased on latest BPLB Kernel source drop
- Updated ramdisk to latest BPLB
- Updated Linux version to 3.18.46
SuperKernel V2.0:
- Only for NOUGAT and TOUCHWIZ roms
- Rebased on latest DPLT base
- Latest DPLT ramdisk
- Latest f2fs backport from 3.18.y branch
- Maple iosched added (needs testing)
- selinux: nlmsgtab: add SOCK_DESTROY to the netlink mapping tables
- UPSTREAM: capabilities: ambient capabilities
- BACKPORT: full hardened usercopy backported
- mnt: Add filesystem private data to mount points
- New DVFS tab in synapse
- Updated all mcRegistry files to Nougat
- Changed toolchain to selfcompiled GNU 6.3 a53 optimized
- Sqlite binary updated
- Fstrim added
- Busybox changed to sbin/busybox (needs to be at this directory otherwise synapse won't work!)
- Some other things I may forgot
SuperKernel V2.0.1:
- Linux updated to 3.18.47
- busybox detection enhanced (you can now install to /sbin, system/xbin or su/xbin)
- State notifier disabled by default
- Allow all cores to go to highest freq
- People report working deepsleep so if it does NOT work for you, give me your wakelock stats, otherwise that's not helping anyone
SuperKernel V2.0.2:
- Updated ramdisk to DQAS
- Changed some settings in wakelock tabs for synapse (deepsleep issue was produced setting to extreme levels in synapse)
SuperKernel V2.1.5:
- Based on latest DQB3 release
- Updated Linux version to 3.18.48
- Updated ramdisk to DQB3
- Updated all mcRegistries to DQB3
- Added HID gadget keyboard/mouse patch
- Updated android binder driver
- Also one file to flash for all variants
SuperKernel V2.2.0:
- Based on latest DQB7 source drop release
- Updated to latest DQB7 ramdisk
- Fake knox 0x0 (as in superman-rom 2.2 or superstock-rom 2.5) (credits to @lyapota )
- Fixed init.d not working correctly sometimes
SuperKernel V2.4.2:
- Completly rebased on top of superstock kernel
- Based on latest DQCG release
- Updated ramdisk to DQCG release
- Added and reworked scripts to fake knox (should also work with supersu now)
- Updated conservative and ondemand govenror
- Added PWM flicker free patch
- Fixed safetynet failing sometimes
SuperKernel V2.4.3:
- Updated Zen-tune to V4.10 version (only minor changes)
- Fixed thunderplug showing errors in synapse
- killed PWM flicker free due to many broken stuff
- mcRegistry files have been upgraded to DQCG
- Reverted many sched patches, I think general performance is much better now (maybe placebo idk), please let me know your thoughts!
- Fixed some synapse errors here and there, still I haven't had the time to work on cortex brain staying offline, sorry guys
SuperKernel V2.5.0:
- Source updgraded to DQD1 (same as DQD2)
- Ramdisk updated to DQD2
- mcRegistry updated to DQD2
- Fixed external iosched error on Synapse
SuperKernel V2.5.2:
- Ramdisk updated to DQD3
- mcRegistry files updated to DQD3
- Linux version updated to 3.18.51
SuperKernel V2.6.1:
- Updated to DQEF source code
- Updated ramdisk to DQEF
- Added more flags to resetprop (secret mode in browser should work again, at least it did on the s8)
- Updated to most recent f2fs branch from official google supporter
- Updated Linux to 3.18.56
- Updated mcRegistry to DQEF
SuperKernel V2.7.0:
- Based on latest DQFM source code
- Ramdisk updated to latest DQFM
- Updated linux to 3.18.60
- Reverted a patch in one of those linux updates which broke deepsleep in some cases
- Changed code for mcRegistries: they won't get replaced anymore, it just deletes the "bad" file
- Added spectrum support, untested!
SuperKernel V2.7.2:
- Based on latest DQG1 source code
- Ramdisk updated to latest DQG1
- Updated linux to 3.18.66
- Includes GPU libs, so there is no chance after another kernel this will bootloop!
- Since samsung is not updating their kernels very frequently on the s7, I thought I better push out some small updates
SuperKernel V2.8.0:
- DQH8 source drop update
- DQHY ramdisk update
- Linux update to 3.18.70
- Toolchain update to GNU GCC 6.4.0 @djb77
SuperKernel V2.9.0:
- Finally an awesome update to DQIC with a much higher changelist!
- DQIC ramdisk update
- Linux update to 3.18.72
- Updated AIK to V2.9
SuperKernel V2.10.0:
- DQJ1 source drop update
- DQJ1 ramdisk update
- Linux update to 3.18.77
- 6.4.1 toolchain update to @djb77
SuperKernel V2.10.1:
- DQK1 source code shares the same source as DQJ1, that's why it's only a small change
- DQK1 ramdisk update
- Linux update to 3.18.83
- Toolchain updated thanks to @djb77
- Boeffla wakelock control added
SuperKernel V2.10.5:
- DQLF still has the same kernel source code as DQK1
- DQLF ramdisk update
- Linux updated to latest 3.18.91
- Updated toolchain
- F2fs update to latest release
- AIK updated to v3.1
SuperKernel V2.11.0:
- DRAG source code update
- DRAG ramdisk update
- Linux update to 3.18.94
- Toolchain updated thanks to @djb77
SuperKernel V3.0.1:
- This kernel can only be used on OREO stock based roms! (no ports)
- Updated kernel source to most recent ERG2 code
- Updated ramdisk to ERG2
- Changed toolchain to google 4.9 for better compatibility
- Updated AIK to 3.3
- Updated f2fs to most recent available
- Updated linux to 3.18.118
- Added battery store mode
- All previous features are included!
SuperKernel V3.0.2:
- Rebuild from scratch to fix some bugs
SuperKernel V3.1.0:
- Source code based on ERH1
- Updated linux to 3.18.120
- Fixed samsungs mismatch in kernel compilation
Q&A
Below I added some basic Q&A stuff which here so hopefully it will answer most of your questions!
Q: How to get into Download Mode?
A: Power off your phone, than hold: home + volume down + power on button until you see the download mode.
Q: How to get into Recovery Mode?
A: Power off your phone, than hold: home + volume up + power on button until you see the recovery mode.
Q: I get verification failed at start up!?!? My phone is broken now?
A: Yes, you have to buy a new phone now. Just kidding You did not disable force encryption in TWRP (how to do so you will find below in how to decrypt your phone).
Q: I get FRP LOCK? WHYYYYYY???
A: Very simple answer, you did not enable OEM Unlock in developer options. Now you need to flash full rom with odin again and start from scratch. But don't forget to enable OEM Unlock this time!
Q: I got FC's and other Problems with the kernel, what to do?
A: Take a logcat for me, developers use to say: without a log, it never happened . A logcat can be grapped with a PC and ADB installed, simply type: adb logcat > log.txt while your phone is connected and the error is happening.
Q: What kind of logs can I provide to help you?
A: Logcat: This one is for general infos about FC's
DMESG: this is for kernel related things
Last_Kmsg: this can be used after a random reboot
Q: How to get logs?
A: 1. Connect your phone to your pc
2. Make sure you got usb debugging enabled
3. Install Minimal ADB tool
4. After install open it and type: adb logcat > logcat.txt, adb shell dmesg > dmesg.log, adb shell cat proc/last_kmsg kmsg.log
5. Send me the file you got
Q: Which devices are supported at the moment?
A: Current supported devices are: SM-G930F/FD/W8. All other exynos models can work but are UNTESTED
Q: Is this kernel working on Snapdragon 820 variants?
A: No, sadly not.
Q: Help, I never had a code and now after installing the rom my phone asks for a password??
A: Your device is still encrypted, on step 0 it tells you to be sure you're not. So, what do you need to to in case you are still encrypted:
1. Boot into TWRP
2. Select Wipe
3. Select wipe data
4. Then you manually need to type "yes" with the keyboard
5. Confirm the wipe (this will remove the encryption)
6. Reboot your recovery
Q: Is there a way to get rid of encryption which is simpler?
A: Not really, you could also wipe data with stock recovery but this is quite a big hassle so above method works better.
Q: On TWRP there is an error about /data mount, what to do?
A: Your device is encrypted, follow the above steps to get rid of your encryption.
Q: Synapse shows no UCI support!
A: Reflash kernel, a script of you may overwrite my synapse config
Q: I want to switch kernel, how?
A: Since we have systemless xposed and systemless supersu, we have patches in ramdisk of boot.img. This means you have to reflash xposed and supersu after every change of kernel!.
Q: I lost root after installing this rom. What to do?
A: All mods (like supersu, phh's root, xposed and magisk) are stored in /ramdisk of kernel boot.img. So if you flash this rom, and after this another kernel (Which has supersu included by default) you can not do much. You have to stick to the two kernels provided in rom. Also when switching kernel, you need to flash all related zips again after changing it. Last tip: Do not use magisk until you really need it for android pay!
Q: I got random reboots, heeelp!
A: This is most likely from a custom kernel, if you face random reboots please check if you have the latest kernel installed or switch back to the stock kernel included in the rom.
Q: My screen is kind of yellow/orange and the touchscreen doesn't work at all!
A: You have chosen the wrong kernel in aroma selection. Reflash the rom without any wipe selecting the right kernel version.
First! DL now and flashing! Thanks for the hard work!
Sent from the silver bullet 930F Running Superman Rom
Will apps like easyHome (https://play.google.com/store/apps/details?id=com.jamworks.easyhome) work? It uses FP as capactive home button.
Flashed and running awesome so far, haven't messed with any of the settings yet though.
Sent from the silver bullet 930F Running Superman Rom
Quickvic30 said:
Flashed and running awesome so far, haven't messed with any of the settings yet though.
Sent from the silver bullet 930F Running Superman Rom
Click to expand...
Click to collapse
Would you be so kind to show antutu benchmark. I just want to see what it improves
Shuuin said:
Would you be so kind to show antutu benchmark. I just want to see what it improves
Click to expand...
Click to collapse
Benchmark doesn't show any hints of real-world results when it comes to kernels..
Sent from my SGP712 using XDA-Developers mobile app
Shuuin said:
Would you be so kind to show antutu benchmark. I just want to see what it improves
Click to expand...
Click to collapse
Here ya go
Sent from the silver bullet 930F Running Superman Rom
Great!!!!Thank you for your works!!!!
Thanks for this kernel. I like the zzmoove governor. But if i choose him on little my phone freezes and than it reboots. At big it's ok
Black_Focus_X said:
Thanks for this kernel. I like the zzmoove governor. But if i choose him on little my phone freezes and than it reboots. At big it's ok
Click to expand...
Click to collapse
Zzmoove does hotplug, but the little cores can't do hotplugging. So it will reboot
Sent with my SM-G930F powered by SuperMan
Tkkg1994 said:
Zzmoove does hotplug, but the little cores can't do hotplugging. So it will reboot
Sent with my SM-G930F powered by SuperMan
Click to expand...
Click to collapse
Any chance that you will add..
1) ARCH_POWER
2) ROW Scheduler
3) Make Power Efficient WorkQueues user-configurable in next version
4) Trim kernel and remove useless debuggers, bloated kernel drivers and so on for making the kernel as slim and battery / performance friendly as possible
5) (Perhaps) configurable C-States (Idle states) ?
Just as some bonus, useful stuff in v2.0?
Sent from my SGP712 using XDA-Developers mobile app
Destroyedbeauty said:
Any chance that you will add..
1) ARCH_POWER
2) ROW Scheduler
3) Make Power Efficient WorkQueues user-configurable in next version
4) Trim kernel and remove useless debuggers, bloated kernel drivers and so on for making the kernel as slim and battery / performance friendly as possible
5) (Perhaps) configurable C-States (Idle states) ?
Just as some bonus, useful stuff in v2.0?
Sent from my SGP712 using XDA-Developers mobile app
Click to expand...
Click to collapse
1. Arch power has been removed on mainstream kernel
2. ROW was my plan as well
3. It is enabled by default, but isn't it already tuneable?
4. This is always my goal
5. Haven't thought about that until now
Sent with my SM-G930F powered by SuperMan
Finally it's come!Will it be implement the FP function to the future build?
---------- Post added at 07:26 AM ---------- Previous post was at 07:24 AM ----------
krogoth said:
Will apps like easyHome (https://play.google.com/store/apps/details?id=com.jamworks.easyhome) work? It uses FP as capactive home button.
Click to expand...
Click to collapse
i don't think so coz it will totally stop the FP SVC when u flash this kernel
Another question. Can you add undervolting?
Tkkg1994 said:
1. Arch power has been removed on mainstream kernel
2. ROW was my plan as well
3. It is enabled by default, but isn't it already tuneable?
4. This is always my goal
5. Haven't thought about that until now
Sent with my SM-G930F powered by SuperMan
Click to expand...
Click to collapse
PowerEfficient WorkQueues seems to revert itself to "Enabled / On" even though I have tried to disable it..
Sent from my SGP712 using XDA-Developers mobile app
Black_Focus_X said:
Another question. Can you add undervolting?
Click to expand...
Click to collapse
I'm using the KTweaker app and it allows me to undervolt.
Sent from the silver bullet 930F Running Superman Rom
Black_Focus_X said:
Another question. Can you add undervolting?
Click to expand...
Click to collapse
Quickvic30 said:
I'm using the KTweaker app and it allows me to undervolt.
Sent from the silver bullet 930F Running Superman Rom
Click to expand...
Click to collapse
Yes it's already in the kernel but not all kernel apps can detect that. Will add stweaks and/or synapse support for this soon
Sent with my SM-G930F powered by SuperMan
Ok. With Kernel Adiutor i don't see it

[CLOSED]CRUEL KERNEL S10 V2.3

CRUEL KERNEL S10 V2.3
The development moved to this thread. From V3 kernel supports multiple devices.
Introduction
This kernel is based on BTA8 samsung sources. Only G973F device for now. It is possible to use it on BSKO, BSL4, BTA8 firmware. All sources are open on GitHub.
Continuous integration with GitHub Actions is set up. This means you can customize the kernel from browser and build the version suitable for you without leaving the browser (see сustomization section).
Features
Customizable build with config presets
Only part of samsung security features disabled (DEFEX, Process Authentification, root restrictions)
Switchable SELinux (by default it's locked in "always enforcing" mode in samsung sources)
Built-in in Magisk
Wireguard for VPN
CIFS for SMB
Iptables TTL and HL editing modules for bypassing tethering restrictions
Build commands (configuration presets) used for V2.3 kernel:
Code:
$ ./build mkimg name=CRUEL-V2.3-BTA8 +magisk +nohardening +wireguard +ttl +cifs
$ ./build mkimg name=CRUEL-V2.3-BTA8-CANARY +magisk+canary +nohardening +wireguard +ttl +cifs
Installation Instructions
First of all, TWRP Recovery + multidisabler should be installed in all cases. This is a preliminary step. Backup your existing kernel. You will be able to restore it in TWRP Recovery in case of any problems.
Dowload an *.img file and
With TWRP: Reboot to recovery. Install > Install Image > CruelKernel.img > BOOT.
With Heimdall: Reboot to Dowload mode.
Code:
sudo heimdall flash --BOOT CruelKernel.img
With FK Kernel Manager: Flasher > Manual Flasher.
ChangeLog
V1 is based on BSKO sources and was privately used. You can find V1 by the link.
V2 is based on BTA8 sources. nohardening, nohardening2, cifs configuration presets added.
V2.1 is for internal use only (testing release) +nohardening preset activated by default
V2.2
Canary Magisk updated to 20305 version
MALI_KUTF kernel driver removed (it's required only for kernel developers)
Pin code problem fix (thanks geiti94)
+nohardening (disable samsung protections)
V2.3
Canary Magisk updated to 20306 version
Small fixes for image format
Downloads
CruelKernel-G973F-BTA8-v2.3
CruelKernel-G973F-BTA8-v2.3-CANARY
Sources
How to customize the kernel build
It's possible to customize the kernel and build it from the browser. First of all, create and account on GitHub. Next, fork this repository. Switch to the "Actions" tab and activate GitHub Actions. At this step you've got your own copy of the sources and you can build it with GitHub Actions. You need to open github actions configuration file (.github/workflows/main.yml) and edit it from the browser. For example, to alter the kernel configuration you need to edit lines:
Code:
- name: Kernel Configure
run: |
./build config name=CRUEL-V2-BTA8
+magisk
+ttl
+wireguard
+cifs
You can change the name of the kernel by replacing name=CRUEL-V2-BTA8 with, for example, name=my_own_kernel. You can remove wireguard from the kernel if you don't need it by changing "+" to "-" or by removing the "+wireguard" line and "" on the previous line.
Available configuration presets can be found at kernel/configs folder. Only the *.conf files prefixed with "cruel" are meaningful. For example:
magisk - integrates magisk into the kernel. This allows to have root without booting from recovery. Enabled by default.
magisk+canary - integrates canary magisk into the kernel.
ttl - adds iptables filters for altering ttl values of network packets. This helps to bypass tethering blocking in mobile networks.
wireguard - adds wireguard VPN module to the kernel.
cifs - adds CIFS (SMB) support.
nohardening - removes Samsung kernel self-protection mechanisms. Potentially can increase the kernel performance. You can enable this config if you face rooting or some other kind of restrictions. Other kernels usually use settings from this config by default. It's safe to enable this config, it just makes your system less secure.
nohardening2 - removes Android kernel self-protection mechanisms. Potentially can increase the kernel performance. Don't use it if you don't know what you are doing. Almost completely disables kernel self-protection. Very insecure.
nodebug - remove debugging information from the kernel.
300hz - increases kernel clock rate from 250hz to 300hz. Potentially can decrease response time. Disabled by default, untested.
1000hz - increases kernel clock rate from 250hz to 1000hz. Potentially can decrease response time. Disabled by default, untested.
For example, you can alter default configuration to something like:
Code:
- name: Kernel Configure
run: |
./build config name=CruelCanary
+magisk+canary
+wireguard
+nohardening
After editing the configuration in the browser, save it and commit. Next, you need to switch to the "Actions" tab. At this step you will find that GitHub starts to build the kernel. You need to wait about 25-30 mins while github builds the kernel. If the build is successfully finished, you will find your boot.img in the Artifacts section. Download it, unzip and flash.
To keep your version of the sources in sync with main tree (following updates), please look at this tutorial.
Support
This thread. Feature requests accepted.
Telegram (testing and intermediate releases).
GitHub Pull Requests if you want to contribute.
Credits
Samsung for kernel sources
topjohnwu for Magisk
geiti94 for showing that it's possible to built-in Magisk into the kernel. Initially I experimented with ASIG kernel, but ASIG+Magisk on ASIG firmware just stucks on boot with an SELinux initialization problem. At that time I doubted that built-in Magisk will work.
geiti94 for his help and advices
franciscofranco for FK Kernel Manager
XDA:DevDB Information
CRUEL KERNEL S10 , Kernel for the Samsung Galaxy S10
Contributors
evdenis, evdenis
Source Code: https://github.com/CruelKernel/exynos9820-beyond1lte
Kernel Special Features:
Version Information
Status: No Longer Updated
Current Stable Version: v2.3
Stable Release Date: 2020-02-12
Created 2020-02-10
Last Updated 2020-03-16
Reserved
How to build the kernel locally on your PC
This instruction assumes that you are using Linux. Install: mkbootimg, heimdall (if you want to flash the kernel with it).
Next:
Code:
$ git clone https://github.com/CruelKernel/exynos9820-beyond1lte
$ cd exynos9820-beyond1lte
# List available branches
$ git branch -a | grep remotes | grep cruel | cut -d '/' -f 3
# Switch to the branch you need
$ git checkout samsung-g973f-bta8-cruel
# Install compilers
$ git submodule update --init --recursive
# Compile (install mkbootimg first)
$ ./build mkimg name=CustomCruel +magisk+canary +wireguard +ttl +cifs +nohardening
# You will find your kernel in boot.img file after compilation.
$ ls -lah ./boot.img
# You can automatically flash the kernel with heimdall
# if you connect your phone to the PC and execute:
$ ./build :flash
# Or in a single command (compilation with flashing).
# ./build flash name=CustomCruel +magisk+canary +wireguard +ttl +cifs +nohardening
Boots phone but after entering pin goes to black screen then right back to the pin screen.g973f
gillim74 said:
Boots phone but after entering pin goes to black screen then right back to the pin screen.g973f
Click to expand...
Click to collapse
What ROM are you using? I tested it mostly on samsung BTA8 firmware.
evdenis said:
What ROM are you using? I tested it mostly on samsung BTA8 firmware.
Click to expand...
Click to collapse
Ambassadi same firmware but i think i know what it is.i never uodated the bootloader.i will try that first
gillim74 said:
Ambassadi same firmware but i think i know what it is.i never uodated the bootloader.i will try that first
Click to expand...
Click to collapse
If your phone was able to boot to pin screen, then I doubt the problem is in bootloader. Could you try V1 kernel https://github.com/CruelKernel/exynos9820-beyond1lte/releases/tag/v1.0
If it will work, then probably V2 will also work with +nohardening option. V1 compiled with this option, V2 without it. I will rebuild V2 then.
evdenis said:
If your phone was able to boot to pin screen, then I doubt the problem is in bootloader. Could you try V1 kernel https://github.com/CruelKernel/exynos9820-beyond1lte/releases/tag/v1.0
If it will work, then probably V2 will also work with +nohardening option. V1 compiled with this option, V2 without it. I will rebuild V2 then.
Click to expand...
Click to collapse
Same thing with version 1.could it be the twrp im using?
gillim74 said:
Same thing with version 1.could it be the twrp im using?
Click to expand...
Click to collapse
No, it's definitely not related to twrp. Well, I don't know what is an exact problem here, but some guys told me they were able to flash the kernel on ambassadi with data wipe or immediately after flashing the rom itself.
It would be very nice if people will just write if the kernel works or not on their roms. This will be a huge help for me.
evdenis said:
No, it's definitely not related to twrp. Well, I don't know what is an exact problem here, but some guys told me they were able to flash the kernel on ambassadi with data wipe or immediately after flashing the rom itself.
Click to expand...
Click to collapse
Data wipe or format data
gillim74 said:
Data wipe or format data
Click to expand...
Click to collapse
Data wipe should be enough. I will test compatability with Ambassadi today-tomorrow and will provide more detailed feedback. Thanks!
hello installation successfully the nikel kernel market for now
evdenis said:
Data wipe should be enough. I will test compatability with Ambassadi today-tomorrow and will provide more detailed feedback. Thanks!
Click to expand...
Click to collapse
Worked with data wipe
evdenis said:
It would be very nice if people will just write if the kernel works or not on their roms. This will be a huge help for me.
Click to expand...
Click to collapse
write me on telegram so i can say you why all get the pin code problem so you can fix it
Does this work with BSL7? Or know of kernel that will. Need my su permission to work
Paulturn84 said:
Does this work with BSL7? Or know of kernel that will. Need my su permission to work
Click to expand...
Click to collapse
Hi, no it will not work on BSL7. This kernel is for S10 (G973F) device. This device has only BSL6 firmware. BSL7 is for other devices. Try to look at nemesis kernel.
Is it possible to build magisk rooted kernel for pie (9) roms? Or it's only for Q like LOS 17?
vomad said:
Is it possible to build magisk rooted kernel for pie (9) roms? Or it's only for Q like LOS 17?
Click to expand...
Click to collapse
Download: https://cruelkernel.org/release/special/CruelKernel-G973F-ASJG-v1.1-LOS.img
This version is based on Android 9 (ASJG) sources and should work on ASIG firmwares. I've included some patches from ivanmeler LOS tree specifically for LOS. Features: Magisk v20.3, wireguard, ttl modules and cifs. Not tested
will he s10+ every be supported with this kernel?

[KERNEL][2020-12-01] CRUEL KERNEL S10/Note10 V3.9

Introduction
Based on samsung sources and android common tree. Supported devices: G970F/N, G973F/N, G975F/N G977B/N, N970F, N975F, N971N, N976B/N. All sources are open on GitHub.
Continuous integration with GitHub Actions set up. This means you can customize the kernel from browser and build the version suitable for you without leaving the browser (see сustomization section).
Features
Customizable build with config presets
Only part of samsung security features disabled (DEFEX, Process Authentification, root restrictions)
Switchable SELinux (by default it's locked in "always enforcing" mode in samsung sources)
Built-in in Magisk v21.1
Various toolchains (cruel,arm,samsung,proton,arter97...) supported
Wireguard for VPN
CIFS for SMB
Iptables TTL and HL editing modules for bypassing tethering restrictions
NTFS module for OTG usb drives
Moro sound module
Boeffla WakeLock Blocker
sdfat driver for vfat and exfat filesystems
reiser4 filesystem added. reiser4progs (https://github.com/CruelKernel/reiser4progs/releases)
DEX cable vendor lock for WQHD resolution removed
ZIP installer with XZ compression
ZIP installer with automatic os_patch_level patching
Build commands (configuration presets) used for V3.9 kernel:
Code:
$ ./cruelbuild pack model=<MODEL> name=CRUEL-V3.9 +magisk +nohardening +force_dex_wqhd +ttl +cifs +ntfs +sdfat +nodebug +noaudit +noksm +nomodules +wireguard +usb_serial +sched_powersave +sched_performance +morosound +boeffla_wl_blocker +fake_config +dtb
Where model can be one of G970F/N, G973F/N, G975F/N G977B/N, N970F, N975F, N971N, N976B/N.
Installation Instructions
First of all, TWRP Recovery + multidisabler should be installed in all cases. This is a preliminary step. Backup your existing kernel. You will be able to restore it in TWRP Recovery in case of any problems. Download an *.zip file. Reboot to TWRP. Install > Install ZIP > Flash CruelKernel.zip. Reboot to system.
ChangeLog
V3 - Support for G970F, G975F, G977B, N970F, N975F, N976B models.
V3.1 - Boeffla wl blocker, BTB5 sources for N10 models.
V3.2 - Magisk update v20.4, wireguard update, sdfat for VFAT, exFAT, ntfs module.
V3.3 - CTC9 sources. The camera will work only on CTC9 based firmwares.
V3.4 - CTE9/CTF1 sources. Small fixes, overall improvements, more customization configs for building on github.
V3.7 - Various toolchains added (arm, arter97, samsung, proton, system, default)
V3.8 - DTI1 sources added for N971N, N976N.
DTH7 sources added for G977N model.
Some debugging flags disabled. performance config fixed (-O3).
Cruel toolchain added (gcc 10.2 with PGO/LTO and inlining params from gcc 9 branch)
simple_lmk added (github.com/kerneltoast/simple_lmk)
V3.9 - G977N, G973N models added.
G970F/N, G975F/N, G973F/N updated to DTJA.
N976B, N970F, N975F updated to DTJ4.
Magisk updated to v21.1 version.
Vendor lock for dp cable for DEX removed (thanks, fart1-git).
Zip installer implemented.
Automted os_patch_level level patching in installer (https://github.com/CruelKernel/clone_header).
Downloads
OS Patch Level: 2020-11
V3.9 Download folder
Sources
If you like the work and want to help me with hosting: https://www.paypal.me/evdenis Hitting star button on GitHub and thanks button on XDA really helps to stay motivated.
Instructions here could be outdated a bit, one can find the latest version in project's readme at github.
How to customize the kernel build
It's possible to customize the kernel and build it from the browser. First of all, create and account on GitHub. Next, fork this repository. Switch to the "Actions" tab and activate GitHub Actions. At this step you've got your own copy of the sources and you can build it with GitHub Actions. You need to open github actions configuration file (.github/workflows/main.yml) and edit it from the browser. For example, to alter the kernel configuration you need to edit lines:
Code:
- name: Kernel Configure
run: |
./build config
model=G973F
name="CRUEL-V3.3"
+magisk
+nohardening
+ttl
+wireguard
+cifs
+sdfat
+ntfs
+tcp_cibuc
+morosound
+boeffla_wl_blocker
First of all, you need to change G973F model to the model of your phone. Supported models: G970F/N, G973F/N, G975F/N G977B/N, N970F, N975F, N971N, N976B/N.
You can change the name of the kernel by replacing name="CRUEL-V3" with, for example, name="my_own_kernel". You can remove wireguard from the kernel if you don't need it by changing "+" to "-" or by removing the "+wireguard" line and "" on the previous line. OS patch date can be changed with os_patch_level=2020-02 argument, the default current date is in build.mkbootimg.G973F file.
Available configuration presets can be found at kernel/configs folder. Only the *.conf files prefixed with "cruel" are meaningful. For example:
+magisk - integrates magisk into the kernel. This allows to have root without booting from recovery. Enabled by default.
magisk+canary - integrates canary magisk into the kernel.
bfq - enable bfq I/O scheduler in the kernel.
sched_... - enable various (conservative, ondemand, powersave, userspace, performance) CPU schedulers in the kernel.
ttl - adds iptables filters for altering ttl values of network packets. This helps to bypass tethering blocking in mobile networks.
wireguard - adds wireguard VPN module to the kernel.
cifs - adds CIFS (SMB) support.
tcp_cubic - use CUBIC as default TCP congestion control.
tcp_westwood - use WestWood as default TCP congestion control.
sdfat - use sdfat for exFAT and VFAT filesystems.
ntfs - enable ntfs filesystem support (read only).
boeffla_wl_blocker - enable boeffla wakelock blocker module.
morosound - enable moro sound control module.
+nohardening - removes Samsung kernel self-protection mechanisms. Potentially can increase the kernel performance. Enabled by default. Disable this if you want to make your system more secure.
nohardening2 - removes Android kernel self-protection mechanisms. Potentially can increase the kernel performance. Don't use it if you don't know what you are doing. Almost completely disables kernel self-protection. Very insecure.
nodebug - remove debugging information from the kernel.
noksm - disable Kernel Samepage Merging (KSM).
nomodules - disable loadable modules support.
noaudit - disable kernel auditing subsystem.
300hz - increases kernel clock rate from 250hz to 300hz. Potentially can improve ui responsiveness.
1000hz - increases kernel clock rate from 250hz to 1000hz. Potentially can improve ui responsiveness.
For example, you can alter default configuration to something like:
Code:
- name: Kernel Configure
run: |
./build config
os_patch_level=2020-12
model=G975F
name="OwnKernel"
+magisk+canary
+wireguard
+nohardening
+1000hz
After editing the configuration in the browser, save it and commit. Next, you need to switch to the "Actions" tab. At this step you will find that GitHub starts to build the kernel. You need to wait about 25-30 mins while github builds the kernel. If the build is successfully finished, you will find your boot.img in the Artifacts section. Download it, unzip and flash.
To keep your version of the sources in sync with main tree, please look at one of these tutorials:
How can I keep my fork in sync without adding a separate remote?
How do I update a GitHub forked repository?
Support
This thread. Feature requests accepted.
Telegram (testing and intermediate releases).
GitHub Pull Requests if you want to contribute.
Credits
Samsung for kernel sources
fart1-git for disabling DEX cable vendor lock
corsicanu for default blocklist of wakelocks for boeffla_wl_blocker driver
Nico (@NicoMax2012) for porting moro sound module
bamsbamx for porting boeffla_wakelock_blocker
thehacker911 for general improvements and advices
ExtremeGrief for overall improvements, porting maple scheduler
geiti94 for his advices
topjohnwu for Magisk
franciscofranco for FK Kernel Manager
and testers.
I'm sorry if I missed someone, just write me and I will update the list.
XDA:DevDB Information
[KERNEL] CRUEL KERNEL S10/Note10, Kernel for the Samsung Galaxy S10
Contributors
evdenis, evdenis
Source Code: https://github.com/CruelKernel/samsung-exynos9820
Kernel Special Features:
Version Information
Status: Testing
Current Stable Version: v3.9
Stable Release Date: 2020-12-01
Created 2020-03-08
Last Updated 2020-12-01
How to build the kernel locally on your PC
This instructions assumes you are using Linux. Install mkbootimg (AIK tool) from osm0sis, heimdall (if you want to flash the kernel automatically).
Next:
Code:
# Install prerequisites
# If you use ubuntu or ubuntu based distro then you need to install these tools:
$ sudo apt-get install build-essential libncurses-dev libtinfo5 bc bison flex libssl-dev libelf-dev
# If you use Fedora:
$ sudo dnf group install "Development Tools"
$ sudo dnf install ncurses-devel ncurses-compat-libs bc bison flex elfutils-libelf-devel openssl-devel
# Install mkbootimg
$ wget https://github.com/osm0sis/mkbootimg/archive/master.zip
$ unzip master.zip
$ cd mkbootimg-master
$ sed -i -e 's/-Werror//g' Makefile
$ make
$ sudo mv mkbootimg /usr/local/bin/mkbootimg
# Get the sources
$ git clone https://github.com/CruelKernel/samsung-exynos9820
$ cd samsung-exynos9820
# List available branches
$ git branch -a | grep remotes | grep cruel | cut -d '/' -f 3
# Switch to the branch you need
$ git checkout cruel-v3
# Install compilers
$ git submodule update --init --recursive
# Compile
$ ./build mkimg name=CustomCruel model=G973F +magisk+canary +wireguard +ttl +cifs +nohardening
# You will find your kernel in boot.img file after compilation.
$ ls -lah ./boot.img
# You can automatically flash the kernel with heimdall
# if you connect your phone to the PC and execute:
$ ./build :flash
# Or in a single command (compilation with flashing)
# ./build flash name=CustomCruel model=G973F +magisk+canary +wireguard +ttl +cifs +nohardening
Pin problem
The problem is not in sources. It's due to os_patch_level mismatch with you current kernel (and/or twrp). CruelKernel uses common security patch date to be in sync with the official twrp and samsung firmwares. You can check the default os_patch_level in build.mkbootimg.* files. However, this date can be lower than other kernels use. When you flash a kernel with an earlier patch date on top of the previous one with a higher date, android activates rollback protection mechanism and you face the pin problem. It's impossible to use a "universal" os_patch_level because different users use different custom kernels and different firmwares. CruelKernel uses the common date by default in order to suite most of users.
How can you solve the problem? 5 ways:
You can restore your previous kernel and the pin problem will gone
You can check the os_patch_level date of your previous kernel here https://cruelkernel.org/tools/bootimg/ and patch cruel kernel image to the same date. If your previous kernel is nemesis, patch cruel to 2099-12 date.
You can reboot to TWRP, navigate to data/system and delete 3 files those names starts with 'lock'. Reboot. Login, set a new pin. To fix samsung account login, reinstall the app
You can rebuild cruel kernel with os_patch_level that suites you. To do it, you need to add the line os_patch_level="<your date>" to the main.yml cruel configuration. See the next section if you want to rebuild the kernel.
You can do the full wipe during cruel kernel flashing
Good job!
Thanks Dev! Does this kernel work also with LineageOS and AOSP roms?
evdenis said:
...
After that you need to add the line os_patch_level="<your date>" to the main.yml cruel configuration and rebuild it. See the customization section if you want to rebuild the kernel.
Click to expand...
Click to collapse
Did you checked it if it works for you? For me the oneliner didnt work in main.yml. I must edit the build.mkbootimg.G975F file and rebuild. Then i got no pin problems cause the OPL was now changed.
hanspampel said:
Did you checked it if it works for you? For me the oneliner didnt work in main.yml. I must edit the build.mkbootimg.G975F file and rebuild. Then i got no pin problems cause the OPL was now changed.
Click to expand...
Click to collapse
Yes, I checked that it works. Here you did't use os_patch_level setting and the date is 2020-02. Next, you updated os_patch_level and you can see the date changed if you unfold "Show information about build" section in build log. In the third commit you removed the os_patch_level and cancelled the build, so the date reverted to default one 2020-02. And in finial commit the date was changed in build.mkbootimg.G975F file. If you doubt the date changed, you can check the build settings either in "Show information about build" section in build log or in "Kernel Configuration Info" file next to the kernel image in "Artifacts". Thanks!
Valentino911 said:
Thanks Dev! Does this kernel work also with LineageOS and AOSP roms?
Click to expand...
Click to collapse
As for now, it compatible only with Samsung based firmwares. Works on native samsung firmwares, BeyondROM, on Ambasadii it's better to use Nemesis kernel (you will face pin problem if you try to install cruel). The kernel doesn't work on LOS.
Anybody want gcam for exynos.. u can see tgis video it for android Q one ui 2.0 for s10plus exynos
I have a question . The hadest rum was established, respectively the hadest kernel. I install the cruel kernel, but after the reboot the kernel of the hadest returns. Why? The first time I encounter this phenomenon, How to solve the problem?
Before rebooting the cruel core, the necessary functions work. After a reboot, the hades kernel returns.
@evdenis
I got problems with your latest sources (3.0 and 3.1). It doesnt boot to recovery with an app. This works for a few commits earlier(last week or so). Now its not working. And the OSPL in main.yml doesnt work for me too. Doesnt pass the restart pin. But thats not a problem, changed it in the other side.
Cant test your compiled versions, pin problem, i was on nemesis kernel, so i have to compile it myself.
Another problem ive saw, the device doesnt shut down. It only reboots. Compiled with 3.0 and 3.1 sources. With the older source a week ago, it works.
Edit: So tried your released v3.1 and changed the OSPL manually for PIN Fix, seems to work(recovery and shutdown). Maybe something went wrong on my side till compiling. Have no clue atm.
hanspampel said:
Another problem ive saw, the device doesnt shut down. It only reboots. Compiled with 3.0 and 3.1 sources. With the older source a week ago, it works.
Edit: So tried your released v3.1 and changed the OSPL manually for PIN Fix, seems to work(recovery and shutdown). Maybe something went wrong on my side till compiling. Have no clue atm.
Click to expand...
Click to collapse
This could be due to enabling non-default configuration presets, like +nodebug or +nohardening2.
elchinemil said:
I have a question . The hadest rum was established, respectively the hadest kernel. I install the cruel kernel, but after the reboot the kernel of the hadest returns. Why? The first time I encounter this phenomenon, How to solve the problem?
Before rebooting the cruel core, the necessary functions work. After a reboot, the hades kernel returns.
Click to expand...
Click to collapse
Hades rom uses very good kernel. Technically, I don't see any reason to change it on hades rom, unless you really want to experiment with, for example, +1000hz or +bfq scheduler.
The reason the previous kernel restores back could be again due to patch level mismatch.
I will update installation method in the next version to dynamically repack kernel during installation procedure. Hope, this will solve os_patch_level problem (pin issue) once and for all.
nice kernel
Thanks for this wonderful kernel! It is an honour for me to be able to participate in this!
G975N
Working in 975N or not
hamidru said:
Working in 975N or not
Click to expand...
Click to collapse
If it works om F/FD devices. It will work on N devices
hamidru said:
Working in 975N or not
Click to expand...
Click to collapse
If it's an exynos device ... no reason to this

Categories

Resources