Add SELinux Permissive support - Nokia X

Based on experience during pacman kk rev 3 stable, it turns out that the kernel used does not support selinux policy, because the status
Code:
su
getenforce
disabled
always shows that selinux is disabled. Is there any way to add selinux support into permissive in ramdisk without compiling the kernel?
I follow this method but always failure. SELinux always disable.

Related

[Kernel] [MM] [Root] G920P/G925P Aurora Kernel Autoroot + BusyBox + SuperSu 2.71

Download :
Flash via Odin
MOD EDIT: DOWNLOAD LINKS REMOVED
Flash Zip
MOD EDIT: DOWNLOAD LINKS REMOVED
Aroma installed , chosed devices G920P or G925P
* AUTO-ROOT SYSTEM-LESS SuperSU v2.56 (on flash odin) , SuperSU v2.71 on flash zip
* Based on official Samsung source: Samsung OSRC
* ramdisk base: G920PVPU2BPC6 on G920P andG925P
* KNOX WARRANTY VOID: 1
* KNOX Remove All
* SELinux PERMISSIVE (default) or ENFORCING
* DEEP SLEEP FIX
* Compiled with UBERTC GCC 5.3.1 20160401 + Graphite optimizations
* Linux 3.10.101
* init.d script support (drop in script & set permissions to 755 or 777 and reboot)
* adb insecure
* Mali GPU DVFS disabled for min/max frequencies
* Secure storage = false (should prevent WIFI settings & passwords wiping on reboots)
* Synapse app support for many kernel configurations
The ramdisk base that u say you used is the software version for the Sprint Note 5. The S6 version ends in PB6. Is this a typo?
Sent from my SM-N920P using XDA-Developers mobile app
So does this kernel work?
Sent from my SM-G925P using XDA-Developers mobile app
Bobthahog said:
The ramdisk base that u say you used is the software version for the Sprint Note 5. The S6 version ends in PB6. Is this a typo?
Sent from my SM-N920P using XDA-Developers mobile app
Click to expand...
Click to collapse
edited
Lol, its pb6 or pc6?
Can i use it for Dual Boot?
synapse doesn't seem to work with the last flashed kernal i cam e form sky high and it worked till i flashed this kernal????
any ideas
stock rooted galaxy s6 rom 6.01
LOL -- oops, wrong thread. Apologies [content deleted].
Thanks you.
synapse not working? it says device not supported sm-g925p
so far it seems really good actually with no tweaking because synapse isnt working, other than that ive gotten better battery life then when using dirtyMM kernel
Can you please upload kernel and any other relevant GPL licensed sourcecode? If it is 100% samsung official, please link to it.
lamlazy said:
Download :
Flash via Odin
MOD EDIT: DOWNLOAD LINKS REMOVED
Flash Zip
MOD EDIT: DOWNLOAD LINKS REMOVED
Aroma installed , chosed devices G920P or G925P
* AUTO-ROOT SYSTEM-LESS SuperSU v2.56 (on flash odin) , SuperSU v2.71 on flash zip
* Based on official Samsung source: Samsung OSRC
* ramdisk base: G920PVPU2BPC6 on G920P andG925P
* KNOX WARRANTY VOID: 1
* KNOX Remove All
* SELinux PERMISSIVE (default) or ENFORCING
* DEEP SLEEP FIX
* Compiled with UBERTC GCC 5.3.1 20160401 + Graphite optimizations
* Linux 3.10.101
* init.d script support (drop in script & set permissions to 755 or 777 and reboot)
* adb insecure
* Mali GPU DVFS disabled for min/max frequencies
* Secure storage = false (should prevent WIFI settings & passwords wiping on reboots)
* Synapse app support for many kernel configurations
Click to expand...
Click to collapse
Quick question: how do I change SELinux to enforcing? When I do the install, it's not a choice. Not sure how to do it otherwise...
hamstrman said:
Quick question: how do I change SELinux to enforcing? When I do the install, it's not a choice. Not sure how to do it otherwise...
Click to expand...
Click to collapse
Get a kernel manager app like Synapse and it will be under security settings.
Sent from my SM-G920P using XDA-Developers Legacy app
jcase said:
Can you please upload kernel and any other relevant GPL licensed sourcecode? If it is 100% samsung official, please link to it.
Click to expand...
Click to collapse
THREAD CLOSED as it doesn't meet the requirements for Development

[KERNEL][TW & AOSP] PRIME-Kernel v2.1.2

