[KERNEL] Khaon's Kernel ♦ F2FS ♦ LINARO 4.7.4 ♦03/04

Time to choose the ROM I am gonna distribute

  • AOSP

    Votes: 4 18.2%
  • CM12

    Votes: 5 22.7%
  • OptiPop

    Votes: 10 45.5%
  • Another - reply and tell me the name!

    Votes: 3 13.6%

  • Total voters
    22
  • Poll closed .
Search This thread

lepa71

Senior Member
Aug 25, 2010
1,220
153
Minneapolis
Thank you. So far I haven't figured out if that ROM can be ran with f2fs.

Does any rom can be ran with f2fs and the only requirement is for the kernel?

Thanks

Updated the kernel, fixed the frequencies being overridden by the rom, switched to anykernel2 solution to make the kernel universal once again.

Rom:


  • powerHAL: reworked the driver to prevent overriding user's CPU freq speed to 1.7GHz.
  • powerHAL: reworked the driver to break early on screen interaction if the current cpu governor is not interactive
  • build:clang: compile the rom with Ofast instead of O3 ( since this flag enables ffast-math, it violates IEEE, thus it may bring instability or decrease in performance, report weird behavior.

Kernel:



  • ext4 updated to 3.4.105
  • frandom in replacement for random and uradom
  • thermal throttling: squashed @ktoonsez thermal algorithm (syfys entries located at /sys/devices/system/cpu/cpufreq/cput_attributes)
  • various cherry-picking from 3.4.105 kernel and from linux kernel upstream(include among other lz4 up to date, various arm patches, few patches

Anykernel:


  • Full switching to anykernel2 solution by osmosis:
  • patch the fstab upon flashing the zip package accordingly to your partitions' file systems
  • post-init script added to tweak vm,io,sched,...



You should now, could you try and report?
 

necropuppy

Senior Member
Jan 7, 2013
181
34
That's I thought, well Aero is really nice, I will provide the dev a list of sysfs entries related to our kernel that aren't supported yet, so they will be natively:D.

-----------------------


Are there around still users having ktoonservative as default gov? I just have added support of generic input driver to add back touch boost behaviour!
I still use that governor. What do you suggest though for the best battery life?
 

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Thank you. So far I haven't figured out if that ROM can be ran with f2fs.

Does any rom can be ran with f2fs and the only requirement is for the kernel?

Thanks

The requirement is indeed the kernel supporting f2fs.
The only problem can be ramdisk related. That's why I switched to anykernel to make it dump the current rom ramdisk and patch its fstab accordingly to your partitions's file system.

So you should be able to use any rom out there on this device with f2fs as long you use a compatible kernel and ramdisk.

Also note that the fstab patching occurs when you flash my zip package, if you flash my zip package and then format to f2fs you will have to re install it again.

I still use that governor. What do you suggest though for the best battery life?

Well, if you tune it correctly according to your utilization it remains a good one. Just the touchboost cpu was missing.

I really like new faux123's intellimm, you should give it a try. Make sure to set up corrects tunnables or watch out the apps you are using.

Some apps, like tricksters fails at showing the correct sysfs entry formating thus it doesnt apply the correct value.

Aero Control, among others, does support all the tunnables of this governor.
 

foxymyeung

Senior Member
Oct 19, 2011
59
5
Thanks for this kick ass ROM!

I'm not sure if anyone else has run into this issue, but when I setup a second user profile account (since I like to share my N10 amongst the family), it seems that the touch input dies after I switch back from one user to the other user. So that I can no longer do anything with the device except long press the power to reboot. This is a repeatable occurrence.

Even if I have a primary user profile, switch to guest user, and then switch back to the primary user profile the pad will no longer be responsive to any touch input. Only the hard power keys work.
 

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Thanks for this kick ass ROM!

I'm not sure if anyone else has run into this issue, but when I setup a second user profile account (since I like to share my N10 amongst the family), it seems that the touch input dies after I switch back from one user to the other user. So that I can no longer do anything with the device except long press the power to reboot. This is a repeatable occurrence.

Even if I have a primary user profile, switch to guest user, and then switch back to the primary user profile the pad will no longer be responsive to any touch input. Only the hard power keys work.
Hello, don't know why I didn't think of it earlier. because cm12 is still not released officially, some components are broken.

However, your issue might not be code related but induced by my optimization .s

Example: in the beginning , compiling whole build with O3 was making Fc chrome.

I had to fall back to O2. And now O3 works fine for chrome.

So what we need is to identify if its code related or not and the easy part would be to compare ROM behavior with a reference one : the original.

I don't know how is compiled the other ROMs if there is out there such a thing. If not I will release one with default options and Google compilers.

If bugs dont occur on that version it means I need to look for which part fails and then force it to be compiled with less optimizations to make it stable.

However this won't most likely happen before one day or two gonna be busy until then.

EDIT : if somebody has two nexus 10 make yourself known lol.

Sent from my nexus 10
 
  • Like
Reactions: foxymyeung

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Thanks for this kick ass ROM!

I'm not sure if anyone else has run into this issue, but when I setup a second user profile account (since I like to share my N10 amongst the family), it seems that the touch input dies after I switch back from one user to the other user. So that I can no longer do anything with the device except long press the power to reboot. This is a repeatable occurrence.

Even if I have a primary user profile, switch to guest user, and then switch back to the primary user profile the pad will no longer be responsive to any touch input. Only the hard power keys work.
Guest is working here but my build is 2112 I guess you are having an older one ? I am always most of the time one step ahead lol. Want to try always a bit before releasing

Sent from my nexus 10
 
  • Like
Reactions: foxymyeung

necropuppy

Senior Member
Jan 7, 2013
181
34
Thanks for this kick ass ROM!

I'm not sure if anyone else has run into this issue, but when I setup a second user profile account (since I like to share my N10 amongst the family), it seems that the touch input dies after I switch back from one user to the other user. So that I can no longer do anything with the device except long press the power to reboot. This is a repeatable occurrence.

Even if I have a primary user profile, switch to guest user, and then switch back to the primary user profile the pad will no longer be responsive to any touch input. Only the hard power keys work.
I was having this issue. My second user would lag a lot then become unresponsive. It would happen randomly, Jack the cpu usage up to 100, without warning, but it would happen frequently and require reboots. I tried to look at the process overlay thing to see what was taking it up, but couldn't see anything. I had to to switch over to rastapop (with f2fs and your kernel). Working well so far.
 
Last edited:

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
I was having this issue. My second user would lag a lot then become unresponsive. It would happen randomly, Jack the cpu usage up to 100, without warning, but it would happen frequently and require reboots. I tried to look at the process overlay thing to see what was taking it up, but couldn't see anything. I had to to switch over to rastapop (with f2fs and your kernel). Working well so far.
Just switched four times between two users and launching some web pages and then revert to the other one.


Had no issue so it is expected further releases won't suffer of it ... Will try and tell you when I all release next build if users are working .unless you prefer staying on your current ROM p

Sent from my nexus 10
 

foxymyeung

Senior Member
Oct 19, 2011
59
5
Thanks Khaon for your hard work! I can confirm that the bluetooth is functioning great, as it pairs well with my bluetooth keyboard!

Unfortunately though after a bunch of playing with 2 user setups, the system still has the same system hang / unresponsive to touch issue. Though it is better this time around because primary user could do things just fine, and then when switching to the second user - the user could use it fine for the next few hours or so (typical apps used: chrome, gmail, yahoo mail, es file explorer, bsfreevideo player to watch shows, facebook). But when the second user switched back to the primary user the touch input would fail. So only the power & volume buttons worked, and could do a hard reset.

It's a bit of a nuisance right now, but i can live with it. Just no clue why it would happen like that.


Sent from my Nexus 10 using XDA Free mobile app
 

SeemannBootlegs

Senior Member
Jun 28, 2009
119
33
Mexico City
b0d3ede4703fe4526920f083c014d894.jpg


Thanks Khaon from bringing new life to my Nexus10 ?
 
  • Like
Reactions: benjmiester

Top Liked Posts

  • There are no posts matching your filters.
  • 51
    Hello everyone!! Want to try f2fs on your device? You are at the good place to give it a try!


    disclaimer said:
    I am not responsible for any damage to your phone.
    Read before downloading or posting in the thread:
    Proceed with caution if you have no experience
    .

    INTRODUCTION

    I wanted to port f2fs for our device since it gives a nice performance boost. After few months of learning how to develop and program his own custom kernel here is my first personal release.

    This is an open devDB xda project. Feel free to fill in bugs reports, feature(s) requests and reviews.

    To those who don't know what is f2fs

    F2FS (Flash-Friendly File System) is a flash file system created by Jaegeuk Kim (Hangul: 김재극) at Samsung for the Linux operating system kernel.[2]

    The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.

    Some benchmarks to point out the performance difference between EXT4 and F2FS

    Optipops features :

    Kernel's features :

    • Compiled with linaro 4.7.4 with optimized flags : O3, etc.
    • Linux 3.4.67: synced with cyanogen 's manta kernel git, google's common branch, some parts of the kernel updated to 3.4.108, and many fixes from CAF,linaro, blabla.
    • Governors : interactive, intelliactive,intellimm,conservative, ktoonservative , performance, userspace, nigtmahre(on request)(ask for some others if you prefer them over the one I provide)
    • I/O schedulers : noop, cfq, deadline, bfq(tweaked for nand devices),fiops,zen,sio
    • f2fs updated from upstream git(08 september 2015)
    • UV and OC both for the GPU AND CPU supported
    • Control for the gpu table thresholds
    • touchboost driver for cpu and gpu in replacement of crappy powerHAL touch interface ( thx @franciscofranco to have adapted qcom code to ageneric one)
    • arm optimized crypto algorithms.(for the ones that want to crypt their data)
    • f2fs crypto support
    • kernel neon support
    • kernel side touch boost driver
    • double tap to wake
    • AnyKernel2 Solution: Allow users to install the kernel on different distribution. It also detects the filesystem of your partitions to produce a correct fstab. ( f2fs is supported on any partition BUT system )
    • and many more patches(see my github!)
    installation instructions :

    • Wipe Data Cache System
    • Flash The kernel
    • If issues are met, delete the
      Code:
      /sdcard/Android/data
      folder.
    • IF YOU FACE ERROR/ISSUES PLEASE USE MY TWRP CUSTOM RECOVERIES AT this link

    How To Migrate one partition from ext4 to f2fs(vice-versa):INSTRUCTIONS FOR TWRP 2.8.x.y
    GunnerOnASpooky said:
    1. Backup everything from your internal storage to your PC or what ever, if you are migrating /data partition,since the entire internal storage is going to get wiped out with format!!!!!!!!!!
    2. Download the recovery from my gdrive
    3. Flash the recovery from the bootloader (fastboot flash recovery XX.img)
    4. Reboot into the newly flashed recovery
    5. Choose wipe, advanced, then select the partition you want to change its filesystems
    6. Choose the change file system option on the right
    7. Select change file system again
    8. Select f2fs(or ext4)
    9. Repeat for all you wish to convert (I did system!/data/cache but /system partition should be working if you rom package flash extracts instead of flashing an image)

    Credits:
    @ktoonsez - for his kernel , KT- twrp and his work.
    Team Win and @helicopter88 @Dees_Troy for their help.
    Samsung for F2FS: heh!
    @craigacgomez - for thunderkat kernel
    @JustArchi - for his opti v3 build rom.
    Cyanogendmod for their ROM
    Linaro foundation for their toolchains
    @faux123 for his intelliactive governor
    @franciscofranco - for his work on touch boost drivers and mako kernel
    @osm0sis - for AnyKernel2

    Source:
    KT-TWRP
    kernel
    Ramdisks



    XDA:DevDB Information
    Khaon's project for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5 It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-01-03

    Created 2014-09-27
    Last Updated 2015-01-12

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-07-13
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2015-09-06

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-09-08
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2015-09-08

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-09-08
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2016-04-02
    13
    it's up.

    I have asked kernel audiutor dev to add add gpu voltage control based on the cpu voltage implementation...

    I guess if the dev accept to do that it would be really easy for him.

    If he doesn't, I'll try to make a patchset and pull request it to the kernel audiutor project( as its open source!)
    13
    Hello little update to the kernel:


    • introduced 864 Mhz cache frequencies for 1.6+++ freq.
    • merged with google's androidd 3.4 branch: squashed the following commits:
      • Merge remote-tracking branch 'common/android-3.4' into lollipop
      • ARM: pull in <asm/simd.h> from asm-generic
      • ARM: be strict about FP exceptions in kernel mode
      • ARM: move VFP init to an earlier boot stage
      • crypto: create generic version of ablk_helper
      • ARM: add support for kernel mode NEON
      • crypto: sha - Handle unaligned input data in generic sha256 and sha512.
      • crypto: sha512_generic - set cra_driver_name
      • crypto: sha512 - Expose generic sha512 routine to be callable from other modules
      • crypto: create generic version of ablk_helper
      • defconfig updated:enabled arm crypto
      • KEYS: Provide signature verification with an asymmetric key
      • KEYS: Asymmetric public-key algorithm crypto key subtype
      • KEYS: Implement asymmetric key type
      • crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
      • ARM: 8120/1: crypto: sha512: add ARM NEON implementation
      • ARM: 8119/1: crypto: sha1: add ARM NEON implementation
      • ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
      • crypto: arm-aes - fix encryption of unaligned data
      • CRYPTO: Fix more AES build errors
      • ARM: add .gitignore entry for aesbs-core.S
      • ARM: add support for bit sliced AES using NEON instructions
      • ARM: move AES typedefs and function prototypes to separate header
      • ARM: 7837/3: fix Thumb-2 bug in AES assembler code
      • ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
      • ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
      • arm/crypto: Add optimized AES and SHA1 routines

    • sync with f2fs upstream branch
    • squashed few commits from CAF:
      • mm: vmscan: lock page on swap error in pageout
      • Staging: android: binder: More offset validation
      • Input: Send events one packet at a time
      • binder: NULL pointer reference
      • staging: binder: add vm_fault handler
      • staging: binder: Change binder mutex to rtmutex.


    report if instablity!
    12
    update:new builds:twrp,rom,kernel

    I have updated the recovery,kernel and optipop rom.

    Here is the changelog since latest one;

    kernel
    • squashed commits from upstream kernel revision:
      • blktrace: fix accounting of partially completed requests
      • block: fix a probe argument to blk_register_region
      • vfs,proc: guarantee unique inodes in /proc
      • mm: fix aio performance regression for database caused by THP
      • ASoC: wm_hubs: Add missing break in hp_supply_event()
      • ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
      • can: dev: fix nlmsg size calculation in can_get_size()
      • ipv4: fix ineffective source address selection
      • proc connector: fix info leaks
      • net: heap overflow in __audit_sockaddr()
      • net: do not call sock_put() on TIMEWAIT sockets
      • tcp: do not forget FIN in tcp_shifted_skb()
      • tcp: must unclone packets before mangling them
      • OOM, PM: OOM killed task shouldn't escape PM suspend
      • ALSA: pcm: use the same dma mmap codepath both for arm and arm64
      • random: add and use memzero_explicit() for clearing data
      • crypto: more robust crypto_memneq
      • vfs: fix data corruption when blocksize < pagesize for mmaped data
      • target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
      • block: fix alignment_offset math that assumes io_min is a power-of-2
      • fix misuses of f_count() in ppp and netlink
      • fs: make cont_expand_zero interruptible
      • fs: Fix theoretical division by 0 in super_cache_scan().
      • framebuffer: fix border color
      • power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
      • kvm: don't take vcpu mutex for obviously invalid vcpu ioctls
      • int_sqrt: Improve 3x faster integer sqrt.
      • net: ping: Return EAFNOSUPPORT when appropriate.
      • android: base-cfg: turn off /dev/mem and /dev/kmem
      • net: ipv6: make "ip -6 route get mark xyz" work.
      • Set the iif for IPv6 packets as well.
      • Merge remote-tracking branch 'common/android-3.4' into khaon-new
      • sched: Fix reference to stale task_struct in try_to_wake_up()
      • Merge remote-tracking branch 'common/android-3.4' into khaon-new
      • fs/proc/task_mmu.c: add user-space support for resetting mm->hiwater_rss (peak RSS)

    • gpu:mali:
      • reworked gpu governor table

    • fs:
      • f2fs:updatd to upstream revision

    • defconfig:
      • defconfig:enabled neon features
      • defconfig:add NTFS support

    • cpufreq:
      • cpufreq:ktoonservative:made touch boost smarter
      • cpufreq:interactive:increased DOWN_LOW_LOAD_THRESHOLD to 20%


    Rom(changes from optipop official sources):
    • core:
      • Add support for exec command in init scripts.
      • init: Fix memory corruption when sanitizing platform paths
      • init: Do not call recursive_restorecon on soc.0
      • init: Make restorecon_recursive work for /data/
      • fs_mgr: Skip filesystem check unless fs_type matches
      • Add libminshacrypt static lib

    • device/manta:
      • fstab:removed fastboot and flush_merge mount options
      • twrp:added fstab and updated config
      • manta: Use better mount options
      • BoardConfig:enabled f2fs for userdata image
      • Audio proprietaries from stock ROM
      • Add support for more filesystems
      • Enabled BLE, GATT, SMP (bluetooth low-energy)
      • OTG USB storage support
      • Update full_manta properties
      • ART dex2oat optimisation properties
      • Final final final N5 wallpaper.
      • fstab: enabled f2fs support
      • enable inline kernel building
      • audio_effects:added support for viper4audio
      • post install validation:resize the system partition after installing the rom
      • added reboot to recovery button and screenshot in the power menu
      • manta: add GlobalActionList config
      • call my vendor script
      • enable translucent decor
      • Remove obsolete dalvik.gc.type-precise
      • manta: Enable libm optimizations
      • enabled optipop optimizations
      • power: updated to my personnal library
      • added twrp config for manta

    • TWRP 2.8.5.0:
      • switched to cm12's f2fs tools(1.4.1)
      • use my kernel instead of stock one with f2fs patches



    @drewski_1 Didn't noticed you filled a feature request :D


    I have added support of otg also with my stand alone kernel package, it should patch the fstab properly to make the device compatible with otg, can any user confirm?


    The rom comes with my kernel and support f2fs/ext4 for cache & data partition
    11
    Ok DT2W seems working.

    I have uploaded it in the testing folder

    On this build DT2W is enabled by default. Here are the interresting sysfs entry path :
    Code:
    /sys/devices/platform/s3c2440-i2c.3/i2c-3/3-004a/slide2wake

    1 to enable, 0 to disable

    Code:
    /sys/devices/platform/mali.0/dvfs_upper_lock

    just override current text with you prefered frequency, you can overclock up to 667Mhz with 533 MHz default freq.

    You need a root explorer to edit those file.

    You can also use Aero Kernel that allow you to set up custom sysfs entry paths.


    Also I have opened for kernel audiutor a pull request with those path for dt2w support. I guess in the next days it will be included.