FORUMS

Webview Update on Android M Dev Preview

Google has announced an update to the Webview implementations on the upcoming Android M … more

Android M Brings Granular Permission Controls

Google I/O 2015 is underway,  and Sundar Pichai opened the event with the usual … more

Watch the Google I/O 2015 Livestream Here

Google’s annual I/O 2015 Developer Conference is about to go live from Moscone West in … more

OnePlus Plans To Take Back #NeverSettle From Verizon

#NeverSettleBack in 2014, this seemingly innocent and kind of … more
Post Reply Subscribe to Thread Email Thread

[KERNEL/AOSP] [5.1] [F2FS] [D2TW / S2W / S2S] big-bum V10

Announcement from big_bum: I thought a lot about posting this here, but I finally decided to share my custom kernel with you.
6th June 2014, 10:57 AM |#1  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 1,122
 
Donate to Me
More
DOWNLOAD
HERE or HERE if you prefer a simpler expanded tree for the FTP.
I also have a mirror HERE.
Test folder: ftp://big-bum.uni.cx/.not_so_private or https://dl.dropboxusercontent.com/u/...ate/index.html
Pushbullet channel: here

I'm not being held responsable for data loss or any damage to your phone if you're using my kernel. You flash this at your own risk. Always make a backup!


I'm working on a modified version of Kernel Tweaker (called BbKT) with support for all the tunables found in my kernel. You can download the latest version from here. It's a WIP so things are missing from it.

Features:
  • backports from upstream for most of main components
  • exfat for mounting exfat formatted sticks via USB OTG
  • f2fs for mounting f2fs formatted sticks via USB OTG or if you have an f2fs formatted internal memory (use the same image for all combinations of f2fs formatted partitions).
  • for mounting OTG sticks formatted in NTFS/exFAT/f2fs/other filesystem I recommend this app. FAT formatted sticks will automount if you use CM (might work on AOSP too, I haven't tested it)
  • I also include cherry-picks from other N5 kernels (especially from Chaos/Hybrid - @neobuddy89, Uber - @Cl3Kener and Code_Blue - @eng.stk)
  • min default CPU freq: 300MHz
  • max default CPU freq: 2.26GHz
  • default CPU governor: impulse
  • available CPU governors: ondemand, bacon, performance, powersave, interactive
  • hotplug: msm_hotplug developed by myfluxi
  • cpu-boost driver from CM.
  • I/O readahead size: 512KB
  • I/O default schedueler: fiops
  • other available I/O scheduelers: noop, deadline, cfq, BFQ, tripndroid
  • GPU min/max 20/450MHz
  • GPU default governor: simple
  • other GPU available governors: ondemand, performance
  • color profiles. Based on franco, works with FKU or Nexus Display Control app.
  • savoca's KCAL
  • franco sound
  • CM sound patches
  • dynamic fsync
  • various memory improvements. This doesn't mean less consumed RAM, also free RAM is wasted RAM for linux. Also, read this: http://www.linuxatemyram.com/
  • msm limiter (limits screenoff freq to 1.2GHz)
  • KSM: Kernel Samepage Merging.

    Quote:

    KSM merges memory pages from one app with another app, thus only loading one memory page, not two pages that are the same.

    Let's say that app A has the page X loaded in memory. Let's say that app B loads pages X and Y in memory. KSM detects that and points app B to the memory address from page X loaded by app A. In the end we have this:

    Without KSM:
    A: X
    B: X, Y
    Total: X, X, Y

    With KSM:
    A: X
    B: ^, Y
    Total: X, Y

  • the famous I2C @ 19.2MHz, plus some other chips dropped at 19.2MHz
  • HTCP as default TCP congestion control. (I personally don't see any differences between different TCP Congestion Control algorithms)
    other TCPCC available: reno, bic, cubic (I used this in DD-WRT), westwood (they say it's good for wireless/3G/4G devices), vegas, veno
  • compilled with latest Linaro GCC (4.9.3), and with SaberMod
  • removed useless debug
  • I probably forgot something

Q&A

- Is it stable/bug free?
- As stable/bug free as franco's kernel is.

- Does it score better in benchmarks?
- I think so. At least Antutu says so, in the integer and float benchmarks. Quadrant also says this. It's not a huge difference, and you can't see it with the naked eye. But I don't trust in benchmarks that much.

- How's the battery life?
- (From Reddit) "The same battery life you get with Franco, if not a little better. Optimization means better performance, better performance means less time executing the same code, less time online means more deep sleep. Idk how much better it is, but it's not worse, anyway."

How can I configure it?

1. Universal Kernel Manager (Synapse + Script). Flash kernel, flash the zip from the link, install Synapse. Read here for more info on frequency getting stuck at 1.2GHz. TL;DR: go and setup via Synapse how you want, then go to CPU Tab, set minimum freq to 300Mhz, apply, enjoy.
2. FKU
3. Kernel Tweaker
4. Trickster Mod, via scripts in init.d, etc.


Recommended & tested ROMs:
  • Optipop
  • SlimAOSP
  • Terminus
  • Blisspop
This doesn't mean that ROMs are not supported, jus that I haven't tested them. The ROMs from this list are working as they should with my kernel.


Rollback:
  • Rename /system/lib/hw/power.msm8974.so.bak to /system/lib/hw/power.msm8974.so
  • Rename /system/bin/thermal-engine-hh-bak to /system/bin/thermal-engine-hh
  • Reboot to the bootloader and flash stock Kernel by downloading the Nexus images and then fastboot flash boot boot.img
  • Start the phone
  • Reboot to bootloader again and flash what kernel you want, and then start the phone.


Credits:
@franciscofranco for his kernel sources, ideas, work and dedication
Also, you should really buy FKU even if you're not using any of his kernels. It's a great tuning app and by buying it you show him some respect for his work. I personally bought it and I don't regret that.
@LaboDJ for his kernel sources, optimizations, ideas and his work
@Christopher83 for Linaro GCC binaries, tutorials on how to compile Linaro, his Linaro binaries and tutorials
other people who work on Linux kernel.
Kernels from where I cherry-pick: Chaos/Hybrid - @neobuddy89, Uber - @Cl3Kener and Code_Blue - @eng.stk
Other guys from where I might cherry pick in the future.


Special thanks for testing and help:
@_MirageX_ @dox81 @pianistaPL @shadowdevil

Special thanks for donations:
@Paddybecks87 and the guy from reddit (notable-_-shibboleth) who also uses my build of pf-kernel for Ubuntu. (If you see this and you have a XDA username, give me a PM to put you in the list here)


Sources:
Kernel: ttps://github.com/StefanescuCristian/hammerhead
Ramdisk: https://github.com/StefanescuCristia...isk_hammerhead
Toolchains:
Linaro: https://github.com/Christopher83/arm-cortex_a15-linux-gnueabihf-linaro_4.9.git
SaberMod: https://github.com/AuxXxilium/sm-arm-cortex_a15-eabi-4.9
BbKT (Big bum Kernel Tweaker): https://github.com/StefanescuCristia...kernel-tweaker


The attached images are from the KK version.
Oh, and if you want to build this for yourself, check this out!

XDA:DevDB Information
[KERNEL/AOSP] [5.1] [F2FS] [D2TW / S2W / S2S] big-bum V10, Kernel for the Google Nexus 5

Contributors
big_bum
Source Code: https://github.com/StefanescuCristian/hammerhead

Kernel Special Features: KSM, BFQ

Version Information
Status: Stable
Current Stable Version: 10
Stable Release Date: 2015-04-14

Created 2014-07-07
Last Updated 2015-04-17
Attached Thumbnails
Click image for larger version

Name:	2014-06-03 16.58.03.png
Views:	16773
Size:	200.7 KB
ID:	2783483   Click image for larger version

Name:	2014-06-03 16.58.15.png
Views:	16091
Size:	201.7 KB
ID:	2783484   Click image for larger version

Name:	TZCqH2z.jpg
Views:	6532
Size:	15.9 KB
ID:	3086204  
Last edited by big_bum; 13th October 2014 at 08:59 PM.
The Following 91 Users Say Thank You to big_bum For This Useful Post: [ View ]
 
 
6th June 2014, 10:57 AM |#2  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 1,122
 
Donate to Me
More
Reserved
Quote:
Originally Posted by fabi_92

I use big bum as primary but with some secondary rom and some kernel doesn't work.

FIX:

-flash rom
-flash gapps
-flash big-bum
-flash zip EXT4 or F2FS
-done

;)



Old kernel info:
I said last night that this kernel works on CM.

First of all, CM is CAF. Our kernel is not CAF. This means that some libraries are not compatible with our kernel and need to be changed to make it compatible. This is exactly what Calkulin made. He made a zip that contain non-CAF libs to boot stock AOSP kernels.
I took that zip, modified it and put our kernel in it. This is more like a hack, it's not the real CAF kernel!
Also, in the OP I said that this isn't CAF-compatible by default. This is what I was talking about. With a little hack, it can run on CM.
This has nothing to do with the kernel. It's all in the libs. I only made a simple/easy/convenient way to flash CM and this kernel together.


How to:

Scenario 1: You don't have CM installed, you want to install it.

1. Download CM(tested with 07.07 nightly) or CM-based ROM zip. (In theory it should work)
2. Flash CM/CM-based ROM, gapps. Read the ROM OP for more details.
3. Flash the latest kernel/zip from CM folder.
When updating the ROM, you must reflash the kernel zip file from CM folder.
When updating the kernel, you can flash the normal ext4 version (zip or img from AOSP folder), or the hacked CM one (the zip from CM folder).

Scenario 2: You have CM and you want to try this kernel.
1. Download and flash the kernel/zip from CM folder.
When updating the ROM, you must reflash the kernel zip file from CM folder.
When updating the kernel, you can flash the normal ext4 version (zip or img from AOSP folder), or the hacked CM one (the zip from CM folder).

QA:
-f2fs/f2fs-all version for CM?
-No.
First of all, CM formats partitions to ext4 when flashing. You must edit your updater-script for it to work. If you know this, then you know what I'm talking about in the next 2 paragraphs.
Second, you can make a flashable zip by yourself.
Third, it's easier to download the zip from the thread and flash it, then flash a f2fs/f2fs-all kernel. (AOSP folder, zip or img)
You just have to be carefull that if you're on f2fs-all, you must edit META-INF/com/google/android/updater-script from Calkulin's zip file: replace ext4 with f2fs. Repack, flash your zip, flash f2fs/f2fs-all kernel, enjoy.


-I have done what you said. I now run CM on f2fs/f2fs-all. What do I do in case of an update?
-Well, it depends.
For ROM update:
1. Flash CM ROM.
2. Flash the zip you made and flashed when you asked the previous question (third point)
3. Flash f2fs/f2fs-all kernel

For kernel update:
1. Flash the appropiate f2fs/f2fs-all kernel. (AOSP folder, zip or img)

Credits: Calkulin for his thread, zip, files and discovery.
Last edited by big_bum; 3rd February 2015 at 01:47 PM.
The Following 9 Users Say Thank You to big_bum For This Useful Post: [ View ]
6th June 2014, 10:57 AM |#3  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 1,122
 
Donate to Me
More
Reserved
Old kernel info:
Which version do I need?

It's pretty simple and I think I structured the download sites pretty good. If you want another structure or you have ideas for improvements, then feel free to post them. Anyway:

For AOSP based ROMs (Mahdi, Paranoid, Liquid Smooth, etc) use the AOSP folder. If you didn't change the ROM to support f2fs or f2fs-all, you must use ext4 or mpd*.
For Cyanogenmod based ROMs (CM, Carbon, AOKP, etc) you must use the kernels from the CM folder (cm or cm-mpd) . You can flash a f2fs version on CM. Read post 2, the Q&A section.

*mpd stand for MPDecision (make poor decision). It's qualcomm's user-space implementation for plugging/unplugging the cores. Some people say it's bad, some people say it's good. I personally like it and use it
Last edited by big_bum; 21st November 2014 at 09:31 PM.
The Following 4 Users Say Thank You to big_bum For This Useful Post: [ View ]
6th June 2014, 11:03 AM |#4  
Laurentyu1995's Avatar
Senior Member
Flag Oradea
Thanks Meter: 477
 
More
That's cool man ! Thank you for sharing this with us !

Sent from my Nexus 5 using XDA Free mobile app
The Following User Says Thank You to Laurentyu1995 For This Useful Post: [ View ]
6th June 2014, 11:49 AM |#5  
Member
Mumbai
Thanks Meter: 7
 
More
Nice one

Sent from my Nexus 5 using Tapatalk
The Following User Says Thank You to DoxMAZz For This Useful Post: [ View ]
6th June 2014, 03:00 PM |#6  
info[]box1's Avatar
Senior Member
Flag -5 Eastern
Thanks Meter: 557
 
More
Thanks for sharing your kernel with us. Specs and notes sounds great, looking forward to running this.

-Sent from my Almighty Nexus 5 Hammerhead using XDA Premium 4 mobile app
6th June 2014, 04:10 PM |#7  
razorsbk's Avatar
Member
Flag Bucharest
Thanks Meter: 8
 
Donate to Me
More
Best kernel in 'da hood !

WoW !
Attached Thumbnails
Click image for larger version

Name:	memegen.jpg
Views:	2490
Size:	47.3 KB
ID:	2783923  
The Following 2 Users Say Thank You to razorsbk For This Useful Post: [ View ]
6th June 2014, 04:15 PM |#8  
Senior Member
Thanks Meter: 69
 
Donate to Me
More
Downloading.
The Following User Says Thank You to Akr706 For This Useful Post: [ View ]
6th June 2014, 04:47 PM |#9  
DREWHAMM974's Avatar
Senior Member
Flag Athens, Alabama
Thanks Meter: 584
 
Donate to Me
More
No disrespect, but since this is based on Franco this should be in Android Development. The mods will more than likely move it there soon.

Sent from my Nexus 5 using XDA Premium 4 mobile app
The Following User Says Thank You to DREWHAMM974 For This Useful Post: [ View ]
6th June 2014, 05:08 PM |#10  
Spectrum75's Avatar
Senior Member
Flag Heraklion
Thanks Meter: 331
 
More
Welcome and very nice OP
The Following User Says Thank You to Spectrum75 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
f2fs, franco, hybrid, kernel, linaro
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes