• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[KERNEL] Jesse's Kernel for Galaxy S8 and S8+ (Exynos)

Search This thread

happytomato

Senior Member
Apr 27, 2006
71
29
Stockholm
www.spolglan.se
Hi, I finally got it working by using a more advanced toolchain.
The 4.9 toolchain linker did not recognize the "Bsymbolic" directive, and just removing it caused the problem.
Onced switched to the 6.2.1 toolchain, it got compiled and linked correctly without any modifications to not the config, nor any of the Makefiles.

Cheers,
Avri

Sent from my LG-H850 using Tapatalk

How did you get the seandroid part fixed? The only thing I modified was to get the build_kernel.sh to point to my toolchain. What else is required?
 

ubelai

Senior Member
Dec 3, 2012
273
53
Hey @jesec,

Curious to know if you would ever include maple or zen i/o schedulers, and if not, why?

And also, if Read-ahead values are worth cranking up to 2048kb considering the S8 is a 64gb device by default?
Cheers!
 

tin2404

Senior Member
I am wonder and ask developer is it possible to make stock kernel without any changes for s8+ but only flagged as permessive ?
 

Attachments

  • Screenshot_20170627-002706.png
    Screenshot_20170627-002706.png
    99 KB · Views: 1,100

kbarni

Senior Member
Nov 16, 2010
213
135
Hi,
I also need some instructions for building boot.img from the compiled Image or Image.gz files.
First, I don't know where to get the dtbhtoolExynos utility.
I could download the mkdtbhbootimg utility and tried to repackage the boot.img from the Jesec kernel zip, but I couldn't make it boot.
Please add some information on this subject, I can't figure it out by myself!

P.S. I used Arter97's linaro-64 (6.2.1) toolchain from here to build the kernel. It created the Image, Image.gz, two cmd files and the dts directory. I don't have the dt.img file.
 
Last edited:

maverickzz

Member
Mar 21, 2006
30
1
Update:
So I searched around & finally got the courage to try again...
Here's what I found

First, answer to the question: Kernel is part of AP image, not BL.
Here's what I finally did (and it worked)
1. Update Jesse's Kernel to R5 semi-stock via TWRP
2. Reflash 'disable encryption + dm-verity' patch again
3. Reflash Magisk
4. Reboot.. Success

