Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,813,836 Members 41,419 Now Online
XDA Developers Android and Mobile Development Forum
Announcement from big_bum: I thought a lot about posting this here, but I finally decided to share my custom kernel with you.

[KERNEL] [Franco hybrid] [AOSP/CM] [F2FS] [3.4.103] big-bum V26

Tip us?
 
big_bum
Old
(Last edited by big_bum; 19th July 2014 at 10:42 AM.)
#1  
big_bum's Avatar
Senior Member - OP
Thanks Meter 743
Posts: 710
Join Date: Sep 2012
Location: Bucharest

 
DONATE TO ME
Default [KERNEL] [Franco hybrid] [AOSP/CM] [F2FS] [3.4.103] big-bum V26

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

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!



Quote:
It has the base of Franco, and the optimizations of the Linaro kernel, compiled with Linaro 4.9.2.
I didn't like Linaro kernel because of faux sound patches and the fact that I have to pay for the app (and some other things that I won't discuss here).
I didn't like Franco because it only has -O2 as build flags.
I decided that I wanted to have the best of both kernels, so I built myself a custom hybrid one.
Text source
Features:
  • all franco's kernel features
  • Lianro's (LaboDJ's) compile optimizations and a few other commits "stolen" from him
  • exfat for mounting exfat formatted sticks via USB OTG or if you have an exfat formatted internal memory
  • f2fs for mounting f2fs formatted sticks via USB OTG or if you have an f2fs formatted internal memory
  • 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 (Chaos, Uber and Code_Blue especially)
  • min default CPU freq: 300MHz
  • max default CPU freq: 2.26GHz
  • overclock possibility up to 3.01GHz, with the following freq steps: 2.4GHz, 2.72GHz, 2.80GHz, 2.88GHz
  • CPU under/overvolting possibility
  • default CPU governor: blu_active (the same one which Code Blue kernel uses)
  • available CPU governors: ondemand, interactive (the one from franco's original work)
  • hotplug: blu_plug (the same one which Code Blue kernel uses). I've changed from mako_hotplug to this one.
  • hotplug special tunables: powersave mode, min/max CPUs online, max CPUs online when screen is off, max freq when screen is off
  • I/O readahead size: 512KB
  • I/O default schedueler: BFQ v7r5
  • available I/O scheduelers: noop, deadline, row, cfq, zen
  • dynamic fsync. When screen is on, file syncing is disabled. Once you turn off the screen, sync will be enabled
  • GPU min/max 100/450MHz
  • GPU default governor: interactive
  • GPU available governors: ondemand, performance
  • color profiles. Based on franco, works with FKU or Nexus Display Control app.
  • franco sound
  • high performance mode sound driver, enabled by default
  • 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/
  • fast charge from faux123. This enables a custom mode where you can input your maximum input amperage, from 500mAh to 2000mAh, with the following steps: 500mAh, 900mAh, 1200mAh, 1500mAh, 2000mAh. I don't recommend setting anything more than 1200mAh.
  • KSM: Kernel Samepage Merging.
  • msm thermal driver v2 from faux
  • cpu boost driver
    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
  • 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), highspeed, hybla, vegas, veno, scalable, lp, yeah, illinois. (I will get rid of 90% of this, since I'm 100% sure that 99% of the Internet users don't even know what these are.) (https://github.com/StefanescuCristian/hammerhead/commit/2c8947b6403074d6c272a1b01076d55e2dd08ac1)
  • compilled with latest Linaro GCC (4.9.2)
  • I probably forgot something

Changelog:
Here
or
Here

Questions:

- 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."

- It's not CAF compatible, right?
- Right. At least, not by default. I didn't test it, so I don't know if it works 100%.
EDIT (08.Jul.2014): read this.

- I want feature X/Y/Z included in this kernel.
- No you don't. You're not using my kernel. I'm the only one using it. Who are you? Oh God, I forgot to take my medication again!

- How can I configure it?
1. Universal Kernel Manager (Synapse + Script). Flash kernel, flash the zip from the link, install Synapse.
2. FKU
3. Kernel Tweaker
4. Trickster Mod, via scripts in init.d, etc.
I'd personally go with the first two.

- I like your kernel!
- Thanks! I'm happy that you're happy! But you know what will make happier? Going here and here and pressing the thanks button for the original developers. You're just 4 clicks away from making 2 people happy.
Think of me as a man who wants to use and share his custom kernel. Full credits and respect goes to Franco and LaboDJ and to other people who work on Linux kernel.
I'm not posting this to steal their users, I'm posting this because I don't think I am the only one who thought of combining Franco and some of Linaro Kernel, but people don't know how or don't have time to do that.

- I don't like your kernel!
- No worries! We're still cool.

Download and flashing:

You can download from:
my FTP
my other FTP

Please check the MD5, especially when downloading from my FTP and you're not from Europe!
You can flash this in FKU, flashify, fastboot, etc, just like a normal boot.img. Zips go in recovery.

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.

Special thanks for testing: @_MirageX_ @dox81

Sources.
Ramdisk: https://github.com/StefanescuCristia...isk_hammerhead
Toolchain: https://github.com/Christopher83/linaro_toolchains_2014

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

XDA:DevDB Information
[KERNEL] [Franco hybrid] [AOSP/CM] [F2FS] [3.4.103] big-bum V26, Kernel for the Google Nexus 5

Contributors
big_bum
Kernel Special Features: -Ofast, KSM, BFQ, ZEN, f2fs, CM (non-CAF way)

Version Information
Status: Stable
Current Stable Version: 26
Stable Release Date: 2014-09-21

Created 2014-07-07
Last Updated 2014-09-21
Attached Thumbnails
Click image for larger version

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

Name:	2014-06-03 16.58.15.png
Views:	4223
Size:	201.7 KB
ID:	2783484  

Register on Dropbox and both of us get 500MB for free!
Nexus 5 kernel
Bumberry Pi - a blog running on a Raspberry Pi about Raspberry Pi running a blog.
The Following 53 Users Say Thank You to big_bum For This Useful Post: [ Click to Expand ]
 
big_bum
Old
(Last edited by big_bum; 13th July 2014 at 09:03 PM.)
#2  
big_bum's Avatar
Senior Member - OP
Thanks Meter 743
Posts: 710
Join Date: Sep 2012
Location: Bucharest

 
DONATE TO ME
Default Reserved

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.
 
big_bum
Old
(Last edited by big_bum; 13th July 2014 at 09:03 PM.)
#3  
big_bum's Avatar
Senior Member - OP
Thanks Meter 743
Posts: 710
Join Date: Sep 2012
Location: Bucharest

 
DONATE TO ME
Default Reserved

Reserved
 
Laurentyu1995
Old
#4  
Laurentyu1995's Avatar
Senior Member
Thanks Meter 476
Posts: 1,135
Join Date: Apr 2012
Location: Oradea
That's cool man ! Thank you for sharing this with us !

Sent from my Nexus 5 using XDA Free mobile app
LG Nexus 5 16GB ( D821 )

ROM:Android L Preview LPV79
KERNEL:Stock
Recovery:Stock
Baseband:M8974A-2.0.50.2.08
H/W rev 11; PVS 2

Samsung Galaxy S Plus ( GT-I9001 )

ROM:CM11 ION Release 8 by ADC Team
KERNEL:K^Kernel v2.4 OC/ExUV
Recovery: TWRP 2.7.1.0 by ADC Team
Governor and I/O scheduler:SmartAssV2 and SIO (368-1824 MHz)
Baseband:BUKP4
H/W Revision 0x06
The Following User Says Thank You to Laurentyu1995 For This Useful Post: [ Click to Expand ]
 
DoxMAZz
Old
#5  
Member
Thanks Meter 7
Posts: 59
Join Date: Nov 2013
Location: Mumbai
Nice one

Sent from my Nexus 5 using Tapatalk
Current Device: Nexus 5 (Hammerhead)

Retired Device(s): HTC Inspire 4G
HTC Explorer(pico)
SAMSUNG Galaxy fit
The Following User Says Thank You to DoxMAZz For This Useful Post: [ Click to Expand ]
 
info[]box1
Old
#6  
info[]box1's Avatar
Senior Member
Thanks Meter 494
Posts: 2,638
Join Date: May 2009
Location: -5 Eastern
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


HTC One M8 powered by the XDA's Finest Android OS & Linaro ROM Developments

Backup 1: HTC Touch Pro 2 (Custom WM 6.5.x OS)
Backup 2: BlackBerry Bold (Custom Hybrid OS)

Tablet: Asus Transformer Pad TF300T (stock 4.2.1)


Signup for a Dropbox Account -=-=-=> Here
 
razorsbk
Old
#7  
razorsbk's Avatar
Member
Thanks Meter 8
Posts: 86
Join Date: Jul 2010
Location: Bucharest

 
DONATE TO ME
Best kernel in 'da hood !

WoW !
Attached Thumbnails
Click image for larger version

Name:	memegen.jpg
Views:	1021
Size:	47.3 KB
ID:	2783923  
The Following 2 Users Say Thank You to razorsbk For This Useful Post: [ Click to Expand ]
 
Akr706
Old
#8  
Senior Member
Thanks Meter 64
Posts: 148
Join Date: Apr 2014

 
DONATE TO ME
Downloading.
The Following User Says Thank You to Akr706 For This Useful Post: [ Click to Expand ]
 
DREWHAMM974
Old
#9  
DREWHAMM974's Avatar
Senior Member
Thanks Meter 582
Posts: 709
Join Date: Dec 2012
Location: Athens, Alabama

 
DONATE TO ME
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: [ Click to Expand ]
 
Spectrum75
Old
#10  
Spectrum75's Avatar
Senior Member
Thanks Meter 127
Posts: 164
Join Date: Dec 2013
Location: Heraklion
Welcome and very nice OP

The Following User Says Thank You to Spectrum75 For This Useful Post: [ Click to Expand ]
Tags
f2fs, franco, hybrid, kernel, linaro
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes