Related
I'm trying to get (any) Samsung kernel to boot on a very similar platform, using the S5PV210 chipset. (smdkv210). The tablet this runs on, has nearly the same hardware as the Galaxy tab, except the 3G offcourse. It runs a mix of mtd/sd card filesystem, and i'm trying to get the Tab kernel to boot on it, since there appears to be no cpu governing or whatever going on, and the device is somewhat crippled.
The original dmesg is here : http://www.pastie.org/pastes/1585789/text
And a more recent one: http://www.pastie.org/1647849
Offcourse i'm still missing the rs232-port on the device, so debugging at ttl is a no-go right now and that really hurts, i can't see where the current builds are (probably) causing panic.
Does anybody have a dmesg of the galaxy so i can compare what needs to changed?
So far by looking at the kernel/dmesg i've deducted i'll be needing:
- Fix memory area setup? (http://forum.xda-developers.com/showpost.php?p=9689534&postcount=9) where is this defined?
- Enable UBIFS support
- Enable EXT4
- NAND instead of ONENAND support? (main difference between 110 and 210 cpu)
- Change framebuffer stuff?
- Change boot commandline in kernel (comes from u-boot)
- Have it find init/ramfs?
The board uses a kernel only where it points to /init like this:
Code:
Kernel command line: root=/dev/mmcblk0p4 rootfstype=ext4 init=/init
or
Kernel command line: ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs init=/init
Should it be safe to assume ext4/ubi (when enabled) will kick in and then kernel finds/mounts this part init by itself and the magic happens?
I know this post is a bit off-topic, but you guys were having a nearly similar case when there was no source (yet) available right? Did you manage to boot any non-samsung sourced kernels on your hardware?
Not sure if i can help but...
From reading your posts on slatedroid i assume you have a dropad a8 (or simular).
I have an Haipad M7 (it's identical afaik to the dropad) but i have a rs232 connection on it. (My own modification)
It runs the SMDKV210 console so i can do pretty much anything i want with it.
The problem is that i am still a noob on U-boot and linux
Let me know if i can assist you in any way.
Groeten,
Asure said:
I'm trying to get (any) Samsung kernel to boot on a very similar platform, using the S5PV210 chipset. (smdkv210). The tablet this runs on, has nearly the same hardware as the Galaxy tab, except the 3G offcourse. It runs a mix of mtd/sd card filesystem, and i'm trying to get the Tab kernel to boot on it, since there appears to be no cpu governing or whatever going on, and the device is somewhat crippled.
The original dmesg is here : http://www.pastie.org/pastes/1585789/text
And a more recent one: http://www.pastie.org/1647849
Offcourse i'm still missing the rs232-port on the device, so debugging at ttl is a no-go right now and that really hurts, i can't see where the current builds are (probably) causing panic.
Does anybody have a dmesg of the galaxy so i can compare what needs to changed?
So far by looking at the kernel/dmesg i've deducted i'll be needing:
- Fix memory area setup? (http://forum.xda-developers.com/showpost.php?p=9689534&postcount=9) where is this defined?
- Enable UBIFS support
- Enable EXT4
- NAND instead of ONENAND support? (main difference between 110 and 210 cpu)
- Change framebuffer stuff?
- Change boot commandline in kernel (comes from u-boot)
- Have it find init/ramfs?
The board uses a kernel only where it points to /init like this:
Code:
Kernel command line: root=/dev/mmcblk0p4 rootfstype=ext4 init=/init
or
Kernel command line: ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs init=/init
Should it be safe to assume ext4/ubi (when enabled) will kick in and then kernel finds/mounts this part init by itself and the magic happens?
I know this post is a bit off-topic, but you guys were having a nearly similar case when there was no source (yet) available right? Did you manage to boot any non-samsung sourced kernels on your hardware?
Click to expand...
Click to collapse
seems you want the oposite to me, you have u-boot and a nicer kernel source to work with (if it is one of the SMDKV210 boards that are generally available).
one of the biggest differences you have is running mtd, we don't have onenand in mtd we have tfsr (bml)
The first time I made AdaMax was for the Chinese Galaxy S4 Duos GT-I9502. I ported Adam kernel and added more tweaks from other kernels like Persus, halaszk (5420). After several releases, I decidec to spread this kernel to more models. So I built the v8 for both Chinese and international GT-I9500. This thread it for hosting it.
This week, i successed compiling for the s4 with 5410 cpu. As we know GT-I9500, GT-I9502 and SCH-I959. They share almost same compiling configure and their own ramdisk. So I compile them together with almost same features.
At last, I have to make following declarations, AGAIN:
Take your own risk and responsibility on flashing this kernel. I am not responsibale for any loss of your hardware, software, data or warranty.
Read this OP from start to finish before flashing the packages or asking any questions. There is a Q&A section. Any questions already answered will be ignored by me and may be insulted by other members. So save your your keyboard, your time and your data traffic.
No ETAs.
Don't ask me to make this kernel for a specific rom. There are basically only two kinds of roms, AOSP and TouchWiz. So I compile for these two kinds with differnet SDK levels. If it dose not work on some rom, don't blame me and ask me to adapt the rom for it.
If you found a new version, but its download link is not directly showed in this OP, that means it is a version I don't think good enough to be a release. So take your own risk to use it. I will remember your feedback, try to make changes, but not respond with posts.
Thanks to a lot of people, I will add their names here... @wanam, [email protected], @Dees_Troy and Team Win, @AndreiLux
As my habit, I always put the download link first:
v15: https://github.com/maxfu/android_kernel_samsung_exynos5410/releases/tag/v15-9500
File name instruction:
touchwiz: for most used international GT-I9500 with exynos5410 cpu.
aosp: for AOSP KitKat 4.4 roms like CM, ramdisk comes from CM 11
kk442: kernel for KitKat 4.4.2
jb43: kernel for Jelly Bean 4.3
jb442: kernel for Jelly Bean 4.2.2
lite: live version is built with stock zImage and maxfour initrd. It has limited maxfour features. And sometimes selinux f**ks up the STweaks.
boot: system kernel package
recovery: recovery kernel package
kernel: system + recovery combined kernel package
*.tar/*.tar.md5: Odin package
*.zip: CWM/TWRP recovery package
example.1: boot-i9500-aosp kk442-v10f1tc.zip means a system kernel image CWM/TWRP flashable package for international I9500 with TouchWiz KitKat 4.4.2 roms.
example.2: kernel-i9500-aosp-kk442-v10f1tc.tar.md5 means a system recovery combined odin package for international I9500 with AOSP roms like CM.
Old versions:
v14: https://sourceforge.net/projects/maxfuacm/files/Kernel/MaxFour/v14/GT-I9500/
v13: https://sourceforge.net/projects/maxfuacm/files/Kernel/MaxFour/v13/GT-I9500/
v12: https://sourceforge.net/projects/maxfuacm/files/Kernel/MaxFour/v12/GT-I9500/
v11: https://sourceforge.net/projects/maxfuacm/files/Kernel/MaxFour/v11/GT-I9500/
v10f1: https://sourceforge.net/projects/maxfuacm/files/Kernel/MaxFour/v10f1/GT-I9500/
You can always go to the following addresses to see whether there is a new version:
https://github.com/maxfu/android_kernel_samsung_exynos5410/wiki
https://github.com/maxfu/android_kernel_samsung_exynos5410/releases
I open the issue section for the source code, you can report problems here. Please provide at least version aosp/touchwiz jb/kk.
https://github.com/maxfu/android_kernel_samsung_exynos5410/issues/new
The source code:
You can
git clone https://github.com/maxfu/android_kernel_samsung_exynos5410.git
git clone https://github.com/maxfu/initramfs_samsung_galaxy_s4.git
git clone https://github.com/maxfu/toolchains.git
use the build.sh for exynos in toolchains/script ro build the kernel.
you need to su before build the kernel cause the ramdisk belongs to root.
Since this is a side product of my kernel for GT-I9502 which is the phone I am currently using. I don't actually test this build for GT-I9500, so I really need feedback. And please backup your rom before using this.
Features:
Built with OSRC KK 4.4 source and ramdisk, now it should work on many 4.4 roms.
Contains most features from Adam kernel including Wolfson Audio Control. For I9502 which uses yamaha sound chip, Wolfson Audio Control will be hidden automatically since it does not work.
From v10, the kernel is renamed to MaxFour due to wamam's request.
Kernel + Recovery release at one time, recovery based on TWRP with EFS_GSM (for Chinese Duos devices) support.
Compiled with GCC 4.8 toolchain from Google NDK r9c.
Packed in LZMA format to make smaller images.
Native exfat support based on OSRC exfat source code.
UCI script for STweaks and may be others.
Unlocked some hidden CPU frequency: 2.0GHz, 1.9GHz, 1.8GHz, 1.7GHz, 800MHz, 700MHz for big cores; 1.3GHz, 1.2GHz, 400MHz,
300MHz, 200MHz for little cores. Frequencies over stock like 1.7GHz for big cores and 1.3G for little cores are implemented in tc*/overclock version.
Added more STweaks settings which are not included in Adam kernel, including CPU power management, Tools with reboot options, GPU settings, CPU governor.
Android logger is compiled as standanlone module, so user can disable it completely to save power.
Tc/overclock version contains Persus dvfs for GPU with 700MHz overclock, thanks to AndreaLux.
Built-in Seeder entropy generator to provide lag reduction although it is not significant as it was on Gingerbread.
Built-in busybox with auto-installation.
Optimize on ram.
Added several I/O Schedulers including ZEN and ROW.
Built-in dynamic eMMC read ahead
Built-in Asynchronous Fsync
Compiled with compile flag for Cortex-A15 and NEON
Disable KNOX and SELinux when booting, selinux will be set to permissive with the boot command line.
init.d support.
A lot of changes and fixes.
Disabled a lot of rarely used devices support.
PS:
*1. TC means turbocharged, so it is overclock
Change Log:
v15:
Rebuild with GT-I9502 CHN KK Opensource from OSRC.
Upgrade KSM (Kernel Samepage Merging) to uksm (Ultra KSM) which has Super quiet CPU usage, Ultra scan speed and High CPU efficiency.
Support init.d.
Lower CPU frequencies presented in previous versions, voltage options coming soon.
GPU tweak presented in previous versions.
STweaks cueerntly unsupported, coming soon.
mDNIe and Sound Control coming soon.
AOSP support coming soon.
v14:
Upgrade kernel to 3.4.10
Implement AES-ARM and SHA1-ARM crypto algorithm
Rollback selinux related script to v11
v13:
Rebuilt source tree from HNC6 source.
Most features kept
INT, MIF, MEMIO settings removed, these should not be touched
Should be much better than v12
Fixed video bug for AOSP, I think it is fixed
Upgraded AOSP initramfs, may fix the modem/signal problem
Set ro.secure and ro.adb.secure to 0
Camera lag? Less.
Upgraded busybox
v12:
I don't want to talk about it, this version is totally a rubbish
v11:
STweaks: Added Chinese UI, works on Chinese system, when the language is set to other ones, English UI will show. An templete is provided for more translations.
STweaks: Added boost mode in the Misc tab. The boost mode is found when the news of Samsung cheating on benchmark softwares came out. When a benchmark software is detacted running, the boost mode will be on to allow higher temprature and faster CPU scaling. Simply turn on this mode will not provide any visable change, it should be used with CPU, GPU, INT, MIF clock operations.
STweaks: Added control for Internal, Memory Interface and Memory I/O.
STweaks: Added a button to switch the USB mode to Mass Storage Mode, which is classical mode before GingerBread got out dated.
STweaks: Added a CPU wake lock switch.
STweaks: Added instructiuon of Sound Control being not available on models other than I9500.
STweaks: Added instruction of GPU voltage control being not available on non-tc versions.
Kernel: Added a odin mode. Now we can reboot to download mode with "adb reboot odin". The original commands still work.
v10f1:
initial build for XDA users.
Q&A:
I did not reserve a post for this section, so I will put the Q&A here in the OP.
Q: Which package should I use? A: boot is what you need. recovery is just a side product.
Q: Which version I should use? A: Please the "File name instruction" section in the OP, you will find the answer.
Q: Do I need to wipe the data after I flash? A: Well I don't think you need, but due to some report, wiping data can solve certain problems after flashing this kernel. So whatever you like, please backup data before you flash or wipe.
Q: Which rom does this kernel support? A: I can't tell, please refer to the File name instruction section, if you rom is not mentioned there, it is not supported?
Q: Does this support MIUI? A: Official MIUI is based on touchwiz 4.2.2. So please refer to Q2,3,4.
Q: There is no OC in tc version. A: In the init.rc there is a script limiting the CPU frequency to 1.6GHz, so you should use STweaks to unlock it. Please open /sys/devices/system/cpu/cpu0/cpufreq/UV_uV_table, if there is 2000 1900 1800 and 1700, then there is OC, just unlock it.
Q: Some app FC? A: Usually FCs are not due to the kernel, check the rom first, and settings etc, the kernel should be the last reason, cause it just provide the bridge between the system hal and hardware. Report the fc, I will take a look, but I can not say I can fix it.
Q: Battery life? A: It is due to your habit, just like driving a car, a Toyota Prius can use 10L gas if driven by somebody like Michael Schumacher. As my test, due to my habit with non tc version, it is better than stock.
Q: Do I need STweaks to run the kernel? A: The kernel can run without it, but with it you can have more options.
Q: STweaks shows "unextected error"? A: This situation usually happens at the first time STweaks starts, it is OK. Just go on using STweaks.
Q: STweaks FCs. A: Well this sometimes is due to the kernel, sometimes. Here is something you can do: Wipe the STweaks' data, remove /data/.maxfour and /data/.adamax, check the superuser software and give STweaks root access. And yes you need root access. At last, use normal version.
Q: Auto root? A: Use the CWM zip package. And I would take it out soon. Sometimes it breaks root.
Q: Not actually auto-root with v13? A: Yes, v13 will put a wizard like app which will lead you download SuperSU, only when your rom is not rooted.
Q: Conservative governor stock at certain frequency? A: Don't use it, only ondemand governor is optimized for 5410 with big.little cores.
Q: Can you add something? You must do something? Please do something? A: I take advice, but not demand. The reason is simple: I make this kernel due to my interests, not purchase orders. I am not funded for doing this. If the advice is good, I'd take it. If it is just a personal preference, I have to consider it.
Q: Got very low volume of sound? A: Use stweaks, I9500 has wolfson sound control.
Q: Video color is not correct, got blur faces. A: v13 should have this issue fixed.
Q: No internal storage access permission. A: I will make a workaroung later. For now, remount it with rw option through adb.
Q: Random reboot. A: Well, it exists, I admit. I don't know why. I will look for the reason.
Q: After flashing, the phone won't boot. A: Well, I can't guarantee that this kernel works everywhere. And please check if you are using the correct version.
Q: When is your next release? A: I don't know either.
Q: I flashed, it doesn't work. A: Well, it does not work. I don't know why cause it just don't work. I only answer information-rich questions. Questions like this is only a waster of your keyboard, your time and your data traffic. Please at least tell me which version and what rom you are using.
Q: Anything asked above. A: I will keep silence. Other people may insult for this.
Q: Why don't you answer/respond our questions? A: I am a employee, husband, father and son of someone other than XDA and you.
maxfu said:
The first time I make AdaMax is for the Chinese Galaxy S4 Duos GT-I9502. I ported Adam kernel and added more tweaks from other kernels like Persus, halaszk (5420). After several releases, I decidec to spread this kernel to more models. So I built the v8 for both Chinese and international GT-I9500. This thread it for hosting it.
Thanks to a lot of people, I will add their names here...
As my habit, I always put the download link first:
https://github.com/maxfu/android_kernel_samsung_galaxy_s4/releases/tag/9500v8
The uploading is still on going...
Features:
Based on OSRC GT-I9500 JB Opensource Update4 source tree.
Contains most features from Adam kernel, so this kernel is called Adam + Max.
Kernel + Recovery release at one time, recovery based on TWRP with EFS_GSM (for Chinese Duos devices) support.
Compiled with GCC 4.8 toolchain from Google NDK r9c.
Packed in LZMA format, smaller images.
Native exfat supportbased on OSRC exfat source code.
UCI script for STweaks and may be others.
Unlocked some hidden CPU frequency: 2.0GHz, 1.9GHz, 1.8GHz, 1.7GHz, 800MHz, 700MHz for big cores; 1.3GHz, 1.2GHz, 400MHz,
300MHz, 200MHz for little cores.
Frequencies over stock are implemented in overclock (tc/turbocharged) version.
Added more STweaks settings from Adam kernel, including CPU power management, Tools, CPU settings, CPU governor.
Logger module is compiled as standanlone module, so user can disable it completely to save powew.
Overclock (tc/turbocharged) version contains Persus dvfs for GPU with 700MHz overclock, thanks to AndreaLux.
Disabled a lot of rarely used devices support.
Built-in Seeder.
Built-in busybox with auto-installation.
Optimize on ram.
Added several I/O Schedulers including ZEN and ROW.
Built-in dynamic eMMC read ahead
Compiled with compile flag for Cortex-A15 and NEON
Disable KNOX and SELinux when booting
init.d support.
A lot of changes and fixes.
Click to expand...
Click to collapse
Most features of Adam & Perseus Kernel. Does this include the Wolfson Audio Control?
Paolonicus said:
Most features of Adam & Perseus Kernel. Does this include the Wolfson Audio Control?
Click to expand...
Click to collapse
I kept the feature, so it should show up in STweaks on I9500. I am using 9502 which does not have the feature so I can not test it. When I compile for 9500, sound control is enabled.
@maxfu Is this kernel for the 4.3 or 4.4.2?
a2441918 said:
@maxfu Is this kernel for the 4.3 or 4.4.2?
Click to expand...
Click to collapse
Sorry I did not directly mention. It is for 4.3 JellyBean.
maxfu said:
Sorry I did not directly mention. It is for 4.3 JellyBean.
Click to expand...
Click to collapse
Can you please mention it in the op please it's very confusing.
Thanks.
Sent from my GT-I9500 using Tapatalk
Will there be version for Kitkat?
This is something that prevents me from flashing the newer version of Android.
Paolonicus said:
This is something that prevents me from flashing the newer version of Android.
Click to expand...
Click to collapse
If Samsung releases the source code for 4.4, I will.
Paolonicus said:
This is something that prevents me from flashing the newer version of Android.
Click to expand...
Click to collapse
I have a good news for you. I found I9500XXUFNB1: GT-I9500_KK_Opensource.zip, so I will push it up in several days.
How about battery life and performance compared to stock kernel?
Sent from my GT-I9500 using XDA Premium 4 mobile app
snxxxxx said:
How about battery life and performance compared to stock kernel?
Sent from my GT-I9500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Well it is hard to say. If you use the normal version, it should be battery friendly. The tc version is overclocked. Due to my 3DMark result, the overclock version maxied out the First and Second stage tests.
maxfu said:
Well it is hard to say. If you use the normal version, it should be battery friendly. The tc version is overclocked. Due to my 3DMark result, the overclock version maxied out the First and Second stage tests.
Click to expand...
Click to collapse
If you can Make it AOSP support also
Thanks maxfu for the contribution...will try soon. You didn't mention about the screen color option from perseus kernel. Is it there?
Yesss at last some hope for 4.4 custom kernel!! Thank you Maxfu for continuing Wanam's legacy.
Wow!
maxfu said:
I have a good news for you. I found I9500XXUFNB1: GT-I9500_KK_Opensource.zip, so I will push it up in several days.
Click to expand...
Click to collapse
Sweet! Can't wait to try you kernel! Thanks a bunch!
For AOSP, I will try.
Sent from my GT-I9502 using xda app-developers app
great to see another addition to kennels for gt -9500. please also add support fir miui.
Sent from my GT-I9500 using Tapatalk
Some Proposals
1. Auto Install Stweaks
2. Clearly describe CPU Options which one for big cores and which for little cores
3. Don't lock GPU Frequency at 532MHz as i see by default ... maybe more relaxed 177-532 settings?
4. SELinux is set to Permissive by default ... maybe set as Disabled?
and maybe some very useful Insecure version please?
ro.secure=0
ro.adb.secure=0
(computer translation)
Hi, I already flashed Adam Kernel on my S4. Can I simply flash this Kernel on recovery or do I need to do something else?
Dnssuffix said:
Thanks maxfu for the contribution...will try soon. You didn't mention about the screen color option from perseus kernel. Is it there?
Click to expand...
Click to collapse
If it is in Adam kernel, then it is here. There is a screen tab in STweaks.
*** This kernel is now end-of-life, not supported and developed anymore !!! ***
Hi all,
some of you know me from the other OnePlus or Samsung devices areas, where I provide my kernels already for more than three years to OnePlus 3, 2, one and X, Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official OnePlus OOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
To add: An open beta (aka community build) is NOT an official build supported here. If you use a community build and have issues, don't complain or even report. I am not merging any kernel changes from open betas into my kernels !!
Important notes
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
This kernel is ONLY compatible to OxygenOs stock, nothing else !!!
If you are using a custom rom that bases on OxygenOs, it might work. However, if it does not work, do not expect me to do tweak to make the kernel running with your favorite rom. I would not do it - my one and only reference is OxygenOs stock.
It is not supposed to be compatible to CM, HydrogenOS etc.
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Installation
Read the install instructions in the support section on the Boeffla Site.
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (outdated at the moment).
Click here to learn about using the config app (outdated at the moment).
I will refuse to give support if you do any undervolting/overclocking and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for OxygenOS 4.x.x kernel - Click here
Change log for OxygenOS 3.x.x kernel - Click here
Known issues
none
Features
Note: This kernel only runs on OOS 3.x.x for the OnePlus 3T - nothing else !!!
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.4.21 or higher !!!) configuration app (get it from http://www.boeffla.de) to configure all kernel settings
Dash charging fully supported
The two CPU clusters (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and CPU core profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand, blu_active
Additional schedulers: fiops, bfq, sio, sioplus, fifo, vr, tripndroid, zen, maple
No CPU overclocking and voltage interface, no GPU overclocking and voltage interface
USB charge rate bumped up to 900 mA
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
Boeffla touchkey LED control (LEDs fully off, LED on screen touch, configurable duration)
CPU core profiles to restrict number of CPU cores being used (the OP3 does not hotplug based on load)
Notification LED control (effect + speed for blinking/fading, brightness for continuous notification like battery charging etc.)
Boeffla-Sound engine: Headphone volume and speaker volume (only lowering volumes for speaker)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable per CPU cluster, input boost switch
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Control haptic feedback of gestures (except fingerprint)
Haptic feedback intensity control
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (only when data volume is formated with ext4, stock default is f2fs)
Kernel logger (dmesg) configurable
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms available
Entropy values configurable
Hardware touch keys are locked as long as screen is in use (touched) for better usability
Swap supported
Doze mode switchable
Verifiedbootstage flag remove to avoid triggering safetynet
Various minor kernel tweaks
Doze mode configurable in Boeffla-Config
Full selinux strict support (switchable to permissive on demand)
Show speedbin information (PVS level) in Boeffla-Config app
init.d support (in /system/etc/init.d - set correct permissions!)
Entropies configurable
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Security patches included, which are not in the official repo
Google gcc 4.9 toolchain (64 bit) used for best stability
Always based on latest OOS kernel sources (https://github.com/OnePlusOSS/androi...neplus_msm8996)
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the kernel only if you are running a compatible rom !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.4.21 or higher for the OnePlus 3T Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* Grarak
* Yank555
* Hardcore
* Chainfire
* AndreiLux
* Netarchy
* Gokhanmoral
* Simone201
* Mialwe
* Entropy512
* Faux
* Harunjo
* FranciscoFranco
* Ak
* Osm0sis
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change log:
OOS4
http://kernel.boeffla.de/oneplus3t/boeffla-kernel-oos/oos4xx/changelog.htm
OOS3
http://kernel.boeffla.de/oneplus3t/boeffla-kernel-oos/oos3xx/changelog.htm
--- Reserved 2 ---
Here we go!
First beta is online for you guys.
As always, find everything on www.boeffla.de
And just to stress it again: It is the VERY FIRST beta, so expect bugs!
Have fund
Andi
nice! downloading right now!
so happy to see you again andi! your kernel was simply the best on my galaxy S5 and I missed your affords in my S7!
so happy flashing to everyone!
Sent from my ONEPLUS A3003 using XDA-Developers mobile app
After jumping from kernel to kernel (since there are many more kernel devs here than on the OP2) with various minor niggles, finally back to the one I feel fits my needs best. This release brings me relief, as now I don't have to go kernel hopping again, and I think Boeffla provides the best support of all. No bugs so far, multirom boot menu works, everything runs great.
Out of curiosity, is the kernel systemless? (Can I revert to stock by just flashing stock boot.img from latest ROM zip?) I ask because flashing the entire stock ROM takes a long time, and the TWRP loading time is also long.
Also, ext4 tweaks is not hidden for me and is enabled when a profile is reset to default settings. I'm on the default filesystems. (f2fs data, ext4 everything else)
Should I leave ext4 tweaks on or off?
PS: I was probably the first person to like and subscribe to this thread. (within 5 minutes of thread creation)
Edit: Flashable stock kernels? Perfect, thank you @Lord Boeffla ! Does it revert any custom kernel to stock kernel?
Been with Boeffla since S3 and via OPO this will be my third phone with the kernel.
Thanks!
Skickat från min ONEPLUS A3003 via Tapatalk
knpk13 said:
After jumping from kernel to kernel (since there are many more kernel devs here than on the OP2) with various minor niggles, finally back to the one I feel fits my needs best. This release brings me relief, as now I don't have to go kernel hopping again. No bugs so far, multirom boot menu works, everything runs great.
Out of curiosity, is the kernel systemless? (Can I revert to stock by just flashing stock boot.img from latest ROM zip?) I ask because flashing the entire stock ROM takes a long time, and the TWRP loading time is also long.
Click to expand...
Click to collapse
This is not possible on OOS in a clean way.
The kernel comes with modules which are placed in /system/lib/modules too.
So only flashing stock boot.img would not replace the kernel modules by stock ones. So it is only a "half-good" solution.
But, as most of the time, I have a solution for you
Look here: http://boeffla.de/index.php/downloads/downloads-general
Flashable stock kernels for the 3T, which also include the modules.
Guess this is what you need.
Andi
knpk13 said:
Also, ext4 tweaks is not hidden for me and is enabled when a profile is reset to default settings. I'm on the default filesystems. (f2fs data, ext4 everything else)
Should I leave ext4 tweaks on or off?
Click to expand...
Click to collapse
This is something I might need to correct in the app then. Leave them off, there is no ext4 anymore on /data volue with stock OOS (but the f**inkg f2fs).
I will look into that over the next days then.
EDIT: Just tried it - cannot replicate that. Maybe your /data partition is indeed formatted in ext4???
(you can check by firing the following command in a terminal: mount | grep data)
Andi
Lord Boeffla said:
This is something I might need to correct in the app then. Leave them off, there is no ext4 anymore on /data volue with stock OOS (but the f**inkg f2fs).
I will look into that over the next days then.
Andi
Click to expand...
Click to collapse
I reopened the app, and ext4 tweaks was off. But when I click on reset profile settings, it turns on. But on reopening again, it turns off automatically every time, so I guess it's working fine. Yes I'm sure I'm on f2fs.
knpk13 said:
I reopened the app, and ext4 tweaks was off. But when I click on reset profile settings, it turns on. But on reopening again, it turns off, so I guess it's working fine.
Click to expand...
Click to collapse
Yep, and also means, your data partition is not formatted with f2fs (my op3t came with /data on f2fs)... lucky you. I love ext4 much more, I even consider reformatting /data with ext4 soon, hehe.
Andi
Ok guys, evening hours here in Germany.
I am off for today. If you have any questions, you can also move over and read in the OP3 thread. The devices are - concerning my kernel - 99,99% the same.
So you would most probably find all answers to your questions already there.
Tomorrow I will catch up again.
Andi
Lord Boeffla said:
Yep, and also means, your data partition is not formatted with f2fs (my op3t came with /data on f2fs)... lucky you. I live ext4 much more, I even consider reformatting /data with ext4 soon, hehe.
Andi
Click to expand...
Click to collapse
I'm sure I'm on f2fs. Even TWRP says I'm on f2fs. 3T comes stock with f2fs. This is the output of mount | grep data, but since I'm using magisk I think the output has many partitions and I can't make sense of it.
I think the ext4 tweaks toggle is working fine since it reverts to off automatically when the app is restarted. Thanks!
Here is the output: https://hastebin.com/iwokiramek.hs
Welcome to the 3t Lord Boeffla.. Enjoyed having your kernels and support on the s5 when I was running that phone.. Look forward to the same here..
Sent from my ONEPLUS A3000 using Tapatalk
Lord Boeffla said:
But, as most of the time, I have a solution for you
Look here: http://boeffla.de/index.php/downloads/downloads-general
Flashable stock kernels for the 3T, which also include the modules.
Guess this is what you need.
Andi
Click to expand...
Click to collapse
nice, been waiting for this since day one. :good:
So it is not oos 4.0.0 compatible
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
inzaghi75 said:
So it is not oos 4.0.0 compatible
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Click to expand...
Click to collapse
No. OOS 4 has not yet been officially released and no kernel source has been released.
christmas is here since andi is our santa.
welcome to the 3T world.
loyalists like me have been waiting for you perhaps since the device was launched.
glad OnePlus and XDA did such an awesome thing to distribute devices to devs.
been following your work for a while now.
your kernel turned my OpO into a beast.
just flashed onto my 3T.
will report issues as and when(and if) I can find them.
cheers
Glad to see you here Andy!
finally you will develope on 3T:good:
Glad to see you here Andi:victory:
I use your kernel since Galaxy S3, also flashed it on my opo and my wife's opt.
:good: Now the kernel it's running very well on my new op3t.
Modesty - a modest custom kernel for the Samsung Tab S4
Modesty aims to provide a mildly appealing and reasonable alternative to the stock 4.4.78 kernel that comes with The Tab S4. In its pursuit of being both mildly appealing and reasonable, it will eschew features that could compromise device stability, whilst gleefully embracing low-risk, self-contained enhancements. In other words, your lowest expectation should be that this kernel will be at least as stable as the stock kernel.
Since there are currently no other custom kernel projects supporting the Tab S4, there isn't really any previous device-specific work to build on. Development of this kernel is therefore likely to be slow and steady.
"Why is this kernel called Modesty? That's crap! Why not Wolverine, Intrepid or Jupiter?"
Because it's just a operating-system kernel, not a turbo-charged supercar or a mission into outer space. Even as operating-system kernels go, this one is pretty dull. Besides, I'm a weary curmudgeon in his fifties, not a teenager.
This project has the modest aim of modestly enhancing the pleasure you derive from your Tab S4 and is therefore modestly named Modesty.
Key characteristics
Supports both the wi-fi only (T830) and wi-fi/LTE (T835) models.
Forked from Samsung's pristine kernel source code (Linux 4.4.78 for ARGH firmware at time of launch).
Regular merging of the upstream Linux kernel's linux-4.4.y branch (4.4.161 at time of public launch).
Regular merging of Samsung's updates to its modified kernel source as they are made available.
Includes @savoca's KCAL advanced colour/gamma control driver.
Includes @flar2's sound control driver to manage headphone and microphone gain.
Disables a huge amount of tracing and logging features inexplicably left enabled by Samsung in the stock release kernel. These debugging features have no place outside engineering builds.
Packed into a boot.img (boot image) taken directly from Samsung's latest stock firmware and kept as close to the original as possible. No obscure boot-time kernel configuration is stashed away here, and no changes are made to any other part of the file system at either install time or run time.
Provides a fully automated installer, with the option of interactive installation to allow manual selection of features and the ability to automatically root the device with Magisk in the post-installation phase.
Includes WireGuard VPN support (version 0.0.20180818 at the time of public launch), which will be updated as available.
Includes @Lord Boeffla's generic kernel wakelock blocker. The conservative default block-list is: qcom_rx_wakelock and NETLINK.
Utilises Westwood+ TCP congestion algorithm by default.
Includes Veno TCP congestion algorithm.
SELinux operates in enforcing mode and cannot be dynamically switched to permissive mode.
FAQ
Q. Is this kernel still actively developed?
A. No. The final ianmacd release was v1.0.0 on 21st November 2019 and no-one else has picked up maintenance of the project.
Q. Will this kernel also run on Android 9.0 (Pie) devices?
A. No. Modesty targets Android 8.1 (Oreo) and there was never an intention to update it for 9.0 (Pie).
Q. Can I overclock or underclock the CPU using this kernel?
A. No.
Q. How does interactive installation mode work?
A. If the ZIP file name contains the string _interactive or a dot-file called .modesty_interactive is present in the root of the external SD card, interactive installation mode is triggered. Please note that this mode overrides any selections implied by the archive name or the presence of dot-files on the file-system.
In interactive mode, you will be asked whether to root the device afterwards with Magisk. Selections are made using the Volume buttons. Just follow the on-screen prompts.
Q. Can I safely block wakelock X?
A. Perhaps. However, unless you know what a particular wakelock does and are certain that it is causing an actual problem on your device, I suggest you leave it alone.
Q. Why is this kernel labelled beta? Is it safe to use? And who are you, anyway? Can you be trusted?
A. My T830 has been running this kernel every day since I first rooted it, and I can therefore personally vouch for its stability on this model.
A couple of users have reported Modesty running well on the T835. Initially, it was reported that the kernel did not boot on this model, but after trying several test kernels, the user in question discovered that his machine had a non-standard firmware installation. Once this situation was remedied, Modesty booted and worked as designed.
As the person who built the kernel, I know exactly what's in it, and therefore the only risk I'm exposing myself to when I run it is that of my own incompetence. That's not true for you, however, and you should exercise due caution and at least pause for a moment to consider what you are installing, and the far-reaching powers you are about to grant this unaudited code over your device. Although I link to the source code below, you have only my word for it that this bears any resemblance to the kernel actually provided in the installer.
There are likely to be many iterations of this kernel before it sees a 1.0 release. Features may be added or removed along the way, although there is no clear roadmap at this point in time. Development will go where the needs of the users take it.
Please see the Installation section below for an important note regarding the use of this kernel in combination with stock (i.e. unmodified) Samsung firmware.
Q. Can I safely root this kernel?
A. Of course. What use would it be if you couldn't? I recommend Magisk for the task. It has a few minor issues, but as a project is very much alive, something that cannot be said about its peers. Magisk has arguably now established itself as the de facto root solution for Android devices.
It just so happens that I also produce my own builds of Magisk, which you are welcome to use. These are release builds (as opposed to debugging builds), produced from my own fork of @topjohnwu's original source, often augmented with patches. You can use anyone's builds, though.
Again, these builds work for me on various Samsung devices, but they are unofficial and you should approach them with fitting caution.
Q. Can I install Magisk at the same time as Modesty?
A. Yes. The Modesty installer allows you to automatically root your device with Magisk following installation of Modesty..
To make use of this facility, either rename the Modesty zip file to contain the string _magisk or create a file called .modesty_magisk in either the root of your external SD card or in the standard Download directory of the internal SD card. Alternatively, you can utilise interactive installation mode. See above for details.
If any of these trigger conditions is met, the installer will look in the standard internal Download directory as well as in ./Magisk (if present) on the external SD card (if present) for a suitable Magisk zip file to install. Preference is given to versioned files matching the glob Magisk-v*, in which case the latest according to lexical sort order will be used. If none is found, the installer then looks for unversioned release builds (e.g. official Canary channel release builds) called magisk-release.zip in the same locations, selecting the one with the most recent timestamp. If none is found, the installer will then try to find unversioned debug builds (e.g. official Canary channel debug builds) called magisk-debug.zip, again picking the one with the most recent timestamp. Finally, the installer falls back to looking for the most recent file called Magisk.zip or magisk.zip. If still no files have been found by this stage, chaining of Magisk is abandoned.
For example:
Code:
star2lte:/ $ ls -l /storage/0000-0000/.modesty_magisk
-rwxrwx--x 1 root sdcard_rw 0 2018-09-15 14:31 /storage/0000-0000/.modesty_magisk
star2lte:/ $ ls /storage/0000-0000/Magisk/Magisk-* | tail -n 3
/storage/0000-0000/Magisk/Magisk-v17.2-2018091001-ianmacd.zip
/storage/0000-0000/Magisk/Magisk-v17.2-2018091201-ianmacd.zip
/storage/0000-0000/Magisk/Magisk-v17.2-2018091501-ianmacd.zip
When you flash the Modesty archive in TWRP, the most recent version of Magisk that could be found will now be used to automatically root your kernel, i.e. Magisk-v17.2-2018091501-ianmacd.zip in this example.
Q. Why doesn't Modesty have its own Telegram group?
A. Because my experience of Android-themed Telegram groups is that they invariably degenerate into seething cesspits of rudeness, ignorance, superstition and — on a good day — pseudo-science. I don't wish to police such a den of iniquity. Of course, it's a free world (or so I still like to kid myself), so you are at liberty to create your own Telegram group for Modesty if you wish. Just please don't invite me to it.
Building
Building the kernel from source is beyond the scope of this document. If you want to build this kernel from scratch, for example to change its configuration, start with this handy reference tailored to building kernels for Android.
Download
See posting #2 in this thread for links to the latest and all previous versions.
Known Issues
Bluetooth HID (input) devices do not work.
Versions 0.99.11 to 0.99.22 contained a bug that caused Bluetooth HID (input) devices, such as mice, keyboards and gamepads, not to function. They could be paired with the tablet, but their input was not recognised. This bug was finally traced and fixed in 0.99.23.
Installation
Make a back-up of your existing boot partition using the custom recovery environment provided by TWRP. If your device doesn't yet have TWRP, you will need to install it first. Then, use it to flash the Modesty ZIP file. The boot image will automatically be installed in the boot partition of your device.
If your device has unmodified Samsung firmware, you will encounter problems with Bluetooth (namely delayed initialisation and forgotten pairings) after installing this or any other custom kernel. To remedy this, you will need to patch your system with modified libsecure_storage.so libraries. Some custom kernel installers actually install these without telling you, overwriting your system libraries and transparently circumventing the problem before you can run into it. This approach necessarily modifies your device's file-system, however, and that may not be what you want. At the very least, the user should be made aware what is happening to his device.
For this reason, I have instead prepared a companion Magisk module that achieves the same goal without modifying the file-system. This will allow you to run a custom kernel (not just this one, but any custom kernel) on pristine stock firmware without any Bluetooth issues. The module can be found in the official Magisk module repository, accessible from Magisk Manager on your tablet. If you install this Magisk module, you may wish to also disable the secure_storage_daemon by editing /system/etc/init/secure_storage_daemon.rc (change start to stop), as it no longer serves a purpose.
In a similar vein, you may encounter authentication errors when connecting to wireless networks after installing this or any other custom kernel. This problem is not serious and easily remedied by re-entering your passphrase for the networks you use.
Finally, if SecurityLogAgent notifies you that unauthorised actions have been detected, do not be alarmed. This is a normal consequence of having installed a custom kernel. You may wish to disable SecurityLogAgent to avoid being repeatedly notified..
Whilst the above issues are the only ones you can expect to encounter when running this kernel vs. the stock Samsung kernel, they may sound like more trouble than they're worth. In that case, you might be happier just sticking to Samsung's stock kernel. The company supplies a perfectly good kernel straight from the factory.
Configuration
You are encouraged to use either @morogoku's excellent MTweaks (a modified version of Kernel Aduitor) or @flar2's EX Kernel Manager to manage the features provided by this kernel.
Source code
Modesty's GitHub repository.
References
A useful guide to CPU governors, I/O schedulers (and more).
For more information on the some of the individual schedulers included in this kernel, you can also look under Documentation/block in the kernel source.
The WireGuard user guide, control app, home page and source code.
Credits
Thank you to everyone in the Linux kernel universe for getting us this far. Within the Android development community, I am grateful to the following people for their time-saving contributions:
@osm0sis for Android Image Kitchen, which has saved me a huge amount of work in packing and unpacking boot images.
An honorary mention must go to @Chainfire, the extent of whose benefaction to the Android community is still not fully understood or appreciated in some quarters.
Change log
v1.0.0 (final ianmacd release) (2019-11-21)
Kernel proclaimed stable. Version number incremented. No code changes since v0.99.49.
v0.99.49 (2019-11-16)
Updated to Linux 4.4.202.
v0.99.48 (2019-11-13)
Updated to Linux 4.4.201.
v0.99.47 (2019-11-11)
Updated to Linux 4.4.200.
v0.99.46 (2019-11-06)
Updated to Linux 4.4.199.
v0.99.45 (2019-10-31)
Updated to Linux 4.4.198.
v0.99.44 (2019-10-19)
Updated to Linux 4.4.197.
v0.99.43 (2019-10-08)
Updated to Linux 4.4.196.
v0.99.42 (2019-10-07)
Updated to Linux 4.4.195.
v0.99.41 (2019-09-22)
Updated to Linux 4.4.194.
v0.99.40 (2019-09-16)
Updated to Linux 4.4.193.
v0.99.39 (2019-09-11)
Updated to Linux 4.4.192.
Fixes unavailability of external SD card in Modesty 0.99.38.
v0.99.38 (2019-09-08) Release withdrawn (External SD card unavailable)
Updated to Linux 4.4.191.
v0.99.37 (2019-08-26)
Updated to Linux 4.4.190.
v0.99.36 (2019-08-12)
Updated to Linux 4.4.189.
v0.99.35 (2019-08-07)
Updated to Linux 4.4.188.
v0.99.34 (2019-08-05)
Updated to Linux 4.4.187.
v0.99.33 (2019-07-23)
Updated to Linux 4.4.186.
v0.99.32 (2019-07-12)
Updated to Linux 4.4.185.
v0.99.31 (2019-06-28)
Updated to Linux 4.4.184.
v0.99.30 (2019-06-22)
Updated to Linux 4.4.183.
v0.99.29 (2019-06-18)
Updated to Linux 4.4.182.
v0.99.28 (2019-06-12)
Updated to Linux 4.4.181.
v0.99.27 (2019-05-17)
Updated to Linux 4.4.180.
v0.99.26 (2019-04-28)
Updated to Linux 4.4.179.
v0.99.25 (2019-04-07)
Updated to Linux 4.4.178.
v0.99.24 (2019-03-26)
Updated to Linux 4.4.177.
Build only the latest revision of the DTB.
v0.99.23 (2019-03-02)
Fixed bug, introduced in v0.99.11, that caused input from Bluetooth HID devices, such as keyboards, mice and gamepads to be ignored.
v0.99.22 (2019-02-23)
Updated to Linux 4.4.176.
v0.99.21 (2019-02-20)
Updated to Linux 4.4.175.
v0.99.20 (2019-02-11)
Updated to Linux 4.4.174.
v0.99.19 (2019-02-08)
Updated to Linux 4.4.173.
v0.99.18 (2019-01-26)
Updated to Linux 4.4.172.
v0.99.17 (2019-01-17)
Updated to Linux 4.4.171.
v0.99.16 (2019-01-13)
Updated to Linux 4.4.170.
v0.99.15 (2018-12-30)
Rebased on ARK4 kernel source code and boot images.
v0.99.14 (2018-12-23)
Updated to Linux 4.4.169.
Merged four more UPSTREAM commits from android-4.4 kernel branch.
v0.99.13 (2018-12-13)
Updated to Linux 4.4.167.
Merged selected BACKPORT and UPSTREAM commits from android-4.4 kernel branch.
v0.99.12 (2018-12-05)
Updated to Linux 4.4.166.
Realtek USB Ethernet driver upgraded from v2.08.0 to v2.10.00.
v0.99.11 (2018-11-29)
Updated to Linux 4.4.165.
KCAL advanced colour/gamma control driver optimisation.
Added @flar2's sound control driver for controlling headphone and microphone gain. (Configure with MTweaks or EX Kernel Manager).
v0.99.10 (2018-11-21)
Updated to Linux 4.4.164.
Added KCAL advanced colour/gamma control driver. (Configure with MTweaks or EX Kernel Manager).
Lots of tracing and debug logging disabled, further reducing kernel size.
CONFIG_DISPLAY_USE_INFO
CONFIG_SEC_DISPLAYPORT_LOGGER
CONFIG_FB_MSM_MDSS_XLOG_DEBUG
CONFIG_SEC_FILE_LEAK_DEBUG
CONFIG_SEC_DEBUG_USER
CONFIG_SEC_DEBUG_SUMMARY
CONFIG_SCSI_UFSHCD_CMD_LOGGING
CONFIG_MSM_SMEM_LOGGING
CONFIG_PROFILING
CONFIG_DEBUG_INFO
CONFIG_SCHED_DEBUG
CONFIG_SEC_PM_DEBUG
CONFIG_CORESIGHT
Built as monolithic kernel (i.e. without CONFIG_MODULES).
Built as relocatable code (CONFIG_RELOCATABLE_KERNEL).
Assembler symbols stripped (CONFIG_STRIP_ASM_SYMS set).
Embedded kernel config (reported via /proc/config.gz) now falsely reports stock settings to allow disabling of superfluous kernel features that otherwise cause grave Android System warning on boot.
v0.99.9 (2018-11-13)
Rebased on ARJ3 kernel source code and boot images.
v0.99.8 (2018-11-10)
Updated to Linux 4.4.163.
More than 100 fixes applied from upstream AOSP android-4.4 and android 4.4-o branches.
Lots of tracing and debug logging disabled:
CONFIG_IPC_LOGGING (debug logging for IPC drivers)
CONFIG_QCOM_RTB (register tracing)
CONFIG_TRACER_PKT (for tracing IPC protocols)
CONFIG_FTRACE (kernel tracing infrastructure)
CONFIG_CPU_FREQ_SWITCH_PROFILER (CPU frequency switch profiler)
CONFIG_TRACING_EVENTS_GPIO (traces GPIO subsystem)
Fixes to allow kernel to build when above logging and tracing options are disabled.
v0.99.7 (2018-10-30)
Rebased on ARH5 kernel source code.
Reworked the v4l2 fix that restores liboemcrypto-dependent apps to working state.
v0.99.6 (2018-10-28)
v4l2 fixes to restore liboemcrypto-dependent apps to working state.
v0.99.5 (2018-10-21)
Updated to Linux 4.4.162.
v0.99.4 (2018-10-19)
Initial public release, based on Linux 4.4.161.
v0.99.3
Internal build, based on Linux 4.4.160.
v0.99.2
Internal build, based on Linux 4.4.159.
v0.99.1
Initial internal build, based on Linux 4.4.78.
It begins! Awesome to finally see a custom kernel for the Tab S4.
I want to test for you once I can get root back
ianmacd said:
Change log
v0.99.4 (2018-10-19)
Initial public release, based on Linux 4.4.161. Caution: This kernel remains completely untested on the T835.
v0.99.3
Internal build, based on Linux 4.4.160.
v0.99.2
Internal build, based on Linux 4.4.159.
v0.99.1
Initial internal build, based on Linux 4.4.78.
Click to expand...
Click to collapse
Flashed on T835 device doesnt even get past the Boot (custom device) screen is there a way to get logs without using a computer?
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Flashed on T835 device doesnt even get past the Boot (custom device) screen is there a way to get logs without using a computer?
Click to expand...
Click to collapse
I'll look into it this evening. I'm just about to get off a plane.
Were there any errors when installing? Was your device properly detected as a T835?
Sent from my SM-G965F using XDA Labs
ianmacd said:
I'll look into it this evening. I'm just about to get off a plane.
Were there any errors when installing? Was your device properly detected as a T835?
Click to expand...
Click to collapse
Installing just fine, correctly detected as well.
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Installing just fine, correctly detected as well.
Click to expand...
Click to collapse
I've gone through the ramdisk of the T835's boot image with a fine-tooth comb and can find nothing untoward. I also verified that I properly removed the dm-verity flag from the T835's device tree.
There are actually very few source code differences between the T830 and T835. Both can be built from a single tree. The only differences lie in the kernel config file and the device tree, but I am building with the default T835 configuration, and with the proper device tree for that device.
Let's try at least ruling out my installer code. Please image-flash this new boot image[/i] to your device and tell me if it boot-loops. If it does, my installer isn't the problem, because it's only used for a ZIP flash. I've already checked the installer code and can't see any bugs, so I don't think the issue lies there.
Can you also please tell me which version of the firmware your device is running? Possibly there's an issue there, too. Samsung has so far released the source to the ARGH kernel only. This seems to work fine on my ARH5 firmware, but it's uncertain whether it would still work on something based on ARI*, and I've seen that a couple of countries do now have ARI firmware available. Mind you, even if it wasn't compatible, it should still get as far as booting.
Anyway, please test that boot image and let me know your firmware version.
While I soldier on with the issues afflicting the T835 build, can anyone else verify the T830 build as working for them?
Don't be shy; I'm running it on my own device, so I'm certain that build boots.
ianmacd said:
While I soldier on with the issues afflicting the T835 build, can anyone else verify the T830 build as working for them?
Don't be shy; I'm running it on my own device, so I'm certain that build boots.
Click to expand...
Click to collapse
Sorry for the noob question if i flash this kernal on my SM-T835 will i lose DEX ? Sorry i'm not quite understanding what KERNEL does ? Thanks in advance!
N1NJATH3ORY said:
Sorry for the noob question if i flash this kernal on my SM-T835 will i lose DEX ? Sorry i'm not quite understanding what KERNEL does?
Click to expand...
Click to collapse
When the kernel is working as intended, you won't lose DeX, but it currently isn't even booting on the T835.
Only those who are able to assist in debugging the current boot failure should install the T835 build at this time.
The T830 build, on the other hand, is rock solid for me, and I encourage anyone who is capable of recovering from an unexpected bootloop to try it out.
Version 0.99.5 released.
This release updates the kernel to the latest upstream Linux.
T830 owners, install at will. T835 owners, beware: The previous release has been reported unbootable on this model, and this release is likely to be similarly afflicted. Investigations are ongoing. Until this issue is resolved, the whole project has been downgraded to alpha status.
Change log
Updated to Linux 4.4.162. Caution: This release is likely to cause a bootloop on the T835.
ianmacd said:
I've gone through the ramdisk of the T835's boot image with a fine-tooth comb and can find nothing untoward. I also verified that I properly removed the dm-verity flag from the T835's device tree.
There are actually very few source code differences between the T830 and T835. Both can be built from a single tree. The only differences lie in the kernel config file and the device tree, but I am building with the default T835 configuration, and with the proper device tree for that device.
Let's try at least ruling out my installer code. Please image-flash this new boot image[/i] to your device and tell me if it boot-loops. If it does, my installer isn't the problem, because it's only used for a ZIP flash. I've already checked the installer code and can't see any bugs, so I don't think the issue lies there.
Can you also please tell me which version of the firmware your device is running? Possibly there's an issue there, too. Samsung has so far released the source to the ARGH kernel only. This seems to work fine on my ARH5 firmware, but it's uncertain whether it would still work on something based on ARI*, and I've seen that a couple of countries do now have ARI firmware available. Mind you, even if it wasn't compatible, it should still get as far as booting.
Anyway, please test that boot image and let me know your firmware version.
Click to expand...
Click to collapse
Firmware Version ist arh5 and after flashing your img the device still constantly reboots on the start screen and doesnt even get to the boot Screen
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Firmware Version ist arh5 and after flashing your img the device still constantly reboots on the start screen and doesnt even get to the boot Screen
Click to expand...
Click to collapse
Thanks. That absolves the installer of any wrongdoing, at least.
Something is fundamentally wrong with the kernel for the T835.
The boot image is taken from stock firmware, and modified just enough to allow a custom kernel to boot. I very much doubt the problem lies there. A virtually identical image works for the T830.
The kernel config used is the one supplied by Samsung. The only modifications made to it are the same ones I made to the T830's.
I think my next step will be to produce a kernel built without downstreaming the 4.4.y Linux branch, so back to 4.4.78. If that works, it will indicate that an error affecting only the T835 was introduced during all of my merging of the upstream kernel.
I'll post again when I've built the kernel, which won't be for a few hours, as I'm on holiday at the moment.
Sent from my SM-G965F using XDA Labs
ianmacd said:
I think my next step will be to produce a kernel built without downstreaming the 4.4.y Linux branch, so back to 4.4.78. If that works, it will indicate that an error affecting only the T835 was introduced during all of my merging of the upstream kernel.
Click to expand...
Click to collapse
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
ianmacd said:
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
Click to expand...
Click to collapse
Thanks, flashing now will report back in a few minutes
Sent from my Samsung SM-G950F using XDA Labs
---------- Post added at 05:44 PM ---------- Previous post was at 05:17 PM ----------
ianmacd said:
OK, @dr460nf1r3, please try this new T835 build.
This is rewound to 4.4.78, with just a few extra cherry-picked commits to enable it to build cleanly and boot without triggering dm-verity.
In other words, this kernel should be 99% identical to the one that shipped with the machine. This assumes that the source as supplied by Samsung was actually used to build the stock kernel.. They have been known to publish sources that don't match what's on the machine.
Click to expand...
Click to collapse
Did not work still the same issue.. flashed via twrp to boot partition. Noob question, the boot backup i got is 64mb while your kernel hardly has 25.. whats going on here?
Sent from my Samsung SM-G950F using XDA Labs
dr460nf1r3 said:
Did not work still the same issue.. flashed via twrp to boot partition.
Click to expand...
Click to collapse
Well, that's disappointing. I was hoping that it was my screw-up, rather than Samsung's, but at this point almost everything I've done has been backed out and it still won't boot.
Noob question, the boot backup i got is 64mb while your kernel hardly has 25.. whats going on here?
Click to expand...
Click to collapse
Good question.
Your back-up is of the entire partition, including the area with no data on it, so you're getting a file the same size as the partition itself. My boot image contains just the data segment, so it's smaller.
If you pull the stock boot image from the AP file of Samsung's firmware, you'll see that it's a very similar size to mine (slightly smaller, actually):
Code:
$ unzip -p T835XXU1ARH5_T835OXM1ARH5_PHN.zip AP_T835XXU1ARH5_CL14008523_QB19263559_REV00_user_low_ship_MULTI_CERT_meta.tar.md5| tar xf - -O boot.img.\*lz4 | lz4 -dc > boot.img
$ ls -l boot.img
-rw-rw-r--. 1 ianmacd ianmacd 23593232 Oct 21 22:01 boot.img
$ file boot.img
boot.img: Android bootimg, kernel (0x8000), ramdisk (0x2000000), page size: 4096, cmdline (console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_le)
So, what now?
I'll see which other minor changes I can back out, in an effort to arrive at a kernel built from source that is as close to stock as possible. If you're wondering Why doesn't he just build from pristine sources?, the answer is: Because Samsung's source code won't even build out of the box. Many of the kernel header files are simply not in the expected locations. Alas, this is a fairly common problem with Samsung's kernel source code releases.
I suspect the solution to this problem may actually lie in changes that have yet to be made, rather than changes made that need to be reverted. In other words, the T835 may require some kernel modifications or configuration that the T830 doesn't. Theoretically, a kernel compiled from Samsung's pristine sources should just work, but that's starting to look unlikely now.
I'm hoping that I can enable/disable a few further options in the kernel config, rebuild and produce a kernel that works for you. If, however, the problem is that the source itself is faulty, we may have to wait for a future release by Samsung to give us something that compiles into a working kernel.
But I don't intend to throw in the towel on the T835 just yet. There are still a few more things we can try.
ianmacd said:
Well, that's disappointing. I was hoping that it was my screw-up, rather than Samsung's, but at this point almost everything I've done has been backed out and it still won't boot.
Good question.
Your back-up is of the entire partition, including the area with no data on it, so you're getting a file the same size as the partition itself. My boot image contains just the data segment, so it's smaller.
If you pull the stock boot image from the AP file of Samsung's firmware, you'll see that it's a very similar size to mine (slightly smaller, actually):
So, what now?
I'll see which other minor changes I can back out, in an effort to arrive at a kernel built from source that is as close to stock as possible. If you're wondering Why doesn't he just build from pristine sources?, the answer is: Because Samsung's source code won't even build out of the box. Many of the kernel header files are simply not in the expected locations. Alas, this is a fairly common problem with Samsung's kernel source code releases.
I suspect the solution to this problem may actually lie in changes that have yet to be made, rather than changes made that need to be reverted. In other words, the T835 may require some kernel modifications or configuration that the T830 doesn't. Theoretically, a kernel compiled from Samsung's pristine sources should just work, but that's starting to look unlikely now.
I'm hoping that I can enable/disable a few further options in the kernel config, rebuild and produce a kernel that works for you. If, however, the problem is that the source itself is faulty, we may have to wait for a future release by Samsung to give us something that compiles into a working kernel.
But I don't intend to throw in the towel on the T835 just yet. There are still a few more things we can try.
Click to expand...
Click to collapse
Thanks for explaining everything for me. Id like to help you were i can but i dont have a computer by my hands right now for the next time
Sent from my gts4llte using XDA Labs
dr460nf1r3 said:
Thanks for explaining everything for me. Id like to help you were i can but i dont have a computer by my hands right now for the next time
Click to expand...
Click to collapse
Here's a new build to try. This one reverts the last few changes I originally made to the T835's kernel configuration before building. This is as close to stock as possible, whilst still being able to build.
If this doesn't boot, it pretty much means that Samsung has supplied code for the T835 that simply will not compile into a working kernel. At that point, we'll probably have to wait for updated sources. I already have a request pending with Samsung for the release of the BRI sources.
Just to be clear, the current status quo as I understand it is that the Samsung logo never starts to be written from left to right. You never get past the static screen with the device name and the word Custom. Is that correct?
ianmacd said:
Here's a new build to try. This one reverts the last few changes I originally made to the T835's kernel configuration before building. This is as close to stock as possible, whilst still being able to build.
If this doesn't boot, it pretty much means that Samsung has supplied code for the T835 that simply will not compile into a working kernel. At that point, we'll probably have to wait for updated sources. I already have a request pending with Samsung for the release of the BRI sources.
Just to be clear, the current status quo as I understand it is that the Samsung logo never starts to be written from left to right. You never get past the static screen with the device name and the word Custom. Is that correct?
Click to expand...
Click to collapse
Im sorry to tell you but this doesnt boot either in fact it doesnt even reboot the static screen. Your right about the current status quo sadly.
Sent from my Samsung SM-G950F using XDA Labs
Hi everyone,
I use a Wireguard always-on VPN on my OnePlus 7T.
I'm rooted with magisk.
I would like to get better performance and less battery drain with my VPN, so I heard it could run using a kernel module, instead of a user-land code.
When I go in Wireguard app, I get the error "No modules are available for your device".
I would like to know what is necessary to get such module ? Who is in charge of making it ? (Wireguard developers ? OnePlus developers ? Magisk developers ?) And how can we help to get this module done ?
Thank you.
Florent
Yeah you'd need to bake it into the kernel. Find a kernel for a snapdragon 855 device that has wireguard support and ask them. I'm sure someone has made a guide.
Why do we need a *new* kernel ? We can't build kernel modules on Android ?
OnePlus has published 7T kernel sources : https://github.com/OnePlusOSS/android_kernel_oneplus_sm8150/tree/oneplus/SM8150_Q_10.0
Use Blu spark kernel it says wireguard support