{
"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"
}
​
List of Supported
Variants
SM-G930S/K/L/F/FD/W8
SM-G935S/K/L/F/FD/W8
ROMs
TouchWiz N base all ROMs (Stock, S8 port ROMs, Note 7/8 port ROMs)
AOSP 7.1.2 & 8.x base all ROMs (Lineage, RR, crDroid & AICP & more...)
Main Features
OSRC's latest Note-FE & S7 source code base.
Using the AnyKernel2(Flashing Tool).
Synapse support.
SELinux Permissive / Enforcing switchable (+ Fake Enforcing Mode).
Linux-stable 3.18.y upstream.
Compile with UBERTC 6.4.1 toolchain.
F2FS support (/data, /cache only).
Optimized for Exynos8890 using the Exynos-M1 flag for compile options.
Gametuner-Mod
Game Booster Mode
intelligent performance enhancement mode in conjunction with Samsung-Gametuner.
Fake KNOX.
chacha20 to random (entropy).
Linaro LSK-v3.18-Energy-Aware Scheduler (EAS) port.
EAS simplifies power and performance management through scheduler-driven tuning to manage more efficiently.
Linux-v3.18 already has EAS installed, but with the LSK-v3.18-EAS, the existing EAS has been further improved and the user can choose between tuning power efficiency and performance.
Linaro v3.18/topic/OPPv2 branch merge.
Lazytime mount options
improved storage performance and longevity.
Similar to DynamicFsync, but operates at the file system level and has no risk of data loss.
CPU/GPU UC & OC.
Limit the maximum overclock range according to the device's ASV value (device yield) to prevent excessive overclocking.
CPU/GPU/BUS voltage control.
GPU Performance Tuning.
Performance/balance/battery separated DVFS user settings.
Thunder Hotplug driver port.
HMP tuning Interface.
Detail charging circuit control allows faster charging.
Added I/O Scheduler 'bfq, fifo, fiops, row, sio, maple, tripndroid, zen'.
Enable Westwood tcp/ip congestion control (not default).
LED FADE control.
PWM Flicker free.
boeffla's generic wakelock blocker driver.
Qualcomm interactive (renamed cafactive) cpu governor porting.
Added battery-friendly 'relaxed' governors, and more.
Provides an add-on that keep kernel settings on unrooted devices.
Synapse: System Tweak add-on available.
Synapse: Provides configuration profile separated by performance/battery/stability.
Many other optimization applications.
How many users are there in this kernel and what is it with custom ROM?
* Go to User Statistics.
With this kernel, the following information is sent once to the developer's server at boot time.
variant, android serial number(not device serial), name of current firmware(ROM), country code, kernel version
* This information is Android apps can see without any special permissions.
* If you suspect other information transfer, open the '/res/synapse/actions/addon' file.
Description for AOSP ROMs
If you are using another developer's custom kernel, or if using ramdisk is corrupted kernel, you may encounter a bootloop or an unknown problem.
If you have a bootloop problem, flash the PRIME kernel after first flashing the builtin kernel in your ROM. (Or flash the ROM again)
This kernel is flashed AnyKernel method, for all kinds of AOSP ROM support.
Download
Latest Version | Older Version
Community
Telegram Group: https://t.me/primekernel
Naver Cafe (for Korean): http://cafe.naver.com/primeusers
How do I enable donation-only add-on features?​
Credit (Thanks. to)
@AndreiLux - Perseus8890 kernel.
@tkkg1994 - refer to some Commits.
@arter97 - cafactive & more.
@osm0sis - AnyKernel2.
@jesec - AOSP kernel source.
@Wootever - PWM Flicker Free.
All members of the PRIME-Kernel NaverCafe.
And all of commited in sources & all of xda developers.
XDA:DevDB Information
PRIME-Kernel, Kernel for the Samsung Galaxy S7
Contributors
Hyunwoo AHN
Source Code: https://github.com/dwander/Linaro-base/tree/herolte
Kernel Special Features: Linaro-LSK-3.18-EAS Port, Gametuner-MOD, Intelli-Performance
Version Information
Status: Stable
Current Stable Version: 2.1.2
Stable Release Date: 2017-12-17
Created 2017-09-23
Last Updated 2017-12-17
How do enable donation-only add-on features?
I only receive donations from your heart.
Do not donate if you intend to unlock synapses.
If you are unable to make a donation of 5.0 USD or more due to economic reasons, please do not donate and request me to unlock Synapse. Then you can use all the functions of synapse without donation.
How to request synapse unlock
Please tell [email protected] the following:
- A matter that is difficult for you to donate(eg economically difficult countries, students without money or credit card).
- The first five letters or screenshots of the KeyCode on the Synapse's first screen.
Change Log
v2.1.2
fixed bluetooth issue in AOSP 8.1
Linux upstream to v3.18.88
v2.1.1
Linux upstream to 3.18.87
Add Android O (8.x) support
Add new commit for AOSP support
Changed AOSP build to TouchWiz base (Integrated AOSP and TW kernel source code)
Fixed WiFi-Hotspot issue for N8 porting ROM
Fixed an issue where the charge state switching notification did not work
Note-FE GPU driver (r15p0) build droped
r12p1 GPU driver is built back into the package
Minor bug fixes
v2.0.1
Reuse AutoASV
Over clock limit relaxed
Removing the State Notifier Driver & Using the FB Driver
Fixed a bug where two big cores could not be used (v2.0)
Corrected the overclock value to actually apply when boosting the big core
Synapse: Memory: Z-Swap compression algorithm selection option removed
Synapse: Labs: gms drain patch removed
v2.0.0
base: Re-based on Note-FE source code
linux: upstream to v3.18.83
f2fs: Updated latest from f2fs-stable branch
init: Fixed video playback delay issues reported by some N8 porting users
tcp: Change the TCP congestion control algorithm default to Westwood (stock: bic)
Synapse: Fixed the problem that the Intelli-Performance setting is released after rebooting
GPU: Remove unnecessary ipa update code
exynos: Separate AutoASV in 5 steps
exynos: Changed AutoASV not to participate in overclock value(only used for big Core boosting)
mm: Change Z-Swap compression algorithm default to lzo(stock value)
Synapse: Memory: Added Z-Swap compression algorithm selection option
Synapse: Add Labs tab
Synapse: Storage: Resolve compatibility issues with DualSIM models
installer-zip: Include a RAMdisk for TouchWiz for all supported models in package(no need for stock kernel flashing)
installer-zip: After the kernel flashing is complete, it automatically flashes when Magisk or SuperSU files are found.
v1.9.3
Upstream to Linux 3.18.80
Synapse->Utility: Added Android ID management function
Synapse->Advanced: Added option to switch to Enforcing mode after booting
Synapse Add-on Updated to v6.4.2
selinux, Improved fake Enforcing
Use new random driver functions
Removing Gametuner-MOD from AOSP build
Minor bug fix
v1.9.0
Supported Note 8 Porting ROMs
Backported random(entropy) driver from Linux v4.14.rc7
Updated AnyKernel2 (bug fix)
Updated mptcp(Multipath TCP) driver (0.90.0 → 0.90.3)
installer, Prevent Magisk from being deleted when merging ramdisk
Reduced screen brightness during boot
r12p0/r15p0 GPU driver to separate build, packaged in one
! Please read the 'Attention to the GPU driver' part on the first page.
v1.8.2
Linux upstream to v3.18.78
Merge G935F DQJ1 firmware sources
Merge Note-FE AQI4 firmware sources
Fix SafetyNet bypass issue.
f2fs: fix potential panic during fstrim
selinux: Apply Fake-Enforcing mode
In Enforcing mode, it actually works in Permissive mode.
Thanks to @jesec
Synapse: minor bug fix
v1.8.0
• Linux 3.18.76 upstream.
• fully merged Note-FE AQH3 firmware sources.
- There are very very many improvements(bad sammy!)
- Not applicable for AOSP binaries​• Added boeffla's generic wakelock block driver. by @andip71
• Synapse > wakelock: Add generic wakelock.
• Synapse: Some English translation.
v1.7.0
• Linux 3.18.75 upstream
• Added IPA update for cafactive, ironactive, impulse governors.
• Added relaxed CPU governor
- Conservative based battery-friendly governer, with performance degradation.​• ironactive, impulse governor removal.
• Synapse: Added EAS-Tune tab.
- Boost support separated by global, top-app, background, and foreground items.​
v1.6.0
Linux 3.18.73 upstream.
Selinux: permissive/enforce mode switching support.
Synapse: Improved to work in Enforce mode.
Synapse: Improved the SynapseLoader add-on to work in Enforce mode.
Synapse: Added SELinux Enforce option.
- More complete SafetyNet bypass & KakaoBank compatible.​Synapse: Updated addon (v6.4.0)
Install-zip: Prevent Magisk from reverting kernel init files before.
Install-zip: Added init binary hexpatch to support f2fs conversion of cache partition.
v1.5.2
aosp: Reduce the haptic feedback strength default by 50%.
synapse: misc: Added haptic feedback intensity control to AOSP.
v1.5.1
Enable cgroup_schedtune.
- EAS Schedule tuning (energy or performance) automation support options.
- CFS boost setting is removed accordingly.​install-zip: Fixed some bugs in the flashing process.
v1.5.0
Linux 3.18.72 upstream.
G935F-DQIC firmware kernel source merged.
Support AOSP 7.1.2 based custom ROMs.
- Tested: LineageOS, crDroid, RR​Changed to AnyKernel method.
Updating the f2fs file system on the f2fs-stable branch.
workqueue improvement.
Apply ADJ_RBTREE to LMK.
Using ARM64 logic on SHA256 / 512.
PWM Flicker Free - Thank's to [email protected]
- information: https://forum.xda-developers.com/s7-edge/development/amoled-pwm-s7-edge-t3517739​Synapse - Added WakeLock control.
- Some are not supported in MTweaks, I recommend using Synapse.​Synapse: Added CPU Voltage margin setting.
There are many more minor changes.
v1.4.0
EAS: Adding a missing commit.
- Fixed temperature rise problem in some high-end games.​GPU: DVFS tuning.
Synapse: Correct default settings when selecting maple IO scheduler.
init: cfs_boost Adjust the default value to 0.
zip-installer: Mali-R12P0 & R15P0 Include the GPU driver in the package.
v1.3.2
Linux 3.18.71 upstream.
changed the source code base to G935FXXU1DQH8.
improved crypto.
fs: updated to the latest in the f2fs-stable branch.
f2fs: support for lazytime mounts.
fstab: support f2fs mount (/system not allowed).
ext4: fix fencepost error in lazytime optimization.
ramdisk: unified with G935FXXU1DQHY base without any 'flat/edge/kor/eur'.
v1.3.0
Disable Exynos-Swap, use ZSwap.
- ZSwap's efficiency is better.​Enable zswap_writeback.
Changed the toolchain to gcc-6.4.1 (UBERTC 6.4.1).
Remove the 'perfect C-state residency' related commits.
Back to r12p0 gpu driver.
- Battery efficiency issue of r15p0.​Fix synaps FC issue.
- In the case of genuine firmware, FC occurs at the first execution.​Optimized & bug fixes for old scripts in synapse.
Ramdisk divided build, global model and Korean model.
- Several issues related to global models.​
v1.2.0
Updated with DQH8 firmware source code.
Linux 3.18.15 ~ 70 upstream rework.
NIVIDIA CPU Relax Patch removal.
- In some games, FC or loading loop issue.​XPAD Joystick driver update (from Google AOSP 3.18 kernel)
ZRAM, KSM off
- ZRAM is duplicates with VNSWAP
KSM is inefficient​Synapse: English translation (90%)
Details(Korean): http://enfree.com/prime/?page=changelog&device=G930
New kernel , i'm going to test now
Tried both with my S8 ROM port.
Boots very slow
When devices i booted it takes some seconds till phone freezes and than reboots!
DirkStorck said:
Tried both with my S8 ROM port.
Boots very slow
When devices i booted it takes some seconds till phone freezes and than reboots!
Click to expand...
Click to collapse
Tell me the name of your custom ROM and the name of your device model.
Hyunwoo AHN said:
Tell me the name of your custom ROM and the name of your device model.
Click to expand...
Click to collapse
My device is SM-G930F and I am using BatMan-Rom V1.3.0
After flashing the kernel I have flashed Magsik 13.6
Thanks
DirkStorck said:
My device is SM-G930F and I am using BatMan-Rom V1.3.0
After flashing the kernel I have flashed Magsik 13.6
Thanks
Click to expand...
Click to collapse
Sorry, can you try again with v1.3.0?
Hyunwoo AHN said:
Sorry, can you try again with v1.3.0?
Click to expand...
Click to collapse
Sorry, my fault. MTweaks was still running what interfered.
Flashed v1.4 with stock GPU drivers. running fine so far but boot time is still longer than with other kernels.
Could you add a global slider to under volt CPU and GPU by a certain value?
EDIT:
In Synapse at "Game Tuner MOD" and "Utility" tab the last few settings are not in englisch
DirkStorck said:
Sorry, my fault. MTweaks was still running what interfered.
Flashed v1.4 with stock GPU drivers. running fine so far but boot time is still longer than with other kernels.
Could you add a global slider to under volt CPU and GPU by a certain value?
Will try this kernel now and report back.
EDIT:
In Synapse at "Game Tuner MOD" and "Utility" tab the last few settings are not in englisch
Click to expand...
Click to collapse
The global slider is hard to implement, because of the UI structure of Synapse.
If you are not comfortable with the Voltage setting, you can get the desired result by returning to Synapse after setting in MTweaks. If you do not know what I mean, try it.
What if it takes a long time to boot? If it is a symptom that only takes longer in the first Bootanimation, it will not be a problem from the second since it recreates the dalvik (ART) cache for some reason.
If it takes a long time to boot each time, it may be because used the G935F ramdisk in this kernel. I tried BatmanROM, but I did not have the problem you said.
In the next version, i will separate ramdisks by variant like v1.3.0.
Korean in the Gametuner-MOD and utility tabs are donation-only functions.
I will translate English donors if they say inconveniences.
Hyunwoo AHN said:
The global slider is hard to implement, because of the UI structure of Synapse.
If you are not comfortable with the Voltage setting, you can get the desired result by returning to Synapse after setting in MTweaks. If you do not know what I mean, try it.
What if it takes a long time to boot? If it is a symptom that only takes longer in the first Bootanimation, it will not be a problem from the second since it recreates the dalvik (ART) cache for some reason.
If it takes a long time to boot each time, it may be because used the G935F ramdisk in this kernel. I tried BatmanROM, but I did not have the problem you said.
In the next version, i will separate ramdisks by variant like v1.3.0.
Korean in the Gametuner-MOD and utility tabs are donation-only functions.
I will translate English donors if they say inconveniences.
Click to expand...
Click to collapse
Ok, tried that with MTweaks and noticed that it was already under volted by my previous settings.
Noticed that there is no tab to disable wakelocks. Do you plan to add this?
EDIT: for now I back to my previous kernel...sorry....
Thanks!
DirkStorck said:
Ok, tried that with MTweaks and noticed that it was already under volted by my previous settings.
Noticed that there is no tab to disable wakelocks. Do you plan to add this?
EDIT: for now I back to my previous kernel...sorry....
Thanks!
Click to expand...
Click to collapse
Kernel-level wakelocks work when requested by an Android system or app.
It is not desirable to force such requests to be ignored.
My Note4 kernel has a wakelock tab. However, it was added because of the deep-sleep problem in some variants of Note4.
If there is a deep sleep (wakelock) problem in our S7, I will add a wake-lock tab.
Again briefly, the wakelock control should not be abused. So, if there are no related problems, I will not add them.
update to v1.5.0
Thanks for supporting AOSP! ?
After flashing 1.5.0 I'm still at 1.4.0 :/
MK73DS said:
After flashing 1.5.0 I'm still at 1.4.0 :/
Click to expand...
Click to collapse
If flashing was completed and there were no errors, it is not possible.
If you rooted or unrooted the kernel after flashing, the old kernel would have been restored.
If you do not know, Flash the kernel after rooting.
Hyunwoo AHN said:
If flashing was completed and there were no errors, it is not possible.
If you rooted or unrooted the kernel after flashing, the old kernel would have been restored.
If you do not know, Flash the kernel after rooting.
Click to expand...
Click to collapse
Indeed, I rooted after flashing the kernel, thank you ^-^
you do a fantastic job with all the feature you added in your kernel(thunderplug,eas, pwm flicker free, etc...). v15 is very recommended
Hey man, thanks for this kernel! I tried it on AOSP for RR which boots but I noticed that flashing this kernel, disabled the option to adjust vibrate intensity. The option in Sound is there but Settings Force Closes when clicking on it. The reason I need to adjust it, is the vibration is back to really strong vibration when touching a key. Hope this details helps. On latest Prime 1.5.0
Andrw0830 said:
Hey man, thanks for this kernel! I tried it on AOSP for RR which boots but I noticed that flashing this kernel, disabled the option to adjust vibrate intensity. The option in Sound is there but Settings Force Closes when clicking on it. The reason I need to adjust it, is the vibration is back to really strong vibration when touching a key. Hope this details helps. On latest Prime 1.5.0
Click to expand...
Click to collapse
issue was raised on edge thread.
https://forum.xda-developers.com/s7-edge/development/kernel-prime-kernel-v1-4-0-t3678159/page5

selinux

how to change selinux permissive to enforcing GSİ roms?
this isnt a question related to GSIs... Just search for selinux in magisk repo

Selinux permissive

Please someone make this kernel's selinux set to permissive
its from SM-N750 XME ROM
Thanks a million

[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