Backup everything (Titanium, Pictures, etc) and move off the phone on a micro-SD
Reboot into TWRP, full TWRP backup again off the phone on a micro-SD
(Thankfully I didn't need either this time)

Now go to Odin, add the AP, CP & HOME_CSC (I lost my CSC after I did this one, so maybe skip it) and UNTICK AUTO REBOOT, VERY IMPORTANT
Reboot into Download Mode (Vol Down, Bixby, Power then Vol Up)
Flash, once done, don't reboot, instead Reboot Download Mode again... HOW?
Press Power + VOL DOWN, once the phone vibrates, Press Bixby as well and keep holding all three
The phone will go again to Download mode, now Press VOL UP
Then go to Odin, add TWRP into AP & Flash while Holding VOL UP, Bixby + Power
Keep holding until the phone boots into TWRP

Now flash the 'no-encryption + dm-verity patch' again from Internal Storage (it's not encrypted & TWRP can read it)
Reboot Recovery
Then flash Jesse's Kernel again (just in case)
Then Magisk again

Now clear Dalvik + Cache & Reboot System, wait a few minutes (the boot will take ~5 mins)
Voila.. into System, upgraded & no data loss..

The only thing I lost is my CSC, which is not a big deal but I'll try to find how to get it back without wipe.

____________________________________
Sorry if I'm gonna ask a stupid question...

So far I have been running stock rom with TWRP, this Kernel Semi-stock Rel4) & Magisk 12.0, with a only a minor problem that makes me have to reboot every day..
I wanted to update to Semi stock R5 hoping this will fix the minor problem, but I also want to update the System image to corresponding AQF7..
I don't really want to try a custom rom, I'm happy with stock..

I did the stupid mistake of flashing everything through Odin from a custom ROM, long story short, I was lucky enough to have a TWRP backup and now I'm back where I started..

My questions are, if I update the Kernel to R5 (AQE7), then flash only AP, CP & HOME_CSC from Samsung Stock Firmware
1. Is force encryption part of the BL (Kernel) or AP (System)?
2. If it's part of BL, and I don't flash it and use Jesse's R5 instead, will the phone try to encrypt again at reboot (this is what f*&d me up last time)
3. If it's part of BL, do I have to re-apply the patch after flashing AP, CP & HOME_CSC
4. I understand I must re-flash Magisk and any of its modules again..

Last question, if it's part of AP, can I untick Reboot in Odin, then manually boot into recovery, flash the decrypt + dm-verity patch then boot?
Alternatively, if all I'm suggesting above is crap...

Is there a way to update to Samsung Stock (like the good old days of Note 5) without having to factory reset every time?
I'm thinking
1. Flash updated Custom Kernel via TWRP
2. Flash AP, CP & HOME_CSC (no reboot)
3. Flash Decryption + dm-verity patch
4. Flash Magisk

Maybe some reboots needed in the middle...

Appreciate your help & sorry for the stupid question again..
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 99
    Jesse's Kernel (I am not good at naming sth.) ;)
    for Galaxy S8 and S8+ (Exynos)
    (G950F/FD/X/N) and (G955F/FD/X/N)


    This kernel is designed to be SIMPLE and STABLE with improved performance and battery life.
    Just flash and enjoy your phone. No additional setting required.

    This kernel has 3 series,
    • Early-Testing: Contains latest changes, experimental features. This build will be released to testers only.
    • Stable: Changes, features in early-testing build will be picked into stable once they are confirmed to be stable.
    • Semi-Stock: For those who want maximum stability or ROM developers who want to integrate with their ROMs. This build is very similar to stock but it will have some useful changes like SELinux permissive, disabled security features, etc. This build will be released to public in low update frequency(usuallly based on stock kernel changes).

    LICENSE:
    Kernel sources:
    GPL 2.0: https://www.gnu.org/licenses/gpl-2.0.html


    Kernel binaries, patches to system, ramdisk modifications, etc.:
    Code:
    You can use, mirror, modify and/or integrate it/them with your own works, WITHOUT inform me, subject to the following conditions:
    1. Credit MUST be given. (a possible form: thanks *** for ***)
    2. Warranty is NOT provided. I am not responsible for any possible losses. 
    3. Authorization may be TERMINATED for selected person without prior notice under certain conditions (subject to my sole discretion). 
    4. Above conditions must be preserved. (You have the responsibilities to inform your users about these conditions. A possible way is to add "LICENSE: (link to this post)" to "thanks *** for ***")

    Features:
    STABLE: (Mainline)
    • Toolchain: Linaro GCC 7
    • Linux 4.4.79 (updated from 4.4.13)
    • Always SELinux Permissive (with fake SELinux Enforcing status.)
    • Kernel Security Features, Root Restrictions are DISABLED
    • Linux mainline random generator driver backported
    • Max frequency of big cores set to 2.5GHz
    • Other optimizations, backports for best performance and power efficiency
    • BFQ I/O scheduler
    • Versioning: VERSION x.x
    • Release Frequency: Regularly

    SEMI-STOCK:
    • Toolchain: Linaro GCC 7
    • Linux 4.4.79 (updated from 4.4.13)
    • Always SELinux Permissive (with fake SELinux Enforcing status.)
    • Kernel Security Features, Root Restrictions are DISABLED
    • Versioning: RELEASE x
    • Release Frequency: Rare (only stock kernel updates and bug fixes)

    NOTE: As of VERSION 0.3 and SEMI-STOCK RELEASE 6, AQG5 or newer bootloader is required.
    Download:
    STABLE:
    VERSION 0.3: (Source Tag)
    https://www.androidfilehost.com/?fid=673368273298975229

    SEMI-STOCK:
    RELEASE 6: (Source Tag)
    https://www.androidfilehost.com/?fid=889764386195919462

    NOTE:
    1. Existing Bluetooth Pairs, Wi-Fi Passwords will be forgot when you flash this kernel for the first time.
    2. You need to flash root package (Magisk or SuperSU) AFTER flash kernel if you want root access.

    Show your appreciation:
    Click Thanks!, Rate 5-star or/and Donate to me. ;)

    Get informed about news and updates:
    Join Official Telegram Channel
    AND/OR
    Follow this project on XDA

    XDA:DevDB Information
    Jesse's Kernel for Galaxy S8 and S8+, Kernel for the Samsung Galaxy S8+

    Contributors
    jesec
    Source Code: https://github.com/jesec/android_kernel_samsung_universal8895

    Kernel Special Features:

    Version Information
    Status: Stable

    Created 2017-05-08
    Last Updated 2017-07-30
    27
    Changelog:

    STABLE:

    VERSION 0.3, July 29th:
    Merge AQG5 kernel updates from Samsung
    Merge Linux 4.4.79
    Merge BFQ-v8r12
    Backport latest F2FS
    Switch to latest Linaro GCC 7 toolchain with processor specific tunes.
    Use -Ofast optimization.


    VERSION 0.2.2, June 26th:
    Merge AQF7 kernel updates from Samsung
    Merge Linux 4.4.74

    VERSION 0.2.1, May 27th:
    Merge AQE5 kernel updates from Samsung
    Merge Linux 4.4.69
    Update system patches

    VERSION 0.2, May 19th:
    Updated to Linux 4.4.68
    Full F2FS file system support (with latest driver backported from Linux 4.12) is added.
    Possible kernel panic (random reboots) addressed.
    Possible battery life improvements for CPU frequency boosts.
    BFQ is added and set as the default I/O scheduler.
    VoLTE & VoWiFi problem fixed. (verified by testers)
    NOTE: VoLTE logo may not be an accurate indicator of VoLTE support.

    VERSION 0.1, May 11th:
    Initial Release.


    SEMI-STOCK:

    RELEASE 6, July 29th:
    Merge AQG5 kernel updates from Samsung
    Merge Linux 4.4.79
    Backport latest F2FS
    Switch to latest Linaro GCC 7 toolchain with processor specific tunes.
    Use -Ofast optimization.

    RELEASE 5, June 26th:
    Merge AQF7 kernel updates from Samsung
    Merge Linux 4.4.74

    RELEASE 4, May 27th:
    Merge AQE5 kernel updates from Samsung
    Merge Linux 4.4.69
    Update system patches

    RELEASE 3, May 19th:
    Updated to Linux 4.4.68
    Switched to GCC 8.X
    Full F2FS file system support (with latest driver backported from Linux 4.12) is added.
    Possible kernel panic (random reboots) addressed.
    VoLTE & VoWiFi problem fixed. (verified by testers)
    NOTE: VoLTE logo may not be an accurate indicator of VoLTE support.

    RELEASE 2, May 11th:
    Storage and CPU performance problems fixed.
    23
    Guides:

    HOW-TO FLASH THIS KERNEL:
    1. Make sure TWRP is installed. (https://forum.xda-developers.com/showpost.php?p=72004368&postcount=3)
    2. Download the flashable zip from download section in OP.
    3. Transfer the zip to your phone.
    4. Go to "Install" menu of TWRP and flash the zip.



    (for devs) HOW-TO PROPERLY INTEGRATE THIS KERNEL TO YOUR ROM:
    1. Download the flashable zip from download section in OP.
    2. Rename the downloaded zip to "jesse-kernel.zip".
    3. Delete original boot.img of your ROM.
    4. Place the zip to kernel (create if not exists) folder of your ROM.
    Example Structure:
    ->META-INF
    ->->com
    ->->...
    ->system
    ->->app
    ->->priv-app
    ->->...
    ->kernel
    ->->jesse-kernel.zip
    ->...
    5. Delete original kernel flashing lines from installation script (META-INF/com/google/android/updater-script) of your ROM.
    tip: usually start with package_extract_file("boot.img" after "ui_print("Extracting boot image...");".
    6. Add these lines to the installation script of your ROM:
    Code:
    ui_print("Installing Jesse's Kernel...");
    package_extract_dir("kernel", "/tmp/kernel");
    run_program("/sbin/busybox", "unzip", "/tmp/kernel/jesse-kernel.zip", "META-INF/com/google/android/*", "-d", "/tmp/kernel");
    set_perm(0, 1000, 0755, "/tmp/kernel/META-INF/com/google/android/update-binary");
    run_program("/tmp/kernel/META-INF/com/google/android/update-binary", "3", "1", "/tmp/kernel/jesse-kernel.zip");
    ui_print("Jesse's Kernel Installed");



    (for devs) Tips about kernel compile: (Note: NO technical support for such things. Inquires will be ignored.)
    1. There is a kernel build script in my kernel. (build_kernel.sh)
    2. Two variables must be specified before you can run it.
    export $KERNEL_TOOLCHAIN=/path/to/your-toolchain/bin/toolchain-prefix-
    export $KERNEL_DTBTOOL=/path/to/dtbtool/dtbhtoolExynos
    3. If you are building for Galaxy S8 (dreamlte), run it with "bash build_kernel.sh dreamlte".
    If you are building for Galaxy S8+ (dream2lte), run it with "bash build_kernel.sh dream2lte".
    4. Default output dir is "../kernel_out". "dt.img" and "Image" will be generated.
    17
    Changelog: (July 29)

    STABLE:
    VERSION 0.3:
    Merge AQG5 kernel updates from Samsung
    Merge Linux 4.4.79
    Merge BFQ-v8r12
    Backport latest F2FS
    Switch to latest Linaro GCC 7 toolchain with processor specific tunes.
    Use -Ofast optimization.

    SEMI-STOCK:
    RELEASE 6:
    Merge AQG5 kernel updates from Samsung
    Merge Linux 4.4.79
    Backport latest F2FS
    Switch to latest Linaro GCC 7 toolchain with processor specific tunes.
    Use -Ofast optimization.
    16
    New builds released.
    VERSION 0.2.1:
    https://www.androidfilehost.com/?fid=673368273298957840
    SEMI-STOCK RELEASE 4:
    https://www.androidfilehost.com/?fid=745425885120735048

    This is a small update.
    Changelog:
    1. Merge AQE5 kernel updates from Samsung.
    2. Merge Linux 4.4.69
    3. Update system patches