[Samsung Galaxy S10 ROMs, Kernels, Recoveries, & Ot] evdenis:
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:

$ ./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.

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:

- 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:

- 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