[ONE General] gulp79:
All-F2FS Partitions for Oneplus One

I am not responsible for any damage to your phone.

Make always a full nandroid backup.

Read before downloading or posting in the thread.

Proceed with caution if you have no experience.

Again, make always a full (including /data/media) nandroid backup.

[ What is F2FS ]

http://www.cnx-software.com/2013/01/15/f2fs-a-new-flash-file-system-for-mobile-devices-elce-2012/

http://www.xda-developers.com/android/f2fs-put-to-the-test-against-ext4/

http://en.wikipedia.org/wiki/F2FS

[ TESTED WITH ROMs ]

CM12 nightly

CM11 nightly

Temasek

Slim Saber (tested by [MENTION=5165039]Setting.Out[/MENTION])

CM11S stock using complete guide with ak boot.img from CM11S kernel. (tested by [MENTION=4394458]Leicxan[/MENTION])

Calkulin's_OPO_ROM (tested by [MENTION=371391]DarkAngel-81[/MENTION])

Madhi

Gummy (tested by [MENTION=5165039]Setting.Out[/MENTION])

EOS (tested by [MENTION=5165039]Setting.Out[/MENTION])

Slim (tested by [MENTION=5165039]Setting.Out[/MENTION])

For CM12 use this guide:

F2FS for CM12.X

(if you test other roms, please report here, so we can track working roms)

Use these recoverys to work with F2FS partitions:

CWM Advanced Edition - PhilZ Touch

or

TWRP

this guide for All-F2FS on OPO is based on guide of ronedogg.

Original thread: http://xdaforums.com/showthread.php?t=2694201

[ Prebuild ROM ]

Download a F2FS ready ROM:

CM-11-20141203-NIGHTLY-bacon-F2FS

CM-11S-XNPH33R-bacon-signed-F2FS

Calkulin's stock rooted XNPH33R-F2FS (thanks to [MENTION=4319459]LookedPath[/MENTION])

Madhi 8-30 build-F2FS (thanks to [MENTION=674332]SchmilK[/MENTION])

SlimSaber-F2FS (thanks to [MENTION=479071]dexxa05[/MENTION])

Droidkang-F2FS (thanks to [MENTION=674332]SchmilK[/MENTION])

Carbon-F2FS (thanks to [MENTION=5165039]Setting.Out[/MENTION])

1. Flash Philz Recovery with F2FS support.

WARNING make a FULL nandroid backup, and place it on external storage, also SD partition will be formatted

2. Boot to the Philz Recovery, format /system /cache and "/data and /data/media" to F2FS

3. Flash the downloaded modified rom, (install the gapps.zip if needed) and AK Kernel for your rom.

4. Reboot & enjoy the new speed!

[ Easy Way First time format in F2FS]

[ without using a prebuild F2FS enabled rom ]

1. Download latest CM nightly or CM11S

2. Download:

F2FS-ALL-CM11.zip for CM11

F2FS-ALL-CM11S.zip for CM11S ( tanks to [MENTION=5165039]Setting.Out)[/MENTION]​

and extract boot.img and updater-script

3. Copy the extracted boot.img in rom zipfile overwriting original one (tested with 7zip)

4. Copy the extracted updater-script in rom zipfile overwriting original one, for cm11 is located under .\META-INF\com\google\android\.

5. Flash Philz Recovery with F2FS support.

WARNING make a FULL nandroid backup, and place it on external storage, also SD partition will be formatted

6. Boot to the Philz Recovery, format /system /cache and "/data and /data/media" to F2FS

7. Flash the modified CM nightly zipfile, the gapps.zip and AK Kernel ( for this step, i've used an OTG cable and an external hdd, because the phone now is completely empty, or use ADB sideloading)

8. Reboot & enjoy the new speed!

[ Easy Way Upgrading a rom with partition already on F2FS ]

[ without using a prebuild F2FS enabled rom ]

1. Download latest CM nightly (https://download.cyanogenmod.org/?device=bacon)

2. Download F2FS-ALL-CM11.zip and extract boot.img and fstab.grouper

3. Copy the extracted boot.img in the CM nightly zipfile overwriting original one

4. Copy the extracted fstab.grouper in the CM nightly zipfile overwriting original one, located under .\META-INF\com\google\android\

5. Flash the modified CM nightly zipfile, and AK Kernel

6. Reboot

[ Complete guide to manually modify the rom ]

This is the exact procedure i've used for CM11 (OPO ready)

to unpack/repack the boot.img i've used http://boot-repacker.blogspot.it/

Oneplus ONE - CM Nightly with All-F2FS

1. Download latest CM nightly

2. Download AK kernel zipfile

3. Open CM nightly zipfile, extract the boot.img

4. Open AK kernel zipfile, extract the zImage and rename it boot.img-zImage

5. Unpack the boot.img in step3

6. Replace the boot.img-zImage in step5 with AK boot.img-zImage (step4)

7. Replace fstab.grouper content with this one

# Android fstab file.
#
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/msm_sdcc.1/by-name/system /system f2fs ro,noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait,nonremovable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait

/devices/platform/xhci-hcd* auto auto defaults voldmanaged=usbdisk:auto

8. Repack boot.img place it back in the CM nightly zipfile

9. On the CM nightly zipfile, edit updater-script and edit these lines:

mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data");

replace it with

run_program("/sbin/busybox", "mount", "/data");

this

mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");

replace it with

run_program("/sbin/busybox", "mount", "/system");

and these

format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");

replace with

run_program("/sbin/mkfs.f2fs", "/dev/block/platform/msm_sdcc.1/by-name/system");
run_program("/sbin/busybox", "mount", "/system");

10. Save the updater-script and put it back to the zipfile. CM nightly zipfile is complete and ready for flashing.

11. Flash Philz Recovery with F2FS support.

WARNING make a FULL nandroid backup, and place it on external storage, also SD partition will be formatted

12. Boot to the Philz Recovery, format /system /cache and "/data and /data/media" to F2FS

13. Flash the modified CM nightly zipfile, the gapps.zip and AK Kernel ( for this step, i've used an OTG cable and an external hdd, because the phone now is completely empty, or use ADB sideloading)

14. Reboot

15. Enjoy the new speed!

thanks to:

[MENTION=3685904]ak[/MENTION] for the kernel

[MENTION=4666971]Phil3759[/MENTION] for recovery

[MENTION=4933480]ronedogg[/MENTION] for original guide

[MENTION=3814731]katinatez[/MENTION] & [MENTION=2941594]johnnyslt[/MENTION] for OPO F2FS enabled Philz Recovery