[KERNEL][G800F][exynos][G800FXXU1*][TW Only][MM Only]Custom Kernel

Search This thread

CurtisMJ

Senior Member
May 23, 2013
633
532
Hi Curtis,

I would like to try your kernel with cm12.1 as debloated TW is still too cloggy for me. I would like to try to recompile your kernel myself (and give you all the credit) but I am really a noob in this regard, and I have no idea of what I am doing. Is it possible for you to make your kernel compatible with cm12.1, or am I asking too much of you :p. I completely understand if you don't feel like it!

Best,

Knoose
The CM kernel doesn't have any breaking changes that I'm aware of. You wouldn't need to recompile, just repack with the CM ramdisk. One note is that you might need to use CM13 as opposed to CM12, but it's worth a shot. You should check out the AnyKernel threads if you would like a more automated way of doing it.
 
  • Like
Reactions: Knoose

Knoose

Senior Member
Oct 19, 2016
81
34
Deventer
The CM kernel doesn't have any breaking changes that I'm aware of. You wouldn't need to recompile, just repack with the CM ramdisk. One note is that you might need to use CM13 as opposed to CM12, but it's worth a shot. You should check out the AnyKernel threads if you would like a more automated way of doing it.

Thank you for your reply! After I posted my previous message I found the post in which you referred to the repack program. I have tried it with your kernel but it gets stuck in a bootloop, I've also tried it with a cm13 kernel by spookcity which boots but it gives me a simcard error (same as with a tardis kernel I found for 12.1).

CM13 is a no go for me as it is buggy in some features I really like and 12.1 is less so.

Still, thank you for answering my question
 

CurtisMJ

Senior Member
May 23, 2013
633
532
Thank you for your reply! After I posted my previous message I found the post in which you referred to the repack program. I have tried it with your kernel but it gets stuck in a bootloop, I've also tried it with a cm13 kernel by spookcity which boots but it gives me a simcard error (same as with a tardis kernel I found for 12.1).

CM13 is a no go for me as it is buggy in some features I really like and 12.1 is less so.

Still, thank you for answering my question
Yeah, unfortunately making the kernel work with the old CM would involve reverting the changes Samsung made for lollipop, which would involve backtracking on the commit tree to the Samsung source drop and then patching upwards with fresh patch files from the Linux kernel repository(Samsung backported a couple things). Alternatively you can just reverse patch the Samsung changes, but that way lies chaos and madness. An easier way might be to patch the lollipop stock rom's drivers to the old CM(it's how hennymc got CM13 to work). Still a lot of debugging to do either way. :(
 
  • Like
Reactions: Knoose

CurtisMJ

Senior Member
May 23, 2013
633
532
This kernel works on sm-g800m or only on sm-g800f?
There may be fstab issues, but as long as the G800M has the same hardware(exynos) as the G800F, it can't do *much* harm. If you want to brave it and try, be sure to backup your EFS partition, as this is the only only data on your device you can't get back if things go awry. Also, I think the build might be broken again anyway. Eh, I'll get to it...
 

Knoose

Senior Member
Oct 19, 2016
81
34
Deventer
Yeah, unfortunately making the kernel work with the old CM would involve reverting the changes Samsung made for lollipop, which would involve backtracking on the commit tree to the Samsung source drop and then patching upwards with fresh patch files from the Linux kernel repository(Samsung backported a couple things). Alternatively you can just reverse patch the Samsung changes, but that way lies chaos and madness. An easier way might be to patch the lollipop stock rom's drivers to the old CM(it's how hennymc got CM13 to work). Still a lot of debugging to do either way. :(

I was afraid of that :) unfortunately I currently do not have the knowledge to do these kinds of things. And I do not have the time to learn them right now. But I just read that samsung has released the source for 6.0.1 so maybe the henny can do the final debugging in cm13. (fingers crossed).

Thanks anyway for your wonderful kernel!
 
  • Like
Reactions: CurtisMJ

CurtisMJ

Senior Member
May 23, 2013
633
532
Hi CurtisMJ, does it work with the new MM update? And if not can You create new update please? :confused:
Hello, sorry for delay. I can't actually say if it will work at the moment. Samsung usually takes another month before releasing kernel sources, but the ramdisk is likely to have big changes regardless, mostly to selinux policies, which may prevent boot even if the sources would work. I'll see what I can do when they release the MM kernel.
You can watch out for them on Samsung's OSS portal in the meantime:
[url]http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=g800f[/URL]
Edit:
So they have indeed posted some Marshmallow sources, but only the MEA variant for now, presumably to pair with the UAE region ROM. Might have to wait for full rollout to get the European sources.
They're taking their sweet time with those sources. I guess I'll try the MEA ones...
 
Last edited:

Mrdream94

Senior Member
Mar 14, 2016
783
206
Hello, sorry for delay. I can't actually say if it will work at the moment. Samsung usually takes another month before releasing kernel sources, but the ramdisk is likely to have big changes regardless, mostly to selinux policies, which may prevent boot even if the sources would work. I'll see what I can do when they release the MM kernel.
You can watch out for them on Samsung's OSS portal in the meantime:
[url]http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=g800f[/URL]
Edit:
So they have indeed posted some Marshmallow sources, but only the MEA variant for now, presumably to pair with the UAE region ROM. Might have to wait for full rollout to get the European sources.
They're taking their sweet time with those sources. I guess I'll try the MEA ones...

HI Curtis, I'll wait too for this kernel on MM :)
 

CurtisMJ

Senior Member
May 23, 2013
633
532
I'm guessing they're not releasing the European kernel sources anytime soon, so MEA seems the only choice. I have to download both the kernel sources and the firmware from sammobile though, and have limited time and bandwidth to do so. If I get a chance I will try though.
 

CurtisMJ

Senior Member
May 23, 2013
633
532
Just finishing touches now
 

Attachments

  • 1488830918314.jpg
    1488830918314.jpg
    36.7 KB · Views: 375

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    hennymcc:
    Important notice:
    - You flash this image at your own responsibility. I am not responsible for any damage that might be caused by flashing this image (bricked device, lost data, ...)
    - Flashing this kernel image will trigger the KNOX counter, so your warranty will be void.
    - The image is only for S5 Mini SM-G800F (Exynos)
    - The kernel is not tested well. It might be instable, crash your device, drain your battery, or even might damage your smartphone (e.g. if an OTG device drains too much power)
    - Backup your data before flashing and check if the original firmware is present (e.g. at SamMobile)
    Side note: Tripping KNOX counter might break some Samsung applications even after a factory reset. This might be due to secure storage(which is fixable), but for now be cautious if you depend on these features! This image will likley damage the Qualcomm variant of the S5 Mini, do not flash if you have a G800H!

    Hello! :laugh:
    I've been working on a custom kernel for a while for personal use but I thought some of you might like it.
    Current feature list:
    • Patched to Linux 3.4.113
    • Fading LED notification (default disabled)
    • Added row I/O Scheduler
    • Added zzmoove CPU Governor(with temperature export)
    • Added PIE network scheduler(supposed to reduce latency, default disabled)
    • DriveDroid support
    • Universal Control Interface[UCI] (use the Synapse app to configure)
    • USB OTG
    • Boeffla sound engine (Only configurable via Synapse! default disabled)
    • Powersuspend with LCD panel hooks
    • 1.5GHZ clock speed on processors with revision 2 and above
    • Double Tap 2 Wake
    • Voltage Control
    • MDNIE Hijack
    • F2FS Support
    • Haptic Feedback for soft keys

    Compiled with Self built Linaro 5.3 toolchain

    This kernel is currently only designed to work with the corresponding TouchWiz ROM and likely won't be able to boot custom ROMs. KitKat/Lollipop TouchWiz is also not supported!
    If you have any questions about the included features (how to enable, what they do) you may ask in the Q&A until I update the thread.

    About 1.5GHZ clock speed
    So, as it turns out, Samsung had already done the work to push the 3470 to 1.5GHZ. The frequency tables were already there and all that needed to be done was to remove a soft limit set on it and voila! 1.5GHZ! The catch is that these tables only applied to the second revision of the SoC and above.
    Possible reasons why Samsung set the limit:
    • The S5 mini comes out with both the older and newer revisions of the 3470 and Samsung wanted to avoid getting in legal trouble for selling a higher clocked phone as the same product
    • The higher clock speeds legitimately can damage the phone
    As I don't have multiple S5 Mini's at hand I can't prove the first point, but the second point is more likely true. If you don't feel comfortable with the higher clock speeds you may lower the maximum to 1.4GHZ via Synapse, but the default clock is always 1.5GHZ due to the way in which the frequency controller works.


    Current status : BETA

    Credits:
    andip71(Boeffla sound), faux123(Powersuspend), FrozenCow(DriveDroid support), ZaneZam(zzmoove), Linux Foundation(kernel patches), AndreiLux(Voltage patches for INT and MIF bus), Yank(MDNIE hijack), Samsung(F2FS)
    On-board BusyBox by meefik https://play.google.com/store/apps/details?id=ru.meefik.busybox&hl=en
    The authors are not responsible for the way in which their features have been implemented in this kernel. Do not post bug reports to them!

    Flashing procedure will be the same as with this kernel.
    Download current image here:http://forum.xda-developers.com/devdb/project/?id=10241#downloads

    Chaneglog:
    Code:
    1.0
    -Initial Release
    1.1
    -ZZMoove Update to 1.0 Beta 8
    - Linux Update to 3.4.108
    - Toolchain update
    - 1.5ghz unlock for higher revision SoC's
    1.2
    - Ramdisk update
    - Double Tap 2 Wake!
    - UCI update
    - USB OTG now permanently enabled
    1.3
    - Voltage Control (CPU, GPU, bus)
    - Fixes for DT2W
    - Linux Update to 3.4.109
    1.4
    - Intelliactive Removed
    - Linux Update to 3.4.110
    - MDNIE Hijack
    
    1.4_L
    - Lollipop Variant Now Live
    
    1.4_L2
    - Second Lollipop release
    - Fixed OTG
    - System partition can be remounted again
    - Removed Frandom (Does not work so well in Lollipop)
    
    1.5
    - KitKat support terminated
    - Fix annoying bootloader warning ("KERNEL IS NOT SEANDROID ENFORCING")
    - F2FS Drivers updated and F2FS support improved (/data and /cache)
    - Patch to Linux 3.4.111
    - UKSM removed due to stability concerns
    - SELinux policy support update (Latest SuperSU betas might need this)
    - Switch to self built linaro toolchain
    
    1.6
    - Update to Linux 3.4.112
    - F2FS drivers updated
    
    1.7
    - F2FS drivers update
    - NTFS support enabled (eg. for reading USB HDDs)
    - Kernel side haptic feedback on soft keys added (see second post)
    
    1.8
    - patch to 3.4.113
    
    1.9
    - Switchable OTG
    
    2.0
    - Updated to MM
    - No longer need to install BusyBox manually to use Synapse

    XDA:DevDB Information
    G800F Custom Kernel, Kernel for the Samsung Galaxy S5 Mini

    Contributors
    CurtisMJ
    Source Code: https://github.com/CurtisMJ/g800f_custom_kernel

    Kernel Special Features: Boeffla Sound, Fading LED, Linux 3.4.113, row I/O Scheduler, zzmoove CPU governor, PIE netsched, DriveDroid support, UCI, USB OTG, DT2W, Voltage Control, MDNIE Hijack, F2FS, Haptic feedback

    YOU MAY NEED TO REFLASH SUPERSU AFTER FLASHING THE KERNEL!

    Version Information
    Status: Beta EOL
    Current Beta Version: 2.0
    Beta Release Date: 2017-03-07

    Created 2015-06-08
    Last Updated 2017-03-07
    6
    Just finishing touches now
    4
    OTG switching
    Credit to tobigun for the original code (I actually attempted it at some point but failed miserably).
    Execute the commands in a terminal:
    Turn on OTG
    Code:
    su -c echo OTG > /sys/class/sec/switch/otg_cable_type
    Turn off OTG
    Code:
    su -c echo USB > /sys/class/sec/switch/otg_cable_type
    (Haven't touched Synapse in forever, cannot make sense of it anymore, so no Synapse switch soz)

    Synapse Issues
    I had some trouble with colour choosers crashing Synapse under specific conditions. If Synapse keeps crashing when picking colours for MDNIE, please try the custom build available in the downloads section of this project.
    IF THE DEVICE IS CRASHING WHEN USING SYNAPSE, THEN YOU HAVE LIKELY SET UNSTABLE SETTINGS! SYNAPSE WILL NOT PREVENT THIS, SO PLEASE BE CAREFUL WHEN CHANGING SETTINGS!
    There are two ways to recover:
    - Use your recovery to delete Synapse's data folder
    - Factory Reset your device (Only in extreme cases)

    Using PIE netsched:(likely not working with Android at this point in time)
    Run following in root terminal or as init.d script
    Code:
    tc qdisc replace dev wlan0 root pie
    tc qdisc replace dev p2p0 root pie
    tc qdisc replace dev rmnet0 root pie

    ZZMoove and profiles:
    The zzmoove governor is highly recommended. It can be set to various profiles to mimic the benefits of various other governors. It'll even ensure the device doesn't overheat!
    The profile can be set by setting the "profile number" tunable in Synapse to one of the number values mentioned here. Setting it will change a bunch of other tunables. You'll need to restart Synapse after setting it and save the changes for future application.

    Notes on DVFS
    Samsung's DVFS feature in their TouchWiz ROMs seems to get a bit shouty when anything other than the "interactive" CPU governor is active. It could also be the cause of rare kernel panics relating to CPU frequency tables(frequency controller expects something from the governor, governor doesn't deliver, panic). Since it also seems to cause a couple other unrelated issues, I'd recommended simply disabling it altogether(the easiest way being via Xposed)

    Double Tap 2 Wake
    This feature allows you to wake the device by double tapping on the screen while it is off. NOTE:Deep sleep is near totally inhibited while this feature is active, this means extra battery may be consumed. On a tweaked ROM you'll get 2-3%/hr on full standby, on non tweaked you'll get about 4-5%/hr, please keep this in mind while using the feature! Android OS suspension should be unaffected. The feature disables itself when a Samsung branded flip cover is closed, including S-View covers(no double tapping on the window). The feature makes use of the light and proximity sensors in order to detect whether the device is in a dark enclosed place (eg. A pocket) and disables itself in these situations as well in order to prevent accidental wakes (though that may still happen...)

    MDNIE Hijack Example
    Profile based of iPhone 6+ screen:
    R: FF 00 00 - G: 12 FC 12 - Bu: 00 00 FF - C: 12 FF FF
    M: FF 00 FF - Y: FF FF 00 - W: FF FF FF - Bl: 00 00 00
    Feel free to post any other nice looking profiles you find

    Init.d in Lollipop
    I did not add Init.d support when building the Lollipop variant's ramdisk. Instead, /su/su.d should be used to run boot scripts. The functionality is exactly the same as the old Init.d.

    Haptic feedback on soft keys
    In order to avoid conflict with ROM side solutions, haptic feedback is disabled by default. It can be enabled via the following command which can be run as a boot script (eg. in /su/su.d). Command must run as root.
    Code:
    echo 1 > /sys/class/misc/abov_touckey/vibrate
    NOTE: Above "touchkey" was misspelled in code. It should be fixed in a future update. Sorry for any inconvenience
    still not fixed lol

    Extra Compatibility Notes:
    [url]http://forum.xda-developers.com/showpost.php?p=62226500&postcount=2[/URL]
    4
    New Version!

    Voltage control, Linux patches and fixes for DT2W waking up the screen while a call is in progress(sorry 'bout that)
    3
    Hi CurtisMJ, does it work with the new MM update? And if not can You create new update please? :confused:
    Hello, sorry for delay. I can't actually say if it will work at the moment. Samsung usually takes another month before releasing kernel sources, but the ramdisk is likely to have big changes regardless, mostly to selinux policies, which may prevent boot even if the sources would work. I'll see what I can do when they release the MM kernel.
    You can watch out for them on Samsung's OSS portal in the meantime:
    [url]http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=g800f[/URL]
    Edit:
    So they have indeed posted some Marshmallow sources, but only the MEA variant for now, presumably to pair with the UAE region ROM. Might have to wait for full rollout to get the European sources.
    They're taking their sweet time with those sources. I guess I'll try the MEA ones...
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone