F2FS for ACE
AOSP only!
S-ON USERS SEE ADDITIONAL INSTRUCTIONS BELOW
Should work on all current CM12 or most any of our LP-based AOSP ROMs around here that use a current CM based kernel/trees
THIS IS EXPERIMENTAL AND HAS POTENTIAL FOR DATA LOSS IF DONE IMPROPERLY. IF YOU ARE NOT COMFORTABLE WITH THAT PLEASE DO NOT ATTEMPT. I CANNOT BE AVAILABLE FOR 24/7 SUPPORT ON THIS.
These mods will provide the ability to format /data and /cache in F2FS format instead of EXT4. Use extreme caution. The will erase your entire /data partition just like a clean flash. I cannot and will not be held responsible for your failure to keep backups handy. F2FS is still considered experimental by Samsung and should be by you the user as well.
What is F2FS?
F2FS wiki
Why F2FS?
F2FS put to the test vs EXT4
How to switch?
PLEASE READ INSTRUCTIONS CAREFULLY. IF NOT FOLLOWED YOU WILL LIKELY BOOTLOOP!!
F2FS capable TWRP Recovery This is the same link the current 2.8.1.1 TWRP built with the added F2FS support commits. When wiping a partition you will have the option to reformat in F2FS now as well.
Fstab conversion zip Fstab is the file used by the kernel to determine how to mount all partitions. CM default is all EXT4. To utilize F2FS we need to modify your fstab. This installer is for use only when you are already running a F2FS kernel and only need to update fstab after switching to/from F2FS/EXT4. This installer will only unpack, edit the fstab according to your current partitions and repack the boot.img. This will not replace the kernel, you must already be using an F2FS kernel or be returning to EXT4 only to make use of this zip.
DOWNLOADS NOW HOSTED @ CODEFI.RE
http://downloads.codefi.re/jrior001/Ace
Procedure for fresh conversion including new Rom flashing:
1. Backup everthing you want to keep with titanium backup or whatever backup you choose.
2. Fastboot flash the new TWRP recovery img if you are not already on it.
3. Run a twrp backup in case things get ugly!
4. Flash new ROM now if desired.
5. Still in recovery...Goto wipe -> hit Advanced wipe. Select data and hit "Repair or change filesystem". Convert to F2FS. Repeat for cache.
6. Flash the fstab conversion zip.
7. Reboot and profit. Any partition app on market can confirm new format changes.
Procedure for nightly ROM updates after F2FS conversion:
1. Flaah nightly ( manually, do not let OTA update flash on its own, you will not be given the chance to flash fstab zip and you WILL BOOTLOOP. Should this happen return to recovery and perform step 2)
2. Flash fstab conversion zip.
3. Reboot and profit.
Procedure if you want to convert back and forth after initial conversion for testing purposes:
1. Change formats of data/cache as desired (only ext4 and f2fs supported).
2. Flash fstab conversion zip to update format types before attempting boot.
S-ON USERS
Code:
If someone has S-ON device, you still can use it like this:
After flashing ROM, reboot to bootloader and fastboot flash boot.IMG provided in ROM.zip as normal. This is required to get any new kernel updates. Return to recovery and make your desired f2fs changes and flash the f2fs script.
After you flashed this f2fs script, the modified boot image will be located at: /tmp/newboot.img
Now we need to download it by using adb in recovery: adb pull /tmp/newboot.img boot.img
After that, you can flash boot.img via fastboot and reboot as usual. (fastboot flash boot boot.img)
Code:
CHANGELOG
V1.0 - Initial release
V2 - switch to by-name fstab entries to go with cm12 nightlies after 1/9/15
V2.1 - typo fix
V3 - corrects fstab name after file name change introduced in 1/14 nightlies and beyond
Source:
Kernel: https://github.com/OpenDesireProject/android_kernel_htc_msm7x30/tree/cm-12.0
Device tree: https://github.com/OpenDesireProject/android_device_htc_ace
Fstab scripts: https://github.com/jrior001/f2fs_fstab_convert_script
Devs, feel free to use or modify any of this for your own work just give thanks to where it came from. It was not all my original work, I must give thanks to Metallice and a few other devs in the grouper forum whose scripts I adapted for my own work.
Contributors
jrior001 @Mustaavalkosta, @paulb-nl and any others that have helped keep msm7x30 alive
Kernel Special Features: f2fs support
Version Information
Status: Beta
Current Beta Version: 1.0
Beta Release Date: 2015-01-06
Created 2015-01-06
Last Updated 2015-01-06
Important to note, all issues related to f2fs need to stay here and out of the cm12 thread. This is a experimental tweak and mustaa has enough to deal with, without unsupported drama. Please be respectful of this. Thanks and enjoy!
Cant find Convert to F2FS in recovery
hey thanks for your great effort.
I decided to do a test alongside today's [cm-12-20150107-UNOFFICIAL-ace] nightly but, unfortunately for me, I couldn't identify convert to f2fs after under change file system on the recovery [openrecovery-TWRP-ace-2.8.1.1-unofficial].
What will be the issue....
A few of you should test and let's see what happens.
Maybe am not doing something right.
am on TWRP v2.8.1.1 and S-FF with bootloader unlocked
Thanks :good:
xdagee said:
hey thanks for your great effort.
I decided to do a test alongside today's [cm-12-20150107-UNOFFICIAL-ace] nightly but, unfortunately for me, I couldn't identify convert to f2fs after under change file system on the recovery [openrecovery-TWRP-ace-2.8.1.1-unofficial].
What will be the issue....
A few of you should test and let's see what happens.
Maybe am not doing something right.
am on TWRP v2.8.1.1 and S-FF with bootloader unlocked
Thanks :good:
Click to expand...
Click to collapse
You need to go to Advanced Wipe and select data or cache partition and choose Repair or Change File System > Change File System > F2FS. This will format the partition so make sure you don't lose anything important.
Mustaavalkosta said:
You need to go to Advanced Wipe and select data or cache partition and choose Repair or Change File System > Change File System > F2FS. This will format the partition so make sure you don't lose anything important.
Click to expand...
Click to collapse
Thanks got it to work . I haven't done any major testing though but i believe i will do, will be back with my takes.
xdagee said:
Thanks got it to work . I haven't done any major testing though but i believe i will do, will be back with my takes.
Click to expand...
Click to collapse
Very good, interested what your experience is. I ran a bunch of tests when I got this working on my One XL(Evita) and found f2fs to be slightly better for heavy read/write action things like installing apps(especially that initial Google restore of apps on first boot) and more less the same or slightly better in daily use.
First of all- every next restart is rom more responsive. (it has it's own limitations, of course ) I'm not testing very much, but using as usually. Second- Gallery app doesn't show pictures until i enabled root access.. this is new problem, ringtone was unknown too, 0103 release was fine with this. So..don't know where is problem, but i see that this is good step. Thank you!!!
edit: @Mustaavalkosta , @jrior001 : this is not very good that your threads are separated. Because I see new problems that i never seen before, so I think this is problem of F2FS. In my previous installed nightly (it was one of those "smaller", so no 0103 as I wrote before, but maybe 0101?) was calculator OK, media player too, gallery too and ringtones too. Now I have problem with all - direct after restart i see pictures in gallery but after (what?) again i can't see it. Ringtone - i set ringtone and it was ok, but later it changes to "unknown" - so no ringtone. Audio player has similar problem.
...on other side - it is really good. (Musta's ROMS and this too). Thanks for your work!
Updated OP with S-ON flashing instructions courtesy of @kib0rg
..bad evening... after trying to install app- it ends in reset, system no more started..
I've just uploaded a new v2 script to go with tomorrow's nightly. There are significant changes to the fstab that warranted this new version.
can i use this only in clean new installation? I have installed 0111 version.Can i use it with dirty flash of new nightly?
I don't know what i'm doing wrong. After flashing F2FS v2 phone stuck on black screen - no cm bootscreen appears..
Edit:
after flashing v1 phone normally booting. So there is problem with v2 or after (dirty) flashing new rom I use v2 instead of v1?
Phone stacked after flashing nightly.
As much testing hasn't be done on this; which we know the reason. being that if we are able to get a much more daily driver like ROM then more people will try testing f2fs. But for yesterday as I try to update my recovery, i found out that ace_f2fs_fstab_script_cm12_v2.zip has been uploaded. I downloaded flashed alongside 20150110's nightly. After flashing, phone get stacked just after boot screen appears.
@xdagee - what CM12 nightly do you use? I think last two has problem with dialer/phone. Do you use F2FS script v1?
For clarity, v1 should be used on night lies prior to 1/10, v2 should be used for 1/10 and beyond. 1/10 and beyond will also require the latest twrp update as well.
There was a major change to the fstab in mustaa's CM repos file that determines what partitions to mount that required everything be updated to match.
jrior001 said:
For clarity, v1 should be used on night lies prior to 1/10, v2 should be used for 1/10 and beyond. 1/10 and beyond will also require the latest twrp update as well.
There was a major change to the fstab in mustaa's CM repos file that determines what partitions to mount that required everything be updated to match.
Click to expand...
Click to collapse
problem is that v2 isn't working. I have same problem as Xdagee. Of course new twrp.
danvo01 said:
problem is that v2 isn't working. I have same problem as Xdagee. Of course new twrp.
Click to expand...
Click to collapse
Hmm...I tested before I uploaded but I'll check it out tonight.
Sorrys folks, there was a typo in one of the f2fs entries that was killing it, all fixed up now. I've uploaded a v2.1 zip that's corrected.
working fine, thanks
jrior001 said:
Sorrys folks, there was a typo in one of the f2fs entries that was killing it, all fixed up now. I've uploaded a v2.1 zip that's corrected.
Click to expand...
Click to collapse
thats okay, we've got your back
Related
This project is now discontinued and will recieve no further updates nor support.
First of all, thanks petter (https://github.com/havlenapetr), Czech Samsung Galaxy developer, for idea and source codes.
What do I mean?
You have one ROM in internal memory as usual, and another one in folder on SD card ext partition. You can easily switch between them - just move rom from ext partition to some backup folder.
See guide in second post
How is it done?
Lets look on how android boots - its (roughly) like that:
1. Bootloader - forks between recovery, fastboot and normal boot
2. Linux kernel - Unpacks its initrd, loads drivers and many more things, not important now
3. Init - kernel runs this program, which mounts android partitions, sets correct permissions to files, starts services, and in the end, starts android itself
4. Android - Dunno much about it yet, anyway not important now
So, what we need to do is mount something else than internal memory in init. Init parses & runs simple scripts, which makes it simpler to mount sdcard folders.
We need to add mknod and bind mounting to init binary. Unfortunately, we dont have sources of init modified by LG (that thing is three(!) times larger than init compiled from AOSP, what the hell is in there?!). That is solved by running modified init, which parses "preinit.rc" with mounts and then runs LG init.
Commit: https://github.com/Tasssadar/init/commit/aa3604ca90f5ef9b688fdc2e3cc865aa29a54809
preinit.rc: https://github.com/Tasssadar/init/blob/b4e701e8bc4831fadbefa64be48300139dcc2023/ramdisk/preinit.rc
This would be all, if original LG init would not remount /system and /data from internal memory. Also, nearly every ROM has different init.rc, and wont boot without it.
To solve this, I created "import_boot" command in init, which copies *.rc files and LG init from ramdisk(well, its only folder with these files extracted from ramdisk for now) on sdcard ext partition. This command also puts comments out every line with mount /data, /system or /cache in init.rc file, so LG init wont remount them.
Commit: https://github.com/Tasssadar/init/commit/dc3fa50d65d1221a4fb819d8ee616765ee043e83, https://github.com/Tasssadar/init/commit/f7bc141b1e4b7d214e49d4bb005c71237231436c and https://github.com/Tasssadar/init/commit/1cde6b6a093d4ac1f961e610c5229605bc517b52
Format of ROM on ext partition:
All files from paritions in internal memory copied to sd ext partition with preserved owners and permissions(!).
So, when I copy data, I do "cp -r -p /data/* /sd-ext/multirom/rom/data/" (I suggest to run this via adb shell while in recovery).
Currently, I mount /system, /data and /cache from sdcard. If one or more of these folders does not exist, its equivalent from internal memory is used.
It would be nice to have *.img files from nandroid backups instead of this, but as far as I know, they cant be just mounted.
As for *.rc files, I put them into /sd-ext/multirom/rom/boot folder. I would like to just copy boot.img and extract files in init, but I did not find way to extract it when I have hardly STL usable in init. I'd like to use kernel's internal decompressor, but I dont know how.
Limitations
- Both ROMs must be compatible with one kernel - kernel is already loaded in init
- ROMs must be for same baseband, obviously
- Kernel modules(wifi, for example) of both ROMs must be compatible with one kernel. That can be easily solved by copying modules from one ROM to another, though.
- It will be slower than internal memory.
Integration with recovery
Definitely possible & usefull. This is integration in my modified AmonRa recovery: https://github.com/Tasssadar/Amon-R...mmit/bd0232f7379993c296b0223973b81e8c55dc3ee2
Security risk
/system on sdcard can't be mounted read-only - I'd have to mount whole sdcard read-only. This is possible security hole, but you cant do much without root anyway, because of permissions. And if you have root, it does not matter if its read-only or not.
Conclusion
So, it is possible to have dual-boot. You can use it to develop ROMs(you can directly edit data in /data and /system), as backup ROM when you are testing something in internal memory which does not boot, and you need to call someone or when our devices will be so old that bad blocks in internal memory wont allow us to boot
But, as you can see, It is not something that average user could do, at least not yet. Maybe I could modify recovery to do everything for the user (copy data from /system, /data and /cache, extract *.rc files from boot) and create some flashable ZIPs which would modify the init.
But there are some problems - some ROMs may not be compatible with this and there are multiple recoveries out there, but theres not single one which is only for our phone - both AmonRa and ClockworkMod are developed for wide range of devices. Yes, both of them can be modified, but I doubt they creators would accept such inflexible and device-specific thing.
What do you think, is it worth it?
Tested ROMs (first one is in internal memory, second one is on SDcard)
Working:
Megatron and stock v10a ROM - stock rom is slow
Megatron and devoid #froyo-final - like ten times faster than stock xD
LightRom(2.2.2) and devoid #froyo-final (and vice versa)
Megatron and Megatron - both ROMs can have a2sd
Megatron and Mik's CM7 6.5.8 - since v2
Gingerbread 2.3.4 from Optimus Net and CM7 6.6.1 (thx eduardogouveia for testing)
Stock 2.2.2 and CM7 6.5.8 (thx eduardogouveia for testing) - if you have ext4 partition, you need custom kernel for stock ROM.
.void 2.3.4 and stock V20B (thx diazneoones for testing)
CM7 6.5.8 and .void 2.3.4 (thx diazneoones for testing)
CM7 nightlies and Lupohirp's СM9 (thx aquapp for testing)
Not working
None found yet, but when CM7 is on sdcard, it looses root. Trying to figure out why. - fixed in v10
PS: I hope I explained it correctly, not exactly good at this. Do not fear to ask, if you don't understand something.
OK, here goes guide for average user. This is still highly experimental feature, keep that in mind. Backup, backup backups and backup them to PC, read whole guide first, I am not responsible for your bricked phone etc.
GUIDE:1. Requirements
Ext4/Ext2/Ext3 partition on SDcard big enough to hold all files from /system and /data, which is from 170mb to 400mb (depends on ROM and apps installed), so I think 512mb partition is minimum (if its 90% or so free).
Modified recovery. Only AmonRa and CWM version is available at this time, TeamWin is coming "soon". You can find flashable zip at the bottom of this post, flash it before you proceed to next move. If something goes wrong, you can restore your recovery with zips from here.
Kernel with ext2/3/4 support, which is basically every but stock
Both ROMs you wanna use must be compatible with same kernel. See Limitations in previous post
2. MultiROM instalation
- Via MultiROM Mgr application
I recommend you do nandroid backup before installing via this app.
Download MultiROM Manager (link at the bottom of this), tap to "Tap to install via this app" and wait. As simple as that. Mgr will also install recovery for you (It will ask you which one, you can select AmonRa, CWM and none). App can check & install update, too.- Via recovery
Just download multirom.zip at the bottom of the post, make nandroid backup and flash it. Your current ROM will be the one in internal memory, we will setup the one on the SDCard in next move.
Now, try to reboot the phone (boot will take little longer, because it has to mount ext partition). If it boots up correctly, then its OK - your ROM is supported. If not, then restore your nandroid backup and post your ROM name here, maybe I'll try to make it working.
3. Setup ROM on the sdcard
Make nandroid backup (I am not kidding, you will need this one), flash ROM which you wanna to have on SDcard, do the first boot (because it will create dalvik-cache, and you dont wanna do that when its already on sdcard) and reboot to recovery again.
Go to "MultiROM options" menu and select "Create from current ROM". It will do everything for you (it takes time, though). ROM on the sdcard is placed in /sd-ext/multirom/rom/, backups are in /sd-ext/multirom/backup/.
Restore nandroid backup from beggining of this step and reboot. Wait until Boot manager shows up, and select SDcard as boot location. ROM from sdcard should boot. If your ROM from internal memory boots or if its stuck, something got wrong and you should restore from backup.
4. MultiROM recovery menu description
Active/deactive state is for recovery only, you can boot ROMs from backup in boot manager - that means its N-times boot rather than dual-boot.
When not active(boot from internal memory):
Activate (move from backup) - when you already have backup, this will move it to active folder (fast).
Activate (copy from backup) - same as above, but it copies it instead of moving
Create from current ROM - pretty self-explanatory
Create from ZIP file - see http://forum.xda-developers.com/showthread.php?p=22194117#post22194117
When active(boot from sdcard):
Deactivate (move to backup) - Moves current ROM to backup folder, so next boot will be from internal memory
Backup - Creates backup of current ROM
Erase current ROM - Deletes current rom, next boot will be from internal memory
Copy modules from int mem - Copies modules from ROM in internal memory to SDcard. Try this if WiFi does not work in SDcard ROM.
Flash ZIP - flash ZIP file to ROM on SD card, for example gapps.
5. Config file:
It is recommended to use Multirom Manager(see bottom of this post) to change config file.
File itself is placed on sdcard and its name is multirom.txt. Description of its contents is in this post(post is updated if something changes): http://forum.xda-developers.com/showthread.php?p=20045183#post20045183
6. Key bindings:
Since v11, you also can control MultiROM via touchscreen.
Anywhere: Hold Power button to shut down the phone
While on main screen:
VolUp/Down - list between actions
Menu - Confirm action
Back - Reboot to recovery
Power button - Sleep mode
While playing tetris
VolUp - return to main screen
VolDown - pause
Menu - move the piece to left
Home - hard-drop
Back - rotate piece
Search - move the piece to right
FAQ:Q: It is slow!
A: Its sdcard. It just is slower than nand memory.
Q: It does not work with my ROM
A: Post your ROM combination here, maybe I'll see to it.
Q: When do I need to reflash?
A: When you flash new ROM or do something which rewrites boot partition. Most (if not all) kernels are using Koush's AnyKernel, so they should not cause any problems.
Changelog & Download:(Always flash newest version)
Uninstaller: http://www.mediafire.com/?3eco51f2t0at77o (info here)
Changelog AND DOWNLOAD LINKS have moved to github: http://tasssadar.github.com/multirom/
Recoveries
AmonRa - based on 3.06: http://www.mediafire.com/?ld9g81igvze7na0 (9th March 2012 21:57)
AmonRa - based on 2.2.1: http://www.multiupload.com/7Y5HHNEPOT (20th October 2011 22:29)
CWM: http://www.mediafire.com/?6rfw0qbrddzq5d8 (9th March 2012 21:57)
TWRP: http://www.mediafire.com/download.php?o8kphxmfk9l01tl (21st October 2012 23:49)
MultiROM Manager app
http://forum.xda-developers.com/showthread.php?p=20610052#post20610052
(Always use newest version)
v24 - http://www.mediafire.com/download.php?1xy52tamzepibrx (TWRP support)
v21 - http://www.mediafire.com/?u9c3bmfbtf57dtm (Add charger settings)
v18 - http://www.mediafire.com/?g1lpsp66jc1cb1b (Add boot location settings)
v17 - http://www.mediafire.com/?l1li51sseaisz5j (Add brightness setting)
v15 - http://www.multiupload.com/B65WPFMFXP (Show & reset tetris high score)
v14 - http://www.multiupload.com/FWB5UBSMO1 (Updater now also check for app update, some minor fixes)
v13 - http://www.multiupload.com/NYYBX9CAFD (Update translations, add support for optimus V - http://forum.xda-developers.com/showthread.php?p=20657898#post20657898)
v11 - http://www.multiupload.com/1L3294ZAU7 (Fix mount issues on some roms, add menu to main screen, add link to xda)
v10 - http://www.multiupload.com/B3AVSFKDOW (Create /sd-ext/multirom folder on install)
v9 - http://www.multiupload.com/WW7TUNP7RY (read http://forum.xda-developers.com/showthread.php?p=20624306#post20624306)
v8 - http://www.multiupload.com/6OD7RQ74OE
v7 - http://www.multiupload.com/DJKMUGIVJ0
Something like this have the Xperia series. Maybe u find something u can use there.
Sent from my LG-P500 using XDA App
so this means we can test roms without replace current ??
Yes. Is my english so bad or you just don't read what I wrote?
Tasssadar said:
Yes. Is my english so bad or you just don't read what I wrote?
Click to expand...
Click to collapse
For the last time,you're speaking english perfectly p)
how to install your zip of amonra recovery i try but the recovery says that the zip dont have updatescript so it gives error....
i dont understand how to do this but ii´m searching this for a long time,if you can make a more frindley all user guide it will be very cool thankyou and hope you could doot....
*sigh* once again, this is [dev] thread, this is not something you can flash, at least not yet. You would know that, if you'd read whole post.
eduardogouveia said:
how to install your zip of amonra recovery i try but the recovery says that the zip dont have updatescript so it gives error....
i dont understand how to do this but ii´m searching this for a long time,if you can make a more frindley all user guide it will be very cool thankyou and hope you could doot....
Click to expand...
Click to collapse
[dev] means this is not something ordinary. Don't know what it is, don't mess with it.
Tasssadar said:
*sigh* once again, this is [dev] thread, this is not something you can flash, at least not yet. You would know that, if you'd read whole post.
Click to expand...
Click to collapse
Don't worry, you'll get more "hao cán i flush this into ma phones?" questions, good luck.
sounds like fun
thanks for bringing it for optimus one
but i have one question for you
I think in future kernel changing will also possible
because if we can flash kernel then we can make it to change
right?
Tasssadar said:
Yes. Is my english so bad or you just don't read what I wrote?
Click to expand...
Click to collapse
Maybe you just helped us with boot manager app
Sent from my LG-P500 using xda premium
I read the post but since the download you have is of a amonra recovery modified by you,i thougt that was a regular zip and only then make by abd the tutorial,thats why hi also ask a more friendly use because i now its not for averager use no need to get obset however im still happy hi was searching for that so hi dont mind waiting you make it more simple... sorry if that ofend you or franco lol we have to learn and its very hard now how to develop without having the proper nowledge like you all devs have and hi respect every dev even of he just make a simple app,by the way just dont send me to school lol where could i learn the bases to umderstand how to program java and then develop im asking this because all books hi find rekire previous nowleged of some progaming could some dev. Pointing me somewhere where i could learn and please dont be rude im just asking because i just dont love i want and hi will learn...
And baking to the thread what you find for me is one of the best and most important for our phones thanks a lot now just wainting a day everybody could use your work thank you
Sent from my LG-P500 using XDA Premium App
So your main question is: "Is it worth it?"
I would say, "Hell yeah it is!" but then again I do not have the know-how to pull something like this off.
If you decide to go ahead with it, I wish you the best of luck =P
I just modified Koush's AnyKernel so that it can modify ramdisk's content, so it is possible to install it with .zip file via recovery. I will add some modified version of CWM & AmonRA, create some walkthrough video and write some guide soon(c).
By the way, that kernel which is in devoid #froyo-final cant mount ext4 partition in init, dunno why, I'll look into it after raid.
EDIT: wtf, it just works now, and I did nothing Oo
EDIT2: Changes commited, now It can installed/controlled only by flashable ZIPs and recovery(well, only my modified AmonRa recovery for now). I'll do the rest soon, but I dont know when - maybe tomorrow (oh my, it is today actually already), maybe next month.
Flashable zips and guide added, see first and second post.
keep going I wanted something like this waiting when it can boot stock<froyo> and cm7....
thanx
gingerbread test
well i try with V20C,2.3.4 port(both with a2sd)and didnt woork after flash multiromv1.zip,when reobooting always return to recovery,so in recovery i go to multirom options and says no multirom folder so i start to think a2sd imcompatibelity,so i grab 2.3.3 V20G without changes oficial as lg give us but the results where the same no a2sd problem....
well later i will flash oldbaseband and try one of your combinations but i think its not compatible with gingerbread.....
I think I found it - on GB, there is "on fs" trigger in init.rc, which has only mounts in there, but I need to comment them out - all of them, so "on fs" trigger is empty, and init parser cant handle that. Will update soon.
Ok i will remain in new baseband to try when you update your exclente work...
Sent from my LG-P500 using XDA Premium App
v2 released, I have tested it with CM7 6.5.8, problem with stock GB should be the same as with CM7.
******************* INFO&CREDITS *******************
I know i've been away from this forum for a lot of time (mostly my Nexus 5 fault ) but when i've seen that F2FS it's now possible on this device i decided to create an easier way to create&use this filesystem,so average users can try it and decide.The best part of XDA is that everyone can contribute in the best way he/she can.
Anyway all credit goes to: samsung (for the f2fs) , Alex Page <[email protected]>, @_that @Dees_Troy (TeamWin ), @dasunsrule32 (cyanogenmod), @Hundsbuah and to everyone who contributed to make this device better.Thank You all!
******************* About F2FS *******************
F2FS (Flash-Friendly File System) is a flash file system created by Kim Jaegeuk (Hangul: 김재극) at Samsung for the Linux operating system kernel.
The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.
Samsung chose a log-structured file system approach, which it adapted to newer forms of storage. F2FS also remedies some known issues of the older log structured file systems, such as the snowball effect of wandering trees and high cleaning overhead. Because a NAND-based storage device shows different characteristics according to its internal geometry or flash memory management scheme (such as the Flash Translation Layer or FTL), Samsung also added various parameters not only for configuring on-disk layout, but also for selecting allocation and cleaning algorithms. (source Wikipedia )
******************* WARNING *******************
* Please be aware that F2FS is still experimental and DATA LOSS or other issue may occur.
* You agree to use this MOD on you own risk and i don't take any responsability if you encounter any issue or if your personal data is lost
******************* Requirements *******************
Your tf700t device must be Unlocked
An external MicroSD card or a PC (for backup/restore )
A brain
******************* Preinstalling steps *******************
Backup of your personal data to an external card or PC (photo,music,ringtones,etc)
Create a backup from recovery and store it in a safe place (external sdcard or PC)
Download twrp_f2fs from the Download Section (second post )
Download a kernel from the Download Section (second post) - _that and Hundsbuah are for stock based roms only ; CM11 is for Cyanogenmod based.
Download your favorite rom
******************* Install Steps *******************
1) Install twrp_f2fs recovery using one of the methods bellow
Fastboot method
Code:
fastboot -i 0x0B05 flash recovery twrp_f2fs.blob
fastboot -i 0x0B05 reboot
Terminal/ADB
Save twrp_f2fs.blob to the root of your /sdcard directly (internal memory only).
Launch terminal emulator or connect to your computer and open an adb shell, then type the following:
Code:
su
dd if=/sdcard/twrp_f2fs.blob of=/dev/block/mmcblk0p4
and reboot your device
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2) Reboot to recovery (if the recovery was installed you will see the 4 linux penguins after pressing the RCK button)
3) Enter the WIPE menu and select Format DATA ( warning all your personal data will be lost )
4) Wait until the format is complete then reboot to recovery again (if previous step was succefull your DATA partition is now F2FS )
5) Wipe Cache (Wipe Menu --> Advanced --> select only Cache partition and go)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6) ROM installation ( you can choose several methods to get your system back and running)
a) if you already have a System installed you can skip to step 7)
b) install your favorite ROM from external sdcard and Reboot to Recovery
c) restore your previous backup from an external sdcard (select only SYSTEM and DATA partitions) and Reboot to Recovery
7) Install one of the F2FS kernels (based on the ROM you have) and REBOOT SYSTEM
Remember that everytime you install a new ROM you have to Reboot to Recovery and install an F2FS kernel.
That's it,the system should boot with an F2FS data partition,start playing with it. :good: :laugh:
******************* Rom2SD_F2FS *******************
NOTE:
In order to use Rom2SD you need to have a running and rooted stock-based ROM with busybox and a kernel with preinit support (_that and hundbuah kernels are one of them
Also make sure there are no residual folders&files from an old Data2SD/Rom2SD setup ( basically delete the /boot folder in /system if there is one)
Partitioning your MicroSD -- > You can find a good tutorial (thx @sbdags) here
**** Install steps ****
Download all the files from Rom2SD section in the Download page ( post #2) and save them on MicroSD
Download a Kernel from the Download page ( choose the correct one depending on your favorite ROM base) and save it to MicroSD
Boot your device in Recovery
Install Rom2SD_F2fs.zip
Install Rom2SD1.zip
Go to Mount option and make sure Data partition is unchecked ,if not,uncheck it and press Home icon to go back to the Main menu (don't press back)
Go to Wipe and press Format Data (this will format your external data partition to F2FS) - if is failing check the Mount option again
Install your favorite ROM (don't reboot)
Install an F2FS Kernel (don't reboot)
Install Rom2SD2.zip
Reboot and enjoy Rom2SD_F2FS
**** Tips ****
If you have a Backup for the Rom installed on external then you can restore your data and avoid the waste of time needed to configure everything again
Boot to Recovery
Install Rom2SD1.zip
Go to Restore and select the desired backup and check only Data
Swipe to restore and then reboot to system
******************* Back2EXT4 Script *******************
Description: This script will help you format the Data partition to EXT4 without the need to change the recovery.
Instructions:
**** Internal Data ***
Download Format Data to EXT4.zip from the download section and save it to MicroSD
Reboot to Recovery
Install Format Data to EXT4.zip --> Warning,your personal data will be lost
Now your data (mmcblk0p8) partition it's EXT4 but you can still use twrp_f2fs
**** External Data (Rom2SD/Data2SD setup) ***
Download Format Data to EXT4.zip from the download section and save it to MicroSD
Download Rom2SD1.zip from the download section and save it to MicroSD
Reboot to Recovery
Install Rom2SD1.zip
Install Format Data to EXT4.zip --> Warning,your personal data will be lost
Now your data (mmcblk1p2) partition it's EXT4 but you can still use twrp_f2fs
*********************************************************************************************************************************************************************************************************************
Note: As you can see there are several ways to get your system up and running after your Data partition was formated with F2FS.Also based on my tests you can use an "old" EXT4 backup to restore on F2FS and should work viceversa too.
I will also update this thread with info on how to go back to EXT4 without changing the recovery,and also i will try to modify the Data2SD/Rom2SD scripts and make them F2FS compatible.
And btw,please kick that THANKs button
Downloads
********************************************************* Downloads *********************************************************
++++++++ Kernels ++++++++
That_F2FS.zip --> MD5 Sum: 1165247d099f5dbd5f5a4d4a848ff186
Kernel_F2FS_Hund_v3.4.5 --> MD5 Sum: 888e71f5fade857ed7a062dc08b36d77
CM11_Kernel_F2FS.zip --> MD5 Sum: e9772d2b8a63a009d0499c43fb93a6db
Build by @sbdags F2FS kernels
++++++++ Recovery ++++++++
twrp_f2fs.blob --> MD5 Sum: 4391cdfac9bf9660f52b8b0081543ea0
++++++++ Rom2SD_F2FS++++++++
Rom2SD_F2fs.zip -- > MD5 Sum: f5629e4fc9c40cbb7590152001de8179
Rom2SD1.zip -- > MD5 Sum: f6a6b0e5f0260078782a86c2e60c664e
Rom2SD2.zip -- > MD5 Sum: e82008368cb8ee663a70e63c6cb10040
++++++++ Back2EXT4 Script ++++++++
Format Data to EXT4.zip -- > MD5 Sum: 7ddbbbbe5d7e3c546c46ab8c185b4a70
********************************************************* Sources *********************************************************
Recovery - build from the official sources available in Omnirom 4.4 tree (android_bootable_recovery)with @that kernel (kernel source ).
Hundsbuah kernel - original kernel from here + modified ramdisk
_that kernel - original kernel from here + modified ramdisk
CM11 kernel - Source + Patch
Pretoriano80 said:
Reboot to recovery (if the recovery was installed you will see the 4 linux penguins after pressing the RCK button)
Click to expand...
Click to collapse
Even if you hadn't told me before, I could guess which kernel your recovery is using.
Thanks for making this package available to all users!
A warning to all potential users of f2fs: There is still no program to repair a corrupted filesystem - fsck.f2fs can only detect corruption but not fix it. Don't store anything important on f2fs.
Do you run into any issue with this f2fs so far?
LetMeKnow said:
Do you run into any issue with this f2fs so far?
Click to expand...
Click to collapse
Nope, no issue so far. At some point i was afraid that internal storage will die on me with all the formatting, installing and erasing i've did during F2FS tests, but still no issues.
Sent from my Nexus 5
Thank you for the new recovery with f2fs support.
I'm running latest crombikk with your own cm kernel and the system is running smoothly. Androbench shows that the random write speed gets doubled.
However, my system is not completely stable. Sometimes it freezes without rebooting, specially trying to copy very large files. And sometimes the internal storage gets unmounted. I suppose it's kernel related.
Are you planning to give the option to format also /system and /cache on f2fs? Or you think it's not worth it?
deadlocked007 said:
So does this zips the full internal storage or just the data part with apps and stuff?
Sent from my HTCONE using Tapatalk
Click to expand...
Click to collapse
Internal storage will be completely wiped,so /data/media too.
ariadnejro said:
Thank you for the new recovery with f2fs support.
I'm running latest crombikk with your own cm kernel and the system is running smoothly. Androbench shows that the random write speed gets doubled.
However, my system is not completely stable. Sometimes it freezes without rebooting, specially trying to copy very large files. And sometimes the internal storage gets unmounted. I suppose it's kernel related.
Are you planning to give the option to format also /system and /cache on f2fs? Or you think it's not worth it?
Click to expand...
Click to collapse
Didn't experienced issues so far but i 'm using CromiX here.
F2FS it's useful mostly for random write (or writing operations in general) ,there's no point using it for /system or /cache imo.
Sent from my Nexus 5 using Tapatalk
I assume twrp_f2fs is compatible with the current .10 bootloader and all the current roms: CROMi-X 5.4, CROMBi-KK and CM 11?
Sent from my K00C using Tapatalk
berndblb said:
I assume twrp_f2fs is compatible with the current .10 bootloader and all the current roms: CROMi-X 5.4, CROMBi-KK and CM 11?
Sent from my K00C using Tapatalk
Click to expand...
Click to collapse
twrp_f2fs it's based on official TWRP 2.7.0 and it should work fine with latest bootloader and all ROMs.
Basically i tested all those roms mentioned in your post and are working fine.
Sent from my Nexus 5
Seems to work well! I'm on the 3-19 build of CM11. Had really major IO issues with the device, nothing would make it even remotely usable, even on the performance CPU profile in both the cpu govenor and the asus cpu changer. It was always slow and laggy, it would not handle multiple things well, you basically had to single task. However, flashing this, doing my usual modifications, and it's making this baby fly again. I can open multiple apps and actually navigate without too much lag. Not sure if it's a placebo effect, but so far, it seems great, I'm able to install multiple things at once. I'll see how long this lasts (Wiping the SD can have some beneficial effects too) and I'll try to give an update later, it usually slows down after a few weeks. But this could be "settling" still, it's a fresh flash, even so, I'm happy it's usable again!
Hey is there any method available yet for this to work with rom2sd? Just imagining F2FS, rom2d, cromix 5.4 and hunds ET
yew123 said:
Hey is there any method available yet for this to work with rom2sd? Just imagining F2FS, rom2d, cromix 5.4 and hunds ET
Click to expand...
Click to collapse
In theory it should work like any ROM2SD installation:
* install rom2sd1 to switch the device nodes to the external card
* format data to f2fs
* install your ROM and a kernel with f2fs-enabled fstab in the ramdisk, don't reboot
* install rom2sd2 to move the ramdisk files to the external /system and modify mount points
Disclaimer: Not tested, there may be issues with the CROMI-X installer trying to be too clever, ...
_that said:
In theory it should work like any ROM2SD installation:
* install rom2sd1 to switch the device nodes to the external card
* format data to f2fs
* install your ROM and a kernel with f2fs-enabled fstab in the ramdisk, don't reboot
* install rom2sd2 to move the ramdisk files to the external /system and modify mount points
Disclaimer: Not tested, there may be issues with the CROMI-X installer trying to be too clever, ...
Click to expand...
Click to collapse
Well as long as you only do the data partition it should be OK. I'll look into f2fs support this week.
_that said:
In theory it should work like any ROM2SD installation:
* install rom2sd1 to switch the device nodes to the external card
* format data to f2fs
* install your ROM and a kernel with f2fs-enabled fstab in the ramdisk, don't reboot
* install rom2sd2 to move the ramdisk files to the external /system and modify mount points
Disclaimer: Not tested, there may be issues with the CROMI-X installer trying to be too clever, ...
Click to expand...
Click to collapse
Thanks @_that, when i've got some free time i'll give it a go
CM10 kernel?
Have a request for you, guys. Can someone make f2fs kernel for CM10?
Because I really don't want update my TF700 to 4.4, and stock-based roms isn't my choice...
I made 2 kernels for CM11 for data2sd setup with f2fs (sorry I know not CM10). But here they are if anyone wants to test them.
_thatv9 cm11 data2sd f2fs
DOWNLOAD
md5 sum : 8c340aca96c50ed734b0c903b80d8312
Hunds 3.4.5 cm11 data2sd f2fs
DOWNLOAD
md5 sum : 92cbf93223c07410758feb9921694353
sbdags said:
I made 2 kernels for CM11 for data2sd setup with f2fs (sorry I know not CM10). But here they are if anyone wants to test them.
_thatv9 cm11 data2sd f2fs
DOWNLOAD
md5 sum : 8c340aca96c50ed734b0c903b80d8312
Hunds 3.4.5 cm11 data2sd f2fs
DOWNLOAD
md5 sum : 92cbf93223c07410758feb9921694353
Click to expand...
Click to collapse
These Kernels will work on all CM based roms not just cromi-kk?
Sent from my SPH-L710 using Tapatalk
Frostbiter said:
These Kernels will work on all CM based roms not just cromi-kk?
Sent from my SPH-L710 using Tapatalk
Click to expand...
Click to collapse
Should do.
delete please
sbdags said:
Should do.
Click to expand...
Click to collapse
I end up with encryption unsucessful error on boot using the _that/sbdags kernel then reboots and twrp runs an open recovery script, reformatting cache with the mk_ext4 (IIRC), then same error on boot.
The CM kernel runs smoothly for me, but cannot get the touchscreen to respond from a deep sleep. The screen will turn on / off with power button press, but unable to get past the reboot screen or slide to wake screen because there isn't a response with touch. Fully charged the screen reads 'connect your charger' and will not connect to adb so I could not get a log for you.
F2FS FOR EVITA ANY AOSP ROM
F2FS for EVITA
AOSP only!
Current CM or most any of our AOSP ROMs around here that use a current CM based kernel.
THIS IS EXPERIMENTAL AND HAS POTENTIAL FOR DATA LOSS IF DONE IMPROPERLY. IF YOU ARE NOT COMFORTABLE WITH THAT PLEASE DO NOT ATTEMPT. I CANNOT BE AVAILABLE FOR 24/7 SUPPORT ON THIS.
These mods will provide the ability to format /data and /cache in F2FS format instead of EXT4. Use extreme caution. The will erase your entire /data partition just like a clean flash. I cannot and will not be held responsible for your failure to keep backups handy. F2FS is still considered experimental by Samsung and should be by you the user as well.
What is F2FS?
F2FS wiki
Why F2FS?
F2FS put to the test vs EXT4
How to switch?
PLEASE READ INSTRUCTIONS CAREFULLY. IF NOT FOLLOWED YOU WILL LIKELY BOOTLOOP!!
F2FS capable TWRP Recovery 2.7.1.0 KK version
F2FS capable TWRP Recovery 2.8.5.0 KK versionThis is the same as the current official TWRP built with the added F2FS support commits. When wiping a partition you will have the option to reformat in F2FS now as well.
Kernel+fstab conversion zip Flash this after converting partitions to F2FS to install a CM kernel with F2FS support built in. This zip uses an anykernel installer so it should be comparable with most current ROMS. The zip will extract your current boot.img, unpack and replace your current fstab with a new fstab to indicate you current partition types, replace kernel with F2FS capable kernel , then repack and replace the boot.img
Fstab conversion zip For use only when you are already running a F2FS kernel and only need to update fstab after switching to/from F2FS/EXT4. This installer will only unpack, edit the fstab, and repack the boot.img. This will not replace the kernel, you must already be using an F2FS kernel or be returning to EXT4 only to make use of this zip.
DOWNLOADS NOW HOSTED @ CODEFI.RE
http://downloads.codefi.re/jrior001/Evita-f2fs
Procedure for fresh conversion including new Rom flashing:
1. Backup everthing you want to keep with titanium backup or whatever backup you choose.
2. Fastboot flash the new recovery img.
3. Run a twrp backup in case things get ugly!
4. Flash new ROM now if desired.
5. Still in recovery...Goto wipe -> hit Advanced wipe. Select data and hit change partition type. Convert to F2FS. Repeat for cache.
6. Flash the Kernel+fstab conversion zip.
7. Reboot and profit. Any partition app on market can confirm new format changes.
Procedure for nightly ROM updates after F2FS conversion:
1. Flaah nightly
2. Flash kernel+fstab conversion zip.
Procedure if you want to convert back and forth after initial conversion for testing purposes:
1. Change formats of data/cache as desired (only ext4 and f2fs supported).
2. Flash fstab conversion zip to update format types before attempting boot.
Code:
CHANGELOG
V1.0 - Initial release
V1.1 - added inline_data flag to F2FS mounts
V1.2 - updated to latest kernel/fstab as of 8/9
V2.0 - updated for cm-12.0
Source:
Kernel: https://github.com/jrior001/android_kernel_htc_msm8960/tree/cm-11.0-f2fs
Recovery tree: https://github.com/jrior001/twrp-htc-evita/tree/cm-12.0
Fstab scripts: https://github.com/jrior001/f2fs_fstab_convert_script
Devs, feel free to use or modify any of this for your own work just give thanks to where it came from. It was not all my original work, I must give thanks to Metallice and a few other devs in the grouper forum whose scripts I adapted for my own work.
XDA:DevDB Information
F2FS EVITA, Kernel for the AT&T HTC One X
Contributors
jrior001
Source Code: https://github.com/jrior001/f2fs_fstab_convert_script
Kernel Special Features: f2fs support
Version Information
Status: Beta
Current Beta Version: 1.0
Beta Release Date: 2014-07-08
Created 2014-07-09
Last Updated 2015-02-26
Links and Instructions are now up. As promised, F2FS support is now possible for /data and /cache on Evita. For now there is no support for converting /system to F2FS as most have said it does not show significant gains because there is far less writing to /system partition. Also, as of now the only way to support converting /system would require specific ROMs built specifically for F2FS on system. As I have done it here we remain flexible to flash any regular nightly and still enjoy the gains of F2FS on /data and /cache. Follow instructions carefully and enjoy.
If we were building an AOSP ROM, how would we have F2FS already enabled? just wondering if there was a way to eliminate a few steps
pandasa123 said:
If we were building an AOSP ROM, how would we have F2FS already enabled? just wondering if there was a way to eliminate a few steps
Click to expand...
Click to collapse
I've been following some other devices trials and tribulations with f2fs. Most other places I'm seeing dev convert the partitions in the device trees fstab. This results in a fixed f2fs or fixed ext4 ROM. As a dev that means building 2 ROMs which is a time waster.
With these fstab scripts I modded from the grouper forums I was able to make basically any aosp ROM adaptable to f2fs or ext4 for data and cache. I have included this same script work and the needed f2fs tools into the torched installer as well as the f2fs conversion zips.
Pandasa123 I have posted all the source in the f2fs thread. You really only need the kernel commits and the f2fs capable recovery along with my scripts. You could also build a fixed f2fs ROM if you chose and I have commits on my github and on CM gerrit to use as examples for that as well. I have also pushed kernel commits to CM gerreit in hopes that intervigil will merge them to make this a lot simpler but I highly doubt that will happen.
@pandasa123, little more info...
If you look through my fstab zip scripts you'll find that they check the partitions for filesystem type, unpack the boot.img and the edit the fstab accordingly for f2fs or ext4 with all the proper mount flags and then repack the boot.img.
This seemed to me to be an easy way for any user to get their feet wet on f2fs and it takes the extra work away from the devs having to cook duplicate roms. Flash any current ROM, then flash the conversion zip to get your fstab proper based on whatever partition format you are currently on.
There is also a movement on liquid smooth to incorporate this type of conversion script into the ROM zip but its still a huge wip.
Great work, what an awesome parting gift. I have to say again, you've been such a fantastic asset to the Evita forum, easily one of the most significant and high quality contributors we've had the privilege to have here. Really wish I could get my hands on a OnePlus One now!
Sent from my Evita
timmaaa said:
Great work, what an awesome parting gift. I have to say again, you've been such a fantastic asset to the Evita forum, easily one of the most significant and high quality contributors we've had the privilege to have here. Really wish I could get my hands on a OnePlus One now!
Sent from my Evita
Click to expand...
Click to collapse
Did you try the f2fs yet? Curious for some feedback on how it feels to others. @cannondaleV2000 was helping me test this for a week or so until he bricked his ville then other day(unrelated, switching hboots failed him).
I haven't yet, I'm a stay at home dad to a seven week old little girl so I struggle to find the time to even flash a ROM recently. If I get some free time (that's a fairly big if) I'll definitely test it out. It's a real shame about his Ville, I think he got really unlucky and his PC thermalled and rebooted on him during the hboot change. Pretty sure he's getting it jtagged though.
Sent from my Evita
jrior001 said:
Did you try the f2fs yet? Curious for some feedback on how it feels to others. @cannondaleV2000 was helping me test this for a week or so until he bricked his ville then other day(unrelated, switching hboots failed him).
Click to expand...
Click to collapse
I will test and report back with benchmarks shortly.
EXT4 vs F2FS benchmarks
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
These were done on the same ROM (PA 4.42 stock kernel, then PA 4.42 F2FS evita kernel), followed instructions exactly, rebooted and re-ran the benchmark several times with approximately the same results. Benchmarks were performed on the /data partition. Not sure why SQLite performance took such a hit...
sephiroth2k said:
Click to expand...
Click to collapse
Generally similar to what numbers I had as well. Noticeable gains in both continuous and random write speeds.
jrior001 said:
Generally similar to what numbers I had as well. Noticeable gains in both continuous and random write speeds.
Click to expand...
Click to collapse
Yeah definitely, just curious as to why SQLite was slower with faster random write benchmarks? Seems counter-intuitive; faster writes should mean faster database writes. Also, across multiple runs Browser and Camcorder opened more quickly with F2FS but Camera was slower. IANA filesystem developer however. Thanks for this awesome contribution to the evita scene.
---------- Post added at 09:33 PM ---------- Previous post was at 09:13 PM ----------
Hey I googled a little and found this, suggested issue was "I suspect that you turned on CONFIG_DEBUG_MUTEXES in your .config." # CONFIG_DEBUG_MUTEXES is not set in ville_defconfig . Just throwing it out there
sephiroth2k said:
Yeah definitely, just curious as to why SQLite was slower with faster random write benchmarks? Seems counter-intuitive; faster writes should mean faster database writes. Also, across multiple runs Browser and Camcorder opened more quickly with F2FS but Camera was slower. IANA filesystem developer however. Thanks for this awesome contribution to the evita scene.
---------- Post added at 09:33 PM ---------- Previous post was at 09:13 PM ----------
Hey I googled a little and found this, suggested issue was "I suspect that you turned on CONFIG_DEBUG_MUTEXES in your .config." # CONFIG_DEBUG_MUTEXES is not set in ville_defconfig . Just throwing it out there
Click to expand...
Click to collapse
Its off in Evita source as well. Appreciate the effort and I will look more at that commit as well.
I decided to give the F2FS a try and so I went with the latest CarbonKat and your Torched kernel. I haven't run any benchmarks and I'm still getting all my stuff put back on here but I must say that almost everything seems faster so far. Most noticeable differences so far for me are bootup time is significantly shorter and my phone didn't slow down much at all while installing my apps from the Play Store. Before the switch to F2FS, I had noticed that my phone would lag (sometimes badly) as I would go through the My Apps list in the Play Store and continue choosing apps to install while others were still downloading/installing. Also for me most apps seem to open a little faster than before and work more smoothly.
I do have a question for you about the TWRP backup/restore process with F2FS. Specifically, lets say I backup CarbonKat with the F2FS partitions and then install something else without F2FS (or restore another backup that is not F2FS). If I want to switch back, can I then just restore my TWRP backup of CarbonKat with F2FS? If not, can you recommend a process for that? I'm probably not going to switch from this setup for a while but its hard to tell.
Also, about using the kernel+fstab zip vs just the fstab zip...I used the fstab only zip after flashing your kernel (which already has F2FS support) and that worked out fine for me. But, could I just always use the kernel+fstab zip even if the kernel I flash already has F2FS support?
Hope these questions are ok and thank you for all that you've done for our devices. This F2FS change is one of the most noticeable performance increases I've seen on my Evita and it's been my daily driver since AT&T released it back in 2012. Are there any benchmarks that you'd like me to run or any questions I might be able to answer for you on my usage/experience? If so, I may have to ask for detailed instructions if there's something I haven't needed to do before with android (still learning).
budroid said:
I decided to give the F2FS a try and so I went with the latest CarbonKat and your Torched kernel. I haven't run any benchmarks and I'm still getting all my stuff put back on here but I must say that almost everything seems faster so far. Most noticeable differences so far for me are bootup time is significantly shorter and my phone didn't slow down much at all while installing my apps from the Play Store. Before the switch to F2FS, I had noticed that my phone would lag (sometimes badly) as I would go through the My Apps list in the Play Store and continue choosing apps to install while others were still downloading/installing. Also for me most apps seem to open a little faster than before and work more smoothly.
Click to expand...
Click to collapse
That's bid difference I saw as well, apps install and load a bit quicker.
budroid said:
I do have a question for you about the TWRP backup/restore process with F2FS. Specifically, lets say I backup CarbonKat with the F2FS partitions and then install something else without F2FS (or restore another backup that is not F2FS). If I want to switch back, can I then just restore my TWRP backup of CarbonKat with F2FS? If not, can you recommend a process for that? I'm probably not going to switch from this setup for a while but its hard to tell.
Click to expand...
Click to collapse
If you ran a backup of your old ext4 /data partition and attempt to restore it, TWRP will restore it exactly as it was, in ext4. Lable your backups yo make it easier on yourself!! Twrp will restore in the same format as it was when backed up. Make sure you run the fstab script afterwards or you will bootloop while it fails to load /data.
budroid said:
Also, about using the kernel+fstab zip vs just the fstab zip...I used the fstab only zip after flashing your kernel (which already has F2FS support) and that worked out fine for me. But, could I just always use the kernel+fstab zip even if the kernel I flash already has F2FS support?
Click to expand...
Click to collapse
Yes but it will replace your kernel with a basic CM kernel w/f2fs support. If you want to run torched you made the right choice using the fstab only.
EDIT: Torched Installer includes the conversion script as well now.
budroid said:
Hope these questions are ok and thank you for all that you've done for our devices.
Click to expand...
Click to collapse
Great questions!! And your welcome, I've learned tons messing with this over the last 2 years
Flashed torched instead of Evita f2fs and speeds are much better.
sephiroth2k said:
Flashed torched instead of Evita f2fs and speeds are much better.
Click to expand...
Click to collapse
Could you please define "speeds"? Do you have any supportive data or is this just anecdotal?
Sent from my Evita
timmaaa said:
Could you please define "speeds"? Do you have any supportive data or is this just anecdotal?
Sent from my Evita
Click to expand...
Click to collapse
Torched F2FS is on the right in attached image. As you would say, read the thread - I've been posting benchmarks . I'm at work, didn't attach first try.
sephiroth2k said:
Torched F2FS is on the right in attached image. As you would say, read the thread - I've been posting benchmarks . I'm at work, didn't attach first try.
Click to expand...
Click to collapse
Yeah I've seen your earlier posts, was just wondering where the benchmarks were this time.
Sent from my Evita
timmaaa said:
Yeah I've seen your earlier posts, was just wondering where the benchmarks were this time.
Sent from my Evita
Click to expand...
Click to collapse
No problem - difference is incredible - apps install and open much faster, everything seems smoother (this is subjective of course). Thanks @jrior001 for breathing new life into my aging evita :highfive:
The Kernal Source has been released by Razer.
Links to the source is at the bottom of this page:
http://support.razerzone.com/mobile/razer-phone
Here are the links to the source just in case:
MR1 Releases:
Build 853
Build 851
Production Releases:
Build 822
Build 813
It has been talked about already but not in this section. This is where it belongs and nice job posting direct links to it.
https://forum.xda-developers.com/razer-phone/how-to/source-code-posted-t3719665
MedicStuder said:
Surprised no one else posted in the section with this. The Kernal Source has been released by Razer which means modding can start.
https://www.xda-developers.com/razer-phone-kernel-source-code/
http://www.androidpolice.com/2017/12/15/kernel-source-code-just-released-razer-phone/
https://www.gizchina.com/2017/12/16/razer-releases-kernel-source-files-razer-phone/
Links to the source is at the bottom of this page:
http://support.razerzone.com/mobile/razer-phone
Here are the links to the source just in case:
MR1 Releases:
Build 853
Build 851
Production Releases:
Build 822
Build 813
Click to expand...
Click to collapse
I mentioned it in the factory image thread 5 days ago
Mods, can we pin this in the dev section since it contains the links to the needed source code for development purposes. Seems appropriate to have it pinned in this thread. thanks.
I've also got the kernel source going with CAF history included (based on LA.UM.5.7.r1) at https://github.com/jcadduono/android_kernel_razer_msm8998/tree/android-7.1
Fixed a minor bug and added some build scripts to simplify the process of configuring and building.
Added qcacld-3.0 sources into the kernel build for WiFi drivers but I appear to be missing something so it doesn't build. :/
I'm sure someone here can figure that out!
For TWRP support, essentially you'll need to build the stock kernel with additional options like f2fs and exFAT if desired. The OS and TWRP will be sharing the same kernel binaries due to the A/B setup so you *will* need to build the WiFi driver, even for recovery.
If someone is daring enough, they can simply build TWRP normally (ex. for a non-A/B device), flash it to boot_b or boot_a partition (depending what's active), boot up TWRP, and make backups of the opposite A/B partitions.
This can't actually be too hard to do, Dees_Troy has already done most of the work by supporting A/B on Pixel devices already.
I suppose I'm willing to give it a try if anyone is willing to possibly lose the ability to get into the OS until Razer releases factory images.
The chance of that happening is pretty slim, as long as we're only flashing the *active* boot partition (we'll check that in OS using mount command), we should be able to simply grab a copy of the opposite boot partition and restore it to how it was.
YOU CAN simply use fastboot to swap to the other boot partition, restoring your OS to bootable even if TWRP fails to work. (we will test this first to make sure Razer has enabled this option...)
Probably safe, but there's just that risk.
As I'm unsure exactly how to compile the WiFi drivers right now, I'll do this:
Create a normal TWRP image, which you can flash to your *active* boot partition.
Create a TWRP flashable zip that will take the ramdisk from the active boot partition and flash it to the inactive boot partition's boot image, then flash the inactive boot partition's image to your active boot partition.
Result: Both partitions contain the original stock kernel image with TWRP support and a fully working OS.
Slight issue: F2FS won't be supported because the stock kernel will have module signing enabled and TWRP won't be able to load it.
I'm also fairly certain I'll never get decryption working myself for this device...it looks like the vendor partition may be required and it is already encrypted itself? (not encrypted on the Pixel 2 so this is new)
Dees_Troy will be getting his Razer Phone next week. If anyone can get TWRP working it's him. No need to worry ?
MishaalRahman said:
Dees_Troy will be getting his Razer Phone next week. If anyone can get TWRP working it's him. No need to worry ?
Click to expand...
Click to collapse
No way! :victory:
That's the best news I've heard yet
---------- Post added at 04:44 AM ---------- Previous post was at 04:30 AM ----------
jcadduono said:
I've also got the kernel source going with CAF history included (based on LA.UM.5.7.r1) at https://github.com/jcadduono/android_kernel_razer_msm8998/tree/android-7.1
Fixed a minor bug and added some build scripts to simplify the process of configuring and building.
Added qcacld-3.0 sources into the kernel build for WiFi drivers but I appear to be missing something so it doesn't build. :/
I'm sure someone here can figure that out!
For TWRP support, essentially you'll need to build the stock kernel with additional options like f2fs and exFAT if desired. The OS and TWRP will be sharing the same kernel binaries due to the A/B setup so you *will* need to build the WiFi driver, even for recovery.
If someone is daring enough, they can simply build TWRP normally (ex. for a non-A/B device), flash it to boot_b or boot_a partition (depending what's active), boot up TWRP, and make backups of the opposite A/B partitions.
This can't actually be too hard to do, Dees_Troy has already done most of the work by supporting A/B on Pixel devices already.
I suppose I'm willing to give it a try if anyone is willing to possibly lose the ability to get into the OS until Razer releases factory images.
The chance of that happening is pretty slim, as long as we're only flashing the *active* boot partition (we'll check that in OS using mount command), we should be able to simply grab a copy of the opposite boot partition and restore it to how it was.
YOU CAN simply use fastboot to swap to the other boot partition, restoring your OS to bootable even if TWRP fails to work. (we will test this first to make sure Razer has enabled this option...)
Probably safe, but there's just that risk.
As I'm unsure exactly how to compile the WiFi drivers right now, I'll do this:
Create a normal TWRP image, which you can flash to your *active* boot partition.
Create a TWRP flashable zip that will take the ramdisk from the active boot partition and flash it to the inactive boot partition's boot image, then flash the inactive boot partition's image to your active boot partition.
Result: Both partitions contain the original stock kernel image with TWRP support and a fully working OS.
Slight issue: F2FS won't be supported because the stock kernel will have module signing enabled and TWRP won't be able to load it.
I'm also fairly certain I'll never get decryption working myself for this device...it looks like the vendor partition may be required and it is already encrypted itself? (not encrypted on the Pixel 2 so this is new)
Click to expand...
Click to collapse
I'm willing to temporarily sacarfic my device for this. I will message you tomorrow morning and we can give it a shot.
We have lift off! @jcadduono you were right :highfive:
Waiting on you for further instructions on how to proceed.
Even if this leads to no where it sure feels damn good to see the twrp logo.
Everything is going well, we're getting copies of each partition and I'm working on making factory restorable images right now.
I am fairly certain I can even support encryption on this device with no issues.
The device itself actually supports hardware Qualcomm full-disk encryption like most non-Google Qualcomm devices so it's nothing new!
However, the Razer Phone supports HW encrypted SDcards like LG does, so TWRP needs support in the actual crypto code used in the project to work with encryptable sdcards. Maybe Dees_Troy will be up to that task when he gets his phone.
TWRP images will be distributed like so:
- A twrp.img file that you flash to your active boot partition
- A zip file that copies the TWRP ramdisk from your active boot partition into your inactive boot partition, then copies your inactive boot partition to your active boot partition
The zip file will effectively install TWRP and the next time you boot TWRP it will be relying on your ROM's kernel instead of the TWRP kernel.
jcadduono said:
Legend!
Mad props to you, can't wait to see more! :good: This will be a good Christmas, can I ask whether being carrier or not will matter for installation?
Click to expand...
Click to collapse
@jcadduono Legend!
Mad props to you, can't wait to see more! :good: This will be a good Christmas, can I ask whether being carrier or not will matter for installation?
P.s I'll take a pop if you want a second test
thread stuck like Chuck for now, hopefully we can get some dev going for this device.
yeahh !!!!!!! wake up dev teams !!
Any information regarding Franco kernel?
My brother has got a POCO F1 and, he wanted to format his userdata and cache partitions like me (Mi 6 user here, AEX Pie + Vantom Kernel) to F2FS on his POCO.
What I've tried (and succeeded) is, adding the lines from my fstab file to his fstab.
Here's the steps we've followed:
- We've installed 9.1.24 Global Developer fastboot firmware by using the MiFlashTool (because AEX 6.3's flashable zip gave an error and told us to update to that version in the output).
- Then we've installed OrangeFox 9.0.1 as it also supports F2FS.
- Then I've got that fstab file, added the 2 lines for userdata and cache into it for F2FS, from my fstab (same android versions and kind of identical partition tables like my Mi 6 so, we tried - and succeeded, please follow).
- Then we've formatted the userdata and cache partitions to F2FS in the recovery.
- Then we've flashed AEX 6.3, Sphinx Kernel (looks nice, I may get some ideas from that) and the flashable* (see the attachments, alongside the original fstab from that version) "FSTAB-EXT4&F2FS-encryptable=footer-BERYLLIUM.zip" that I've made for the fstab.
- Then the GApps (particularly, OpenGapps Nano variant) and the other stuff like fonts etc (not important to specify but meh).
Then the system booted just fine, we've tried everything we could imagine to test and it seems working totally fine.
* Because of I was just lazy (lol) and used that old ass ZipMe app to create the flashables below, before flashing them you have to mount Vendor partition from the Mount screen of the OrangeFox/TWRP to get the the new fstab file written successfully.
> Also note that because of the POCO lacks a proper encryption method on F2FS (just like my Mi 6) your userdata partition will remain unencrypted by using this fstab file.
> For any reasons if you'd want to have your original fstab file back (even though this new one would work just fine for default EXT4 too), you can use the other flashable that I've attached below.
I hope this would be helpful for anybody so sharing the steps and ideas.
I think the same idea could be applicable to the combinations of other kernels that support F2FS and (I don't know, if anybody tries it please tell in the comments) even for MIUI (with a kernel that supports both F2FS and MIUI of course).
If you have any questions or suggestions, (preferably) tell in the comments or if you really want, you can also send pm for various reasons.
I hope that support for F2FS gets improved over time so everybody gets to use it on their devices lol, it's the healthy decision for the flash based storages (check the up to date documentations before starting a flame war or I'll ignore your ignorance - I'm just trying to help here and I feel bad for having to state this here explicitly, on my own behalf).
Note that, I'm not responsible for any possible damages/data losses to your phone (you know the drill here at XDA)/thermonuclear war or whatever; so please use your own brain and make your preliminary research and take precautions before trying anything that you aren't familiar with. Thanks.
Did you tried MIUI + Sphinx + F2FS?
Does official twrp support f2fs for poco
I'm on newest 9.2.18 firmware, can i use f2fs zip in this thread?
can i install this on stock miui 10.2.2.0 with custom extreme kernel???
It's working on Havoc 2.2 (19.2.11) and kernel eXtremeKernel_V9.1.
Thanks for sharing it.
Hello everyone, how to install FSTAB EXT4 file? I just can not. And you can throw this file into the firmware file?
---------- Post added at 12:12 PM ---------- Previous post was at 12:08 PM ----------
Adriano-A3 said:
It's working on Havoc 2.2 (19.2.11) and kernel eXtremeKernel_V9.1.
Thanks for sharing it.
Click to expand...
Click to collapse
How did you establish FSTAB EXT4 that works for you?
IronRUS said:
Hello everyone, how to install FSTAB EXT4 file? I just can not. And you can throw this file into the firmware file?
---------- Post added at 12:12 PM ---------- Previous post was at 12:08 PM ----------
How did you establish FSTAB EXT4 that works for you?
Click to expand...
Click to collapse
mount | grep f2fs
Is it possible to modify system to boot f2fs also?? Thanks in advance
Working on firmware 9.2.18, Havoc 2.2, Sphinx 2.5 & Micro Gapps.
Awesome
Is it all under the hood changes?
I don't see any particular increase in speed.
And can the system be f2fs too?
Thanks and keep up the great work. @Ccelik9
MadMelman said:
Working on firmware 9.2.18, Havoc 2.2, Sphinx 2.5 & Micro Gapps.
Awesome
Is it all under the hood changes?
I don't see any particular increase in speed.
And can the system be f2fs too?
Thanks and keep up the great work. @Ccelik9
Click to expand...
Click to collapse
Well as i know ,you simply can't, every ROM installation will re-format /system to ext4 automatically
MadMelman said:
Working on firmware 9.2.18, Havoc 2.2, Sphinx 2.5 & Micro Gapps.
Awesome
Is it all under the hood changes?
I don't see any particular increase in speed.
And can the system be f2fs too?
Thanks and keep up the great work. @Ccelik9
Click to expand...
Click to collapse
You can check the filesystem in Android by some apps like DiskInfo
The system cannot be f2fs since most roms target an ext4 /system partition when installing, so it would always format the system partition to ext4. Eventhough you can backup and restore all of its data once you convert, it would be formated back to ext4 the next time you flash anyway
Jole7 said:
Is it possible to modify system to boot f2fs also?? Thanks in advance
Click to expand...
Click to collapse
It's useless. F2FS is good to random write. /system is entirely read-only.
I will try to make it for system partition as an experiment
aside from /cache you shouldn't use f2fs on any other partition really. Maybe put it on /data for a few benchmark run to laugh at the score, but the performance degradation is too high and unpredictable
pipyakas said:
aside from /cache you shouldn't use f2fs on any other partition really. Maybe put it on /data for a few benchmark run to laugh at the score, but the performance degradation is too high and unpredictable
Click to expand...
Click to collapse
Performance "degradation" because of formatting data to F2FS? Nope.
MadMelman said:
Working on firmware 9.2.18, Havoc 2.2, Sphinx 2.5 & Micro Gapps.
Awesome
Is it all under the hood changes?
I don't see any particular increase in speed.
And can the system be f2fs too?
Thanks and keep up the great work. @Ccelik9
Click to expand...
Click to collapse
Well, your filesystem is itself is the one that's "under the hood". You may notice faster system bootups, app launches and also some in app responsiveness improvements if a particular app is constantly trying to access the storage to record "random" stuff into it's databases.
For system, nope as the others explained before me. I think that it's enough for cache and userdata partitions.
Rommco05 said:
Will attached files works also for Mi8?
Click to expand...
Click to collapse
I don't know, compare the mount points in your current fstab file. If they're similar to F1's then you may try what I've done here.
Dan_Jacques said:
Did you tried MIUI + Sphinx + F2FS?
Click to expand...
Click to collapse
Nope, we stay away from that crap xd but you can try if you wish.
thanhnvt194 said:
I'm on newest 9.2.18 firmware, can i use f2fs zip in this thread?
Click to expand...
Click to collapse
Yes. As long as the mount points stay the same, you can continue to use it.