[ROM][5.0.2]Temasek F2FS-mixed v9.0 sabermod

Search This thread

zaphodbeeb

Senior Member
Mar 29, 2011
706
492
Betelgeuse
xformit.co.uk
Because only f2fs-mixed (2p) is currently working with Katinatez rom the only change needed in the "stock" updater-script is to change the following line.

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

Code:
mount("f2fs", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", "");
Also, you can now use the new fstab which will enable the kernel(s) to work in either 2p or 3p configurations when/if the current problems with system f2fs is fixed.

Code:
# Android fstab file.
#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
# 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         ext4    ro,barrier=1                                                    wait
/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           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/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          ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check
/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=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait

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

f41lbl0g

Senior Member
Mar 15, 2014
304
423
Because only f2fs-mixed (2p) is currently working with Katinatez rom the only change needed in the "stock" updater-script is to change the following line.

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

Code:
mount("f2fs", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", "");
Also, you can now use the new fstab which will enable the kernel(s) to work in either 2p or 3p configurations when/if the current problems with system f2fs is fixed.

Code:
# Android fstab file.
#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
# 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         ext4    ro,barrier=1                                                    wait
/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           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/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          ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check
/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=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait

/devices/platform/xhci-hcd                          auto            vfat    defaults voldmanaged=usbdisk:auto
I downloaded the latest temasek update, but when I change the "ext4" to "f2fs" it is stuck on the boot animation. Do I have to change the fstab as well? I am using 2p configuration.
 

phermey

Senior Member
Apr 8, 2012
641
184
Hendersonville, TN
I downloaded the latest temasek update, but when I change the "ext4" to "f2fs" it is stuck on the boot animation. Do I have to change the fstab as well? I am using 2p configuration.

yes. the fstab has to be changed also. if using windows... scroll up and go step for step on my guide. you can use the different code you quoted from zaphod... but you do not have to. Zaphod's guide on it, using ubuntu, is post #453. that is pg16 on my browser. i am using the old way. but both work just the same for the 2p rom.
 

f41lbl0g

Senior Member
Mar 15, 2014
304
423
yes. the fstab has to be changed also. if using windows... scroll up and go step for step on my guide. you can use the different code you quoted from zaphod... but you do not have to. Zaphod's guide on it, using ubuntu, is post #453. that is pg16 on my browser. i am using the old way. but both work just the same for the 2p rom.

If I change it from ext4 to f2fs in the updater script is it sufficient enough to be able to mount it properly? Instead of using busybox commands?
 

phermey

Senior Member
Apr 8, 2012
641
184
Hendersonville, TN

phermey

Senior Member
Apr 8, 2012
641
184
Hendersonville, TN
i don't want to hijack this thread at all.... but i just got done converting the new stock rom to our 2p format. since this is really the only 2p thread around... i figured i would put it here for yall to try out. it is pretty dad gum snappy.

enjoy

zaphod - if this is considered disrespectful, just let me know.
 
  • Like
Reactions: Jole7

zaphodbeeb

Senior Member
Mar 29, 2011
706
492
Betelgeuse
xformit.co.uk
i don't want to hijack this thread at all.... but i just got done converting the new stock rom to our 2p format. since this is really the only 2p thread around... i figured i would put it here for yall to try out. it is pretty dad gum snappy.

enjoy

zaphod - if this is considered disrespectful, just let me know.
No prob mate. All good stuff.;)
 
  • Like
Reactions: byAidan and phermey

zaphodbeeb

Senior Member
Mar 29, 2011
706
492
Betelgeuse
xformit.co.uk
Added v7.7 (second version) Linaro (2P/f2fs-mixed): smint86-temasek-bacon-ln-5.4-2P-f2fs.zip
Thanks for the heads up. I didnt realise that Temaseks rom had changed. Damn this feeble body requiring sleep!! Anyhow I updated both versions in the op. Hope you dont mind, but I re made these myself instead of using your version. Its just that I know what Im supporting then. I dont want to put you off uploading your versions, thanks for doing that, as it provides service to those that want it quicker. Just didnt like the idea of replaced versions in the OP.;)
 
  • Like
Reactions: byAidan and smint86

DominiCOne

Senior Member
Nov 23, 2012
236
82
Brussels
MaxxAudio seems to cause a lot of problems either on Linaro or Sabermod :(
But find the solution on Katinatez thread :)
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 47
    Hi all,

    the following roms provide modified versions of Katinatez latest build of Temaseks ext4 rom, specifically for oneplus one f2fs users.

    Versions to support ext4/f2fs mixed (2 partitons formatted to f2fs data and cache -2p) are provided.
    Each of these roms also has a multirom version that can be installed as a secondary rom. Flashing an incorrect rom for your set up wont work.

    To install them you MUST have your data and cache partitions formatted to f2fs and system formatted as ext4. Philz recovery by Katinatez is best for this task, but you can use twrp etc. Be warned, converting your oneplus will:
    - zap your data, so backup first. Once you have converted to f2fs, normal rules apply.
    - not allow you to flash ext4-all roms, unless you convert them to f2fs. Dont try to flash these. Gapps, scripts will flash as normal, but not ext4 roms.

    To first time flash
    1. Do a full wipe (dalvik, system, data, cache). Internal storage (post f2fs conversion) can be left alone.
    2. flash the downloaded rom (side-load or from internal storage is good)
    4. Install gapps of your choice.
    5. Install SuperSU latest.
    6. Boot - Please be patient. The flash and first boot can take a little time.

    Upgrading from an earlier version:
    A full wipe is always recommended. It is the least risk option of running into problems with your existing apps and data. However dirty flashing also works generally, so you should be able to just flash a new versions on top of your existing install without problem. To be safe, always take a nandroid first. Some recoveries will insist that you wipe anyway, and will throw an error. If this occurs just wipe dalvik and cache and reflash. Gapps and Super SU should be preserved.

    Multirom - not currently available..
    The multirom versions are to be used to create a secondary rom in multirom only. These can also generally be dirty flashed over a previous Temasek oneplus f2fs multitrom install without problem, but a clean install, as always, is the least risky method. Take a backup first.

    It is usually possible to flash changes to kernel versions dirty with a prior version installed. However, Temasek rom updates have to be converted to be f2fs friendly before flashing so I'll try to be as quick as I can getting f2fs versions ready as soon as a new Temasek version is released.

    Thanks and credits to AK, Temasek, Katinatez , YoshiShaPow, RIPng, and DerRomTester for their excellent work for the oneplus one. Please note that these rom pull together many rapidly changing developments, and things can clash, go wrong. It also means you get the best available.

    - Standard versions. These will install with any recovery, but will not install as a secondary rom on multirom directly. Use the multirom version for ths purpose. When using multirom to install as a primary, the install may fail initially. If so, wipe cache and re-install. A primary install can be swapped to a secondary with multirom once installed.
    - Secondary rom versions. These will only install as a secondary rom only on multirom. Once installed it is possible to swap with the primary.
    - Using different Kernel versions
    Many kernels available now support f2fs, and use the "any-kernel" method to install. This means they can be installed directly onto a primary or multirom secondary installation of this rom. Some kernels do not use this method, but are still f2fs friendly (i.e they have the necessary f2fs commits implemented). See FAQ as to how to convert these kernels to flash with this rom.
    Zaphod-Katinatez SaberMod 9.0 f2fs




    Zaphod-Katinatez SaberMod & Linaro 8.8 f2fs
    Zaphod-Katinatez SaberMod & Linaro 8.7 f2fs
    Zaphod-Katinatez SaberMod 8.6 f2fs
    Katinatez 7.7 F2FS linaro and sabermod roms
    UPDATE Katinatez 7.4
    UPDATE 6/2/15
    Katinatez 7.2
    UPDATE 5/2/15
    Katinatez 7.1
    UPDATE 3/2/15
    Katinatez 6.9
    UPDATE 2/2/15
    Katinatez 6.8
    UPDATE 24/1/15
    Katinatez 5.9
    UPDATE 19/1/15
    Katinatez 5.5
    UPDATE 17/1/15
    Katinatez 5.4
    UPDATE 13/1/15
    Katinatez 4.9 - pulled
    UPDATE 12/1/15 Katinatez 4.7
    UPDATE 6/1/15 Katinatez 4.6
    UPDATE 6/1/15 Katinatez 4.5
    UPDATE 5/1/15 Katinatez 4.3
    UPDATE 4/1/15 Katinatez 4.2
    no 4.1
    UPDATE 3/1/15 Katinatez 4.0
    UPDATE 2/1/15 Katinatez 3.9
    UPDATE 1/1/15 Katinatez 3.8
    no 3.7
    UPDATE 30/12/14 Katinatez 3.6
    UPDATE 29/12/14 - Katinatez 3.5
    UPDATE 29/12/15 - Katinatez 3.4
    UPDATE 27/12/2014 - Katinatez 3.3.1 AK0.68 - F2FS-All Standard Rom - Secondary Rom - Mixed - Standard Rom - Secondary Rom -
    UPDATE 27/12/2014 - Katinatez 3.3.1
    - Stock - F2FS-All Standard Rom - Secondary Rom - Mixed - Standard Rom - Secondary Rom -
    UPDATE 27/12/2014 - Katinatez 3.3.1
    - Tyr56Linaro - F2FS-All Standard Rom - Secondary Rom - Mixed - Standard Rom - Secondary Rom -
    UPDATE 27/12/2014
    - Katinatez 3.3.1 - Tyr56SaberMod - F2FS-All Standard Rom - Secondary Rom - Mixed - Standard Rom - Secondary Rom
    UPDATE 24/12/2014 - Katinatez 3.3 AK0.68 - Standard Rom - Secondary Rom - AK thread
    UPDATE 24/12/2014 - Katinatez 3.3 - Stock Standard Rom - Secondary Rom - Katinatez thread
    UPDATE 24/12/2014 - Katinatez 3.3 - Tyr55Linaro - Standard Rom - Secondary Rom
    UPDATE 24/12/2014 - Katinatez 3.3 - Tyr55SaberMod - Standard Rom - Secondary Rom Tyr kernel thread
    UPDATE 22/12/2014 - Katinatez 3.2 AK0.65 - Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.2 - Stock Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.2 - Ty55Linaro - Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.2 - Ty55SaberMod - Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.1 AK0.65 - Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.1 - Stock Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.1 - Ty55Linaro - Standard Rom - Secondary Rom
    UPDATE 22/12/2014 - Katinatez 3.1 - Ty55SaberMod - Standard Rom - Secondary Rom
    UPDATE 21/12/2014 - Katinatez 3.0 AK0.61 - Standard Rom - Secondary Rom
    UPDATE 20/12/2014 - Katinatez 3.0 - stock Standard Rom - Secondary Rom
    UPDATE 21/12/2014 - Katinatez 3.0 - Ty55Linaro - Standard Rom - Secondary Rom
    UPDATE 21/12/2014 - Katinatez 3.0 - Ty55SaberMod - Standard Rom - Secondary Rom
    UPDATE 20/12/2014 - Katinatez 3.0 - Ty53 - Standard Rom - Secondary Rom
    UPDATE 20/12/2014 - 2.9.1 - AK0.61 Katinatez 2.9.1 - Standard Rom - Secondary Rom
    UPDATE 19/12/2014
    - 2.9.1 - AK0.60 Katinatez 2.9.1 - Standard Rom - Secondary Rom - Katinatez 2.9 - skipped
    UPDATE 18/12/2014
    - 2.8 - AK0.50 Katinatez 2.8 - Standard Rom - Secondary Rom
    UPDATE 17/12/2014
    - 2.7 - AK0.50 Katinatez 2.7 - Standard Rom - Secondary Rom
    UPDATE 15/12/2014
    - 2.6 - AK0.50 Katinatez 2.6 -Standard Rom - Secondary Rom
    UPDATE 14/12/2014 - 2.5.2 - AK0.50 Katinatez 2.5.2 - Standard Rom - Secondary Rom
    UPDATE 14/12/2014
    - 2.5.1 - AK0.44 Katinatez 2.5.1 - Standard Rom - Secondary Rom
    UPDATE 1
    3/12/2014 - 2.5 - AK0.44 Katinatez 2.5- Standard Rom - Secondary Rom
    UPDATE 12/12/2014 - 2.4 - AK0.43 Katinatez 2.4- Standard Rom - Secondary Rom
    UPDATE 11/12/2014
    – 2.3.1 - Standard Rom - Secondary Rom
    UPDATE 10/12/2014 - 2.3 - Standard Rom - Secondary Rom
    UPDATE 09/12/2014 – 2.2 - Standard Rom - Secondary Rom
    UPDATE 08/12/2014 – 2.1 - Standard Rom - Secondary Rom
    UPDATE 08/12/2014 – 2.0 - Standard Rom - Secondary Rom
    UPDATE 07/12/2014 – 1.9 - Standard Rom - Secondary Rom
    UPDATE 06/12/2014 – 1.8.1 - Standard Rom - Secondary Rom

    Additional stuff – to get the best from this rom I recommend using the synapse special edition script for AK kernels, the latest version from this thread for the other kernels along with the synapse app from playstore. Trickster is also good with this rom.

    BUG Reports – Please report any bug reports to the relevant xda thread. ROM and stock kernel bugs. F2FS bugs in this thread. Please also remember to SEARCH before posting a bug, state what version of the rom you are using, and if possible steps/data to recreate the problem.

    FAQ
    20
    How to produce flashable f2fs roms from ext4 versions

    In this post I'll take you through the process required to produce f2fs-all, mixed-f2fs flashable primary roms.This article focusses on the Katinatez rom, but it should work with any f2fs enabled rom.

    I use Ubuntu 14.04 for this, so I recommend that. I have ubuntu as my main os on my laptop, but it can be installed as a vm quite easily and there are plenty of articles on how to do this elsewhere, so Im assuming that you have done this for our purposes here.

    1. Download your new f2fs friendly rom. Just a quick note here on what f2fs friendly actually means. It means that the kernel in the rom has the f2fs commits built into it. This doesnt make the rom flashable to a f2fs environment but that it is capable of working as such.

    2. Modify the kernel to be f2fs-all or f2fs-mixed. To do this, the first step is to extract the current boot.img file. Open the rom zip, select the boot.img and extract it to a folder ready to work on it.

    3. Next we need a tool to help modify the kernel. I found this to be an easy and simple tool to use. So after download, extract it somewhere easy to find. You'll see that the folder name is a bit long-winded , so rename it to "boot-tools" once you have extracted it.
    Now, you need to extract the kernel from your downloaded rom. On ubuntu this is easy. Open the rom.zip (double click), select the boot.img file and click the extract button. Now instruct it to extract to the boot tools folder you just made. You will be asked if you want to show files. Select yes, and the folder of boot-tools will be shown. Using terminal, navigate to the boot-tools folder where boot.img is located and type

    Code:
    bash unpackimg.sh boot.img
    Dont use sudo. Its not necessary, and can make life difficult later. You will note all of the other folders shown. Open the ram-disk folder and open the fstab.bacon file. Just double click. You will see that the rom is configured to use ext4 partitions, we need to replace the content of this file with one of the following.

    For f2fs-all setup.

    Code:
    # Android fstab file. 
     #<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags> 
     # 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=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait 
      
     /devices/platform/xhci-hcd                          auto            vfat    defaults voldmanaged=usbdisk:auto
    or for f2fs-mixed setup

    Code:
    # Android fstab file. 
     #<src>                                         <mnt_point>   <type>  <mnt_flags and options>  <fs_mgr_flags> 
     # 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         ext4    ro,barrier=1                                                    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=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait 
      
     /devices/platform/xhci-hcd                          auto            vfat    defaults voldmanaged=usbdisk:auto
    or for any setup. Please note that this should enable to kernel to work with any configuration of partitions (i.e. all-ext4, mixed or all f2fs). So you just need to use this for fstab

    Code:
    # Android fstab file.
    #<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
    # 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         ext4    ro,barrier=1                                                    wait
    /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           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
    /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          ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check
    /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=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait
    
    /devices/platform/xhci-hcd                          auto            vfat    defaults voldmanaged=usbdisk:auto
    Save the file and display the contents of boot-tools folder again (i.e. exit the ramdisk folder and go up to the boot-tools folder). Now we will generate our new reconfigured kernel, so in terminal type
    Code:
    bash repackimg.sh
    You will see a new file appear in the boot-tools folder called image-new.img. Delete the boot.img file you placed in the boot-tools folder and rename image-new.img to boot.img.

    One last thing to do here in terminal is to tidy up after ourselves so type
    Code:
    bash unpackimg.sh
    Because we didnt specify a file to unpack this will flush out the ramdisk folders etc but then generate a gripe about no file being attached. Dont worry, it zapped the contents of the folders which is all we wanted.

    4. Now we need to replace the original boot.img with our new one. So open the rom.zip, and select add file. Navigate to the boot-tools folder and select our new boot.img file. This will replace the existing boot.img file in the zip with our new one.

    5. Although we have modified our kernel, the flashable rom is not yet configured to install to f2fs partitions. Most are configured to work with ext4 out of the box. To fix that we need to edit a file called updater-script. This is located in the rom in the following location META-INF – com – google – android. Double click the updater script and it will open.
    In step 3 you determined if you were going to make a f2fs-all, or f2fs-mixed type flashable rom. The changes that need to be made in the updater-script file are different dependant on what flavour f2fs rom you want to make.

    First, search for ext4 in the document using the search on the toolbar of the text editor. Look at these and locate lines that refer to the data partition. We dont use ext4 with data partition in the f2fs world so these need to be changed.
    If you see a line like
    Code:
    mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/userdata", "/data", "");
    It needs to be changed to
    Code:
    run_program("/sbin/busybox", "mount", "/data");
    If you look a little further on after you will also find a line
    Code:
    unmount("/data");
    replace this with
    Code:
    run_program("/sbin/busybox", "unmount", "/data");
    If all you want is a mixed f2fs flashable rom then save the changes you made in the text editor. This will prompt you to update the zip file of the rom so click to update this also. Job done.
    If you want to create a f2fs-all type rom there are a few more lines to be changed, as follows:
    find
    Code:
    mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
    and replace them with
    Code:
    run_program("/sbin/busybox", "mount", "/system");
    find
    Code:
    mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc");
    and replace it with
    Code:
    run_program("/sbin/busybox", "mount", "/system");
    find
    Code:
    unmount("/system");
    and replace them with
    Code:
    run_program("/sbin/busybox", "unmount", "/system");
    find
    Code:
    format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
    and replace it with
    Code:
    run_program("/sbin/mkfs.f2fs", "/dev/block/platform/msm_sdcc.1/by-name/system");
    save the file, and then save changes to the zip.
    Congratulations you just produced a f2f2 installable version of an ext4 rom by modifying the kernel, and updater-script.
    Happy f2fs flashing.:laugh:
    13
    From the very begining I have supported f2fs starting with all my recoveries, and continuing with temasek rom. I know it's time consuming to convert to a f2fs ready to flash rom. @zaphodbeeb has my permission to continue his work and I will send all potential f2fs users to this thread.

    Here is the latest release changelog
    http://xdaforums.com/showpost.php?p=57405177&postcount=1617

    zaphodbeeb will be releasing the f2fs version soon, all development question regarding temasek will continue on my thread, all f2fs questions will be replied by zaphodbeeb or thread users.

    Enjoy :D
    10
    Permissions, opensource and all that stuff

    Hi all,

    Im going to put the publication of any further f2fs work on hold for the current. I have requested some clarification of the XDA rules with regards the legality of reusing opensource software, and obtaining permissions to reuse this in the XDA forum. It may be that I will have to continue by hosting this elsewhere to continue, but I hope not.

    All got a little heavy for my liking really. It takes a good bit time to mod and test this f2fs work before publication with each release. I intend to carry on doing this, but dont want to have to expend so much of my remaining time exploring legalities etc.

    No offence was intended, and I apologise if I have offended. All credits go to the original devs, from Cyanogenmod and on. All I was trying to do was to share, and save other f2fs oneplus users a little time out of their day. I do this for myself each time new versions are issued. Just thought it would be good to share.

    One last point. Thank you to all those who have expressed support and interest in this. Appreciated.