yashsingh1/xdaforums huggingface dataset:
[Nexus 5 Original Android Development] danarama:
The steps are in post 1
[Nexus 5 Original Android Development] robertostorm:
So just flashing recovery, wiping, and done?
[Nexus 5 Original Android Development] danarama:
No. Read post 1. The steps are there.
[Nexus 5 Original Android Development] AJM-hackers:
[MENTION=5499742]dennes544[/MENTION] Have you tried extra compression like rar and then get the users to extract it? When you update I will be sure to help you out with your internet as thanks for a blazing fast Nexus ;).
[Nexus 5 Original Android Development] dechronic:
Here is a link to a set of tools I modified and put together for the express purpose of running a ROM with F2FS-DATA or F2FS-ALL partitions to make our Nexus 5 phones to run more fluidly.

http://xdaforums.com/google-nexus-5/development/nexus-5-f2fs-tools-t2801977
[Nexus 5 Original Android Development] 91ludesit:
Are these kernels ever going to be updated to work with 4.4.4? I had to abandon F2FS because I couldn't get 4.4.4 and it to play along with one of these kernels.
[Nexus 5 Original Android Development] kdh2834:
I had it working fine with 4.4.4 i dont know about the aosp kernel in this thread but other custom kernels work without any problem. If u dont like to use custom kernels or wait for the new update stop complaining. Cos complaining wont make dev update faster.
[Nexus 5 Original Android Development] 91ludesit:
That was barely English. I flashed the aosp version on top of a 4.4.4 rom and then flashed elementalx and mobile data didn't work.

I'd like to know what you did to get mobile data working.
[Nexus 5 Original Android Development] Koopa777:
It's your ROM. The kernel posted works with F2FS and EX 1.00. I used it on PA 4.4 Final with no issues.
[Nexus 5 Original Android Development] kdh2834:
Sorry about my english.

I had no problem with mobile data. Which rom do u use? I had no problem with rasta, PA, stock etc.
[Nexus 5 Original Android Development] 91ludesit:
N5x rom, hmm maybe I need to switch. It was odd, it would not connect to my mobile network. Then when you could go to settings and select mobile data it would just crash.
[Nexus 5 Original Android Development] dechronic:
Try formatting or wiping the cache in a recovery.
[Nexus 5 Original Android Development] 91ludesit:
I did a full factory restore from the factory 4.4.4 image. Then I installed TWRP, formatted data to F2FS, wiped everything, installed n5x from http://n5x.mobi, then installed the AOSP kernel in the OP, then installed EX. It booted just fine but no connection to mobile data. Tried this procedure twice and it would still not connect.

I'm going to try it with the CAF versions and see if there is a different outcome.

EDIT: So I tried the exact same procedure with the CAF versions of everything. Its all working as expected now and F2FS is grand once again. It may just be me but it appears that CAF is far more responsive.
[Nexus 5 Original Android Development] dechronic:
That's good you got through. I converted the ROM I am using (Beanstalk) to F2FS-ALL and the kernel to F2FS-ALL as well.

Runs so smooth, even boots a little faster to me.

I am using a CM F2FS kernel (modified to F2FS-ALL). I loved how the CAF kernels worked as well. Just have to try out a couple and see what happens.
[Nexus 5 Original Android Development] dennes544:
Source updates on my github
[Nexus 5 Original Android Development] dennes544:
Working on f2fs for android L, system boots, but after reboot always "optimizing apps"

problem with SELinux.

E/SELinux ( 187): SELinux: Could not set context for /data/dalvik-cache/profiles: Permission denied

E/installd( 187): cannot restorecon profile dir '/data/dalvik-cache/profiles': Permission denied
[Nexus 5 Original Android Development] danarama:
There's no dalvik vm in L, perhaps that's why
[Nexus 5 Original Android Development] dennes544:
dalvik-cache still using

log of one of dex2oat:

I/art ( 1040): DexFile_isDexOptNeeded profile file /data/dalvik-cache/profiles/com.android.nfc doesn't exist

I/PackageManager( 1040): Running dexopt on: com.android.nfc

I/auditd ( 189): type=1400 audit(0.0:91): avc: denied { relabelfrom } for comm="installd" name="profiles" dev="mmcblk0p28" ino=2684 scontext=u:r:installd:s0 tcontext=u:object_r:dalvikcache_data_file:s0 tclass=dir

E/SELinux ( 189): SELinux: Could not set context for /data/dalvik-cache/profiles: Permission denied

E/installd( 189): cannot restorecon profile dir '/data/dalvik-cache/profiles': Permission denied

I/dex2oat ( 1657): /system/bin/dex2oat --zip-fd=6 --zip-location=/system/app/NfcNci.apk --oat-fd=7 --oat-location=/data/dalvik-cache/arm/system@app@NfcNci.apk@classes.dex --profile-file=/data/dalvik-cache/profiles/com.android.nfc --instruction-set=arm
[Nexus 5 Original Android Development] danarama:
Did you check the permissions?
[Nexus 5 Original Android Development] dennes544:
how? cant without root. root dont working
[Nexus 5 Original Android Development] danarama:
L can be rooted, yes.
[Nexus 5 Original Android Development] dennes544:
Fixed f2fs. soon wait L's f2fs kernel!!!
[Nexus 5 Original Android Development] Somairotevoli:
Would you be willing to do a f2fs-all version?

Sent from my Nexus 5 using Xparent Skyblue Tapatalk 2
[Nexus 5 Original Android Development] vboyz103:
I finally had a chance to sit down and put my 2 N5s together and did some test, some results as follow:

Device 1:

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

Vanir AOSP Android 4.4.4 (070314 nightly)

Franko kernel r53 test (no OC, CPU speed set at 2.26Ghz)

F2FS-ALL filesystem

Device 2:

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

Android L stock

Stock Kernel with stock speed should be 2.26Ghz

Ext4 filesystem

Tests: (three rounds of each)

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

Androbench:

Device 2 > Device 1 --- Random/Sequential Read-Wite and Macro Benchmark beat out F2FS hands down

Device 1 > Device 2 --- SQLite ops on F2FS are way ahead of EXT4

Playstore apps install: IMO, it's more practical and applicable then benchmark tools

Device 1 > Device 2 --- F2FS just killed EXT4 by at least 50% margin.

I installed 3 games with different sizes (43, 68, 100+ MB) on each device...using stop watch on each device, I downloaded the apps over Wifi. Right at the moment where it said "Installing" is when I start hitting that stopwatch to measure the time immediately (well +- some milliseconds margin of errors).

Observation was F2FS averages out to be 5 seconds from "Installing..." state to finish which is "Open/Uninstall" state in the same Playstore windows. On the flip side, EXT4 is averaging 11 seconds with the same observed states.

So that's just some analysis in terms of practical use case, if you have an other idea or results to share, please post.

I really wanted to find more practical benchmark to really make the call to go straight F2FS or not. Initial tests shows promises...
[Nexus 5 Original Android Development] rachanta:
What about device commits? We can use only after making device also f2fs isn't it? Which means you need to make your own L ROM build.
[Nexus 5 Original Android Development] danarama:
No. File system support is in the kernel only
[Nexus 5 Original Android Development] rachanta:
I had to use dennes's device commits in addition to kernel commits in my builds to get the ROM to recognize f2fs formatted internal storage and data.
[Nexus 5 Original Android Development] danarama:
I've never had to do this... Maybe the Rom I use already has this, but I didn't think so but if it's confirmed working on L, they can't be required
[Nexus 5 Original Android Development] rachanta:
I need to check this out. I will try this with the L kernel that I plan to buid. For my previous f2fs builds i have followed dennes's implementation and as per op, device too needs patches, so I used his commits.
[Nexus 5 Original Android Development] danarama:
Please can you report your findings here? I'm confused now.
[Nexus 5 Original Android Development] akash3656:
Nice test but you left too many variables.

1. ART is known to need more time to install apps. Device 1 could have run dalvik, we don't know as you did not state the run time.

2. Even if both devices were running ART, ART on Android L is quite different from ART in KK. So app install times could be very different just because of the different OS difference.

The 2 points above make your test of Play Store installation times pretty meaningless.

The other benchmarks, I can not comment, but it would be better if both devices ran the same ROM and kernel just with different file systems.
[Nexus 5 Original Android Development] Koopa777:
Testing via an application graphics draw is bad IMO. Play Store could lag and skew results. Isn't there a program like ATTO or Crystalmark for Android? Sequential R/W, 4K Random, etc.

---------- Post added at 10:40 AM ---------- Previous post was at 10:38 AM ----------

Runtime should have nothing to do with raw I/O performance. Installing apps impacts dynamic I/O, but the peak performance is constant.
[Nexus 5 Original Android Development] dennes544:
News. f2fs on L kernel working slower then ext4. root dont working at all. i think its because google fully rewrited sepolicy on android L. i will continue working on it, but i cant guarantee anything.
[Nexus 5 Original Android Development] vboyz103:
Right, I should've have both N5s running on Vanir ROM to be fair.

BTW, Device 1 I had it run on Dalvik and not ART.

However, testing with Antutu it shows Device 1 (with Vanir) has 10000+ points higher than Device 2 (with Android L). Again, it might be skewed due to the fact Vanir might have heavy optimization.
[Nexus 5 Original Android Development] Koopa777:
F2FS is just a file system, nothing more. I/O benefits, but CPU, GPU, etc are not affected by F2FS at all. The score should improve, but sure as hell not by 10K points. By that logic, the Moto X, which runs F2FS, should benchmark higher than most devices. Also remember that most benchmarking apps haven't improved their algorithms since the Gingerbread days. Use a I/O benchmark for accurate results. [emoji6]
[Nexus 5 Original Android Development] dechronic:
True. I find that the load time of certain apps is better although part of it seems to be also attributed to the kernel's governor of the custom kernel I am using.
[Nexus 5 Original Android Development] slv96:
How can I add support for F2FS all (including /system and /cache) in kernel sources?
[Nexus 5 Original Android Development] dechronic:
You can probably ask some of the kernel devs about that one. But basically from what I understand is you just add the F2FS commits and any patches to the source. To make a kernel F2FS-ALL I just modify the fstab.hammerhead in the ramdisk and modify the entire line of /system /data and /cache. You can unpack one of the kernels I uploaded and see. I only mod kernels that already support F2FS in the image. So from the fstab.hammerhead you can modify just the /data line for F2FS-DATA or /system /data and /cache for F2FS-ALL
[Nexus 5 Original Android Development] slv96:
It is more simple :D is there any guide that you followed? :)
[Nexus 5 Original Android Development] dennes544:
F2FS updates soon!
[Nexus 5 Original Android Development] dechronic:
I have some tools to convert ROMS and kernels to F2FS here: http://xdaforums.com/google-nexus-5/development/nexus-5-f2fs-tools-t2801977

This modified version of Android Image Kitchen can be used to automatically unpack and repack a kernel adding F2FS to the ramdisk file, fstab.hammerhead. This does not mean it will work if the kernel does not have the necessary F2FS commits to the kernel image.

Note: As this tool replaces the fstab.hammerhead with a generic one and then modifies it according to your choice, f2fs-data or f2fs-all, you will lose the ability to mount exFAT formatted USB sticks if the kernel supports it.

It can be downloaded here: http://d-h.st/vuZ

If you want to keep the ability to mount the exFAT, link me to the kernel and I will modify it myself if you wish.

I will try and update the Android Image Kitchen to look for the line to mount the exFAT partitions and then add it to the ramdisk file if the kernel image supports it.

EDIT: Tools are for Windows users
[Nexus 5 Original Android Development] slv96:
Ok, thanks! Tomorrow I will link you my kernel with f2fs Support and then i will compare ramdisks and push changes in sources!
[Nexus 5 Original Android Development] dennes544:
Soon ill release updates for f2fs and also now im updating ext4 on hammerhead
[Nexus 5 Original Android Development] danarama:
So just to clarify, to add f2fs to the kernel that compiles with the ROM in my repo, I need to cherry pick all the commits in the AOSP kernel tell, cherry pick all the device patches, add the f2fs tools and cherry pick the f2fs tools patch too?
[Nexus 5 Original Android Development] bigdave79:
I'm running my own build of liquidsmooth with Uber kernel. I managed to get the ROM and kernel to compile with f2fs support for the data partition just by editing the fstab.hammerhead file (under android_device_lge_hammerhead) by just editing the line for the data partition. I didn't have to add all those other commits as I think some of them are specific to TWRP, but it may depend on what you are building. You can check out the change I made here: https://github.com/bigdave79/androi...mmit/42a07751c9e0f23a34f9662bc8038a4e6038c64a
[Nexus 5 Original Android Development] danarama:
Thanks I'll check it out.

I'm building slimKat. I don't actually use the slimkat kernel - in use faux, however that needs a RAMdisk to be in place. I've been flashing the AOSP kernel from the OP to get the RAMdisk but I lose features that way, most notably OTG auto mount
[Nexus 5 Original Android Development] bigdave79:
I'm a total noob so take what I am saying with a hefty pinch of salt... If you are building using the default slim manifest you are probably using the ramdisk from https://github.com/SlimRoms/device_lge_hammerhead. You could just fork that project and change the relevant data line in fstab.hammerhead. Then use a local_manifest to redirect your build to incorporate your version of the project. That's what I did (with the liquidsmooth version) and it worked like a charm. You wouldn't be messing with the commits for USB OTG and you should have both f2fs data and USB OTG working. Try it and see. I might be completely wrong but even if it didn't work you could just delete your local_manifest file and be back to where you started.
[Nexus 5 Original Android Development] danarama:
Just to confirm, this worked great.
[Nexus 5 Original Android Development] adichandra:
Wow. Just wow. Thanks for this. Flashed purity rom with elemental x. This thing screams.
[Nexus 5 Original Android Development] dennes544:
Wait for some time. I'll update sources
[Nexus 5 Original Android Development] sileniusmike:
I installed the AOSP kernel and now its asking for a password to decrypt my storage? What is it? I never made a password of any kind for this.
[Nexus 5 Original Android Development] dennes544:
Did u format data with my recovery?
[Nexus 5 Original Android Development] sileniusmike:
Sure did. It even said it was formatting using f2fs.

Alright, I formatted back using ext4 and its still asking for a password to decrypt my storage...
[Nexus 5 Original Android Development] dennes544:
Hmmm... Can u give me output of "adb logcat" and "cat /proc/kmsg" ( w/out quotes"
[Nexus 5 Original Android Development] AJM-hackers:
Any news about dem updates? The last one was in April(I'm addicted). ;) :angel:
[Nexus 5 Original Android Development] dennes544:
Sorry, I haven't too much free time now. I beginning learning in collage and will have maximum 1 hour free time in day. I'll release 1-2 updates and then idk.
[Nexus 5 Original Android Development] AJM-hackers:
Sorry to hear that :( . But thanks for al you've done and any update would do fine :) .
[Nexus 5 Original Android Development] dennes544:
Of course I'll not just close this awesome project. Its mine first serious work!
[Nexus 5 Original Android Development] :
Do roms need to support f2fs as well? Because I can't boot after flashing certain roms, even after flashing a f2fs kernel.
[Nexus 5 Original Android Development] dennes544:
No. F2FS support only in kernel. Maybe u didn't format /data in my recovery?
[Nexus 5 Original Android Development] :
Yes I did. As I said, i don't have problems with some roms. I currently use slimrom with bigbum f2fs kernel. If I use some other roms with exactly the same kernel, I get stuck at boot.
[Nexus 5 Original Android Development] dennes544:
Well, try CAF(CM) kernel instead of aosp
[Nexus 5 Original Android Development] cocchiararo:
If i am using AOSPA (Paranoid Android), as it comes, and want to try f2fs, should i pick the AOSP kernel, or what?
[Nexus 5 Original Android Development] dechronic:
Did you modify the updater scripts of the Roms to mount the /system and /data partitions with busybox as they usually mount the /system and /data as EXT4?
[Nexus 5 Original Android Development] desalesouche:
hi sir .can you provide an example of that? any link?

i am right now working on f2fs for my device and i might need this

thank you..

regards
[Nexus 5 Original Android Development] danarama:
Updater-script in ROM.zip sometimes format partition as ext 4. Check the script of your ROM.
[Nexus 5 Original Android Development] desalesouche:
here is the beginning of my updater-script.... any suggestion?

i just changed data to f2fs....

http://pastebin.com/TVqWeJ7z
[Nexus 5 Original Android Development] danarama:
Depends what you want. Personally i feel no point making /system f2fs. Only /data.

If you want system as f2fs, you'll need to change the format ext4 lines.
[Nexus 5 Original Android Development] Dodgexander:
I can't get this to work with AOSPA trying f2fs also on system. Even after converting the rom using the tool or updating user script manually to replace ext4 with f2fs, always halts on error in updater binary.

If I don't alter script rom installs fine, but with only data formatted as f2fs.

Edit# Nevermind, Got it to work by following instructions here.

I think the key was repacking the modified kernel into the ROM.zip, then converting it using the tool too f2fs all. You can skip the kernel bit if your kernel already has support for f2fs. (Apart from elemental x that doesn't include the ram disk).
[Nexus 5 Original Android Development] PAIIITET:
I had a couple of reboots. how to check for file system errors? (aka CHKDSK for windows)
[Nexus 5 Original Android Development] danarama:
Put attached fsck.f2fs in /system/bin then reboot to recovery,

In adb shell, do not mount data

fsck.f2fs -d 1 /dev/block/platform/msm_sdcc.1/by-name/userdata

Won't fix, just detect. Format will fix

There are different debug (-d) levels. I'll be honest I dont know what the difference is. You can -d 0, -d 1, -d 2, etc
[Nexus 5 Original Android Development] dennes544:
Hello everybody! Sorry for i didnt release new kernels with f2fs and new f2fs backports at all. Now im got free time, and beginning backport from scratch, firstly on Lollipop, after on KK if you will need it. I cant tell any ETA, cuz dont know how much time it will take now.

Dennes [MENTION=5499742]dennes544[/MENTION]
[Nexus 5 Original Android Development] NuLLV01D:
[MENTION=636360]koe1974[/MENTION]

Could You Please Update Your F2FS Franco Kernel Builds to the Latest r63(Last Release for KitKat). Would Really Appreciate It. Thanks in Advance!
[Nexus 5 Original Android Development] dechronic:
I added them to the franco kernel thread at this post http://xdaforums.com/showpost.php?p=56743220&postcount=36746
[Nexus 5 Original Android Development] Technecium:
Sorry, but I have no plans to.
[Nexus 5 Original Android Development] cocchiararo:
Hi

I had planned to tackle this (first in my nexus 5, then nexus 7), but i kinda forgot >P

I am now on official lollipop, and by chance, i saw the option in TWRP to change partition type, and F2FS was an option (i am only intrested in doing it on the data partition).

Do we need a special kernel still, even if the option is there in the recovery? I think i had abandoned this cause i saw people having issues with Faux Kernel (which i am not using now, migth try Elemental X or Hellscore tho)
[Nexus 5 Original Android Development] killer23d:
The kernel still needs to have support for f2fs, and I have not seen a new ROM converter for 5.0 yet. There is a new file structure on 5.0 ROM and I think even I am on ext4, the phone is still fast.
[Nexus 5 Original Android Development] dechronic:
I got F2FS for the /data and /cache partitions working on Lollipop.

Format your /data partition to F2FS (NOTE: This will erase all user data!!)

Download this modified stock kernel: http://d-h.st/Jx4 (Only the ramdisk has been modified, booting with this will most likely prevent access to your sdcard, so don't boot it.)

Download the latest ElementalX 2.XX kernel: http://xdaforums.com/showpost.php?p=47286518&postcount=1 Thanks to flar2

Install the modified stock kernel and without booting or rebooting, install the ElementalX kernel.

Reboot and you will have F2FS for the /data partition.

If you have problems accessing or writing to the /sdcard for any reason, flash "sdcard Fix Permissions script" from here http://xdaforums.com/showpost.php?p=40409356&postcount=1. Thanks to osm0sis
[Nexus 5 Original Android Development] cocchiararo:
Any tip getting my data back there, or need I start fresh? (Not sure if restoring a nandroid backup would work if the partition has changed).

Nexus 5 - Tapatalk
[Nexus 5 Original Android Development] dechronic:
Yes.

Backup all apps and their data with Titanium Backup or something similar.

Then,

Download the data to your computer using the command:

adb pull /sdcard c:\sdcard_backup

(C:\sdcard_backup is an example)

Then to put it back use:

adb push c:\sdcard_backup /sdcard

You should also sideload or adb push and install a file called cwm-fixpermissions or something similar from osm0sis thread.

Boot the device and restore the apps and data from Titanium Backup

That is what I did.

Sent from my Nexus 5
[Nexus 5 Original Android Development] cocchiararo:
Ok, so i guess a nandroid restore from the data partition while it was an ext4 one is not a valid option ? XD (i use TiBu, but i never use it for the system stuff, so a good deal of manual config will be needed, since loosing the data partition is the same as a factory reset).
[Nexus 5 Original Android Development] dechronic:
You know what I never tried to restore a nandroid backup from another file system. It was something I wanted to try. You can try it and then check the file system with TWRP. To do that tap wipe, advanced wipe and tap Data (or is it the internal storage?) and tap change or repair file system. At the top indicates what file system is being used for that partition. If after the nandroid restore it still says ext4 although you formatted it as f2fs then you will know it replaced the file system for the data partition.

Sent from my Nexus 5
[Nexus 5 Original Android Development] cocchiararo:
will try that today and report back.
[Nexus 5 Original Android Development] dechronic:
Thanks. It will be for my benefit too

Sent from my Nexus 5