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:
Related
Back story:
I bought a Moto X during the $100 off promotion and while I was waiting for it to be delivered, I read reviews and poked around online for interesting things about the phone. As an 8GB Nexus 7 owner, the one thing that caught my eye the most was this section of the Anandtech review discussing internal storage performance. Considering how badly my N7's storage performance degraded and how unbearably slow it has become, I felt like it could make good use of this "flash friendly file system." Some Googling revealed that the F2FS driver was developed by Samsung and actually contributed to the official kernel, where it was implemented somewhere around 3.8. I've done some development for an HTC phone in the past, but never for the Nexus 7, so I went and researched the kernel. Because Google's Tegra 3 kernel is based on 3.1, I had to start working on backporting the driver, when I discovered this repository of backports for F2FS. It provides patches for 3.0 and 3.2, but not for 3.1, so I manually applied appropriate changes from each. When I flashed the kernel and booted, it seemed to work, so I went ahead and injected the kernel into the latest TWRP image as well. I also modified the fstab for both the recovery and ROM and compiled Cyanogenmod's f2fs-tools for Android and statically linked them before injecting them into TWRP as well. I then booted into recovery, formatted /data (TWRP knew to use mkfs.f2fs), and booted back into Android. Success, it worked! I've been using my Nexus 7 like this since Friday evening and it's been so much more usable. Not perfectly "like-new" smooth, but it doesn't hang as often or as long.
I haven't seen anyone actually try this yet so I'm hoping my effort will be able to make a difference for N7 owners fed up with slow performance. Switching to f2fs is as easy as flashing a modified kernel and recovery, then doing a factory reset. Also, any interested developer is more than welcome to use anything I post here.
Basically, I took the official Tegra 3 kernel and did this:
KERNEL PATCH
Then modified the stock ROM's fstab like this:
FSTAB
Then I gave TWRP statically-linked f2fs-tools binaries:
F2FS-TOOLS
Then I reformatted /data and away it went:
{
"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"
}
I'm going to reboot into Linux and attach my boot/TWRP images for you guys to test out. Until then, I'd love to have some feedback.
What do you think about using f2fs on the Nexus 7?
Is it worth it?
What kind of impact on performance or battery life do you think this will have?
Did I do something seriously wrong with my kernel/fstab?
Am I absolutely insane and dangerous to everyone's Nexus 7 tablets and their puppies?
Image Downloads
Android File Host | Google Drive
Instructions:
WARNING: This process obviously will wipe your data. Make a NANDroid backup beforehand and save it to your computer. While I personally use this, I take no responsibility for damage done to your device.
Flash boot and recovery like usual:
Code:
$ fastboot flash boot boot-F2FS.img
$ fastboot flash recovery openrecovery-twrp-2.6.3.1-grouper-F2FS.img
Format Data in TWRP
Reboot
Done!
Note that these are for the latest official 4.4.2 build KOT49H.
Let me know how your performance and battery life change after applying this. Storage performance should noticeably increase and battery life change should be negligible.
Excellent, hope you'll get around and do it for rest of the Nexus line too (greetings from Reddit). :]
This actually looks pretty interesting. Do you have any benchmark result?
I hope some of the kernel devs around here will pick up your idea.
The kernel devs can integrate the kernel patch and the fstab patch to some extent but definitely not the recovery patch. I'm going to try this tomorrow or the day after.
Great work.
Excellent idea - I'm highly interested in the results. My 2012 N7 is starting to look quite pokey alongside my N5, so if this provides an improvement I'm all over it.
madd0g said:
Excellent, hope you'll get around and do it for rest of the Nexus line too (greetings from Reddit). :]
Click to expand...
Click to collapse
Unless I get distracted, the plan is to do this for the Nexus 4. My goal is to expose this sort of thing to existing developers and let them handle the logistics. I've always been terrible about sticking to a project.
Erovia said:
This actually looks pretty interesting. Do you have any benchmark result?
Click to expand...
Click to collapse
Not yet. This is what I had to sat about benchmarks in the Reddit thread:
ss2man44 said:
The only problem is that the Nexus 7 performs at its worst after the media has been used for a while and filled with data. I'm hoping others will provide their experiences under these conditions, but if need be, I'll do some benchmarks of my own when I have time.
Click to expand...
Click to collapse
sgt. meow said:
The kernel devs can integrate the kernel patch and the fstab patch to some extent but definitely not the recovery patch. I'm going to try this tomorrow or the day after.
Great work.
Click to expand...
Click to collapse
This is exactly what I hoped for when I posted this. Kernel developers can merge this patch and if it gains enough attention, perhaps conventions could be established around specifying which filesystem a kernel/recovery is designed for. Built-from-source recoveries with F2FS support would be nice as well.
ss2man44 said:
Unless I get distracted, the plan is to do this for the Nexus 4. My goal is to expose this sort of thing to existing developers and let them handle the logistics. I've always been terrible about sticking to a project.
Not yet. This is what I had to sat about benchmarks in the Reddit thread:
This is exactly what I hoped for when I posted this. Kernel developers can merge this patch and if it gains enough attention, perhaps conventions could be established around specifying which filesystem a kernel/recovery is designed for. Built-from-source recoveries with F2FS support would be nice as well.
Click to expand...
Click to collapse
The patch applied cleanly (the second time I've ever seen a patch do that). Good job.
I'll compile and flash to see if it boots (there are issues with my kernels) and if all goes well I'll switch completely to F2FS.
sgt. meow said:
The patch applied cleanly (the second time I've ever seen a patch do that). Good job.
I'll compile and flash to see if it boots (there are issues with my kernels) and if all goes well I'll switch completely to F2FS.
Click to expand...
Click to collapse
Well it booted on one ROM that has no issues with SELinux and the other didn't boot although the same config without F2FS boots fine. Strange.
Sent from my Nexus 7 using Tapatalk
OMG
At first when I tried this I wasn't expecting this great deal of performance just by a file system change but boy was I wrong
The benchmark aren't higher but the the system performance is quite noticeable when using
This combines with FSync Off and nexus 7 will be flying
f2fs implementation on the note2 and s3 on all partitions: kernel & recovery and a compatible rom for the s3...perhaps you might get some help from those devs. using it on my s3 and the performance has been great. not entirely sold on benchmarks but on ext4 i was getting 14-15k on antutu. w/ f2fs on the same cpu/gpu speeds, i'm getting 18-19k. HTH
would really like to see this implementation on our beloved n7
maxq1 said:
f2fs implementation on the note2 and s3 on all partitions: kernel & recovery and a compatible rom for the s3...perhaps you might get some help from those devs. using it on my s3 and the performance has been great. not entirely sold on benchmarks but on ext4 i was getting 14-15k on antutu. w/ f2fs on the same cpu/gpu speeds, i'm getting 18-19k. HTH
would really like to see this implementation on our beloved n7
Click to expand...
Click to collapse
Using it on all partitions is very trivial and doesn't need any more kernel modifications. I just limited it to /data/ because that's what Motorola did and it seems to work very well for them. I also didn't know whether or not it would cause any problems in the long run.
Feedback
1. What do you think about using f2fs on the Nexus 7?
2. Is it worth it?
3. What kind of impact on performance or battery life do you think this will have?
4. Did I do something seriously wrong with my kernel/fstab?
5. Am I absolutely insane and dangerous to everyone's Nexus 7 tablets and their puppies?
Click to expand...
Click to collapse
1. It's about time I ditch ext4!
2. it doesn't matter, you're learning new stuff:highfive:
3. Only the benchmark wil tell the troth
4. why did you add discard? doesn't android automaticlly trim partitions?
alifa said:
1. It's about time I ditch ext4!
2. it doesn't matter, you're learning new stuff:highfive:
3. Only the benchmark wil tell the troth
4. why did you add discard? doesn't android automaticlly trim partitions?
Click to expand...
Click to collapse
Bro benchmarks show no real world performance only the raw power of the device.
buggatti said:
OMG
At first when I tried this I wasn't expecting this great deal of performance just by a file system change but boy was I wrong
The benchmark aren't higher but the the system performance is quite noticeable when using
This combines with FSync Off and nexus 7 will be flying
Click to expand...
Click to collapse
Do you mind sharing your results.. perhaps with a youtube video? I'm highly interested in trying _anything_ that might speed up my 2012 Nexus 7.
TWRP 2.7 has released. Any chance we could get a F2FS modified version of it please? Version 2.6.3.1 isn't working on my Nexus 7 and I downloaded it twice now. Just stays at the splash screen forever.
Next logical step is formatting system in F2FS format and see if its worth it.
Sent from my Nexus 4 using Tapatalk
Still planning to release this for nexus 4?
Can fstab be copied from a ROM that is already using f2fs to a rom that is not using f2fs? Or is this something that needs to be coded properly and built normally on a linux machine?
I just want to have /data formatted to f2fs (maybe even /cache). My /data partition is already f2fs, but the ROM I want does not support it, so I am sure it would not boot until I can modify fstab.
SkOrPn said:
Can fstab be copied from a ROM that is already using f2fs to a rom that is not using f2fs? Or is this something that needs to be coded properly and built normally on a linux machine?
I just want to have /data formatted to f2fs (maybe even /cache). My /data partition is already f2fs, but the ROM I want does not support it, so I am sure it would not boot until I can modify fstab.
Click to expand...
Click to collapse
fstab is part of the ramdisk in the boot.img. You would need the fstab file and a f2fs supported kernel for it to work with the other rom. Have you tried just flashing the boot.img-f2fs from OP?
HypoTurtle said:
fstab is part of the ramdisk in the boot.img. You would need the fstab file and a f2fs supported kernel for it to work with the other rom. Have you tried just flashing the boot.img-f2fs from OP?
Click to expand...
Click to collapse
Um no I haven't. I did try and use osmosis's kitchen and I swaped the fstab for the correct one. I was going to just edit it with my favorite notepad program but decided I wasn't sure I'd get it right.
It did not work. Not sure why.
Sent from my Nexus 7 using Tapatalk
This started out as a little side project on the OmniROM threads, and it's about time some things are clarified, and what exactly done, is explained.
Currently, only a modified version of TWRP 2.7 recovery is available, and we *might* support other recoveries soon
We have moved ahead of the TWRP 2.7.0.0 originally available in orig-development, to 2.7.1.0, and eventually to 2.8.0.0 too. Enjoy!
What is aw3som3?
Developers have long tried to sqeeze in ROMs into legacy devices with low internal memory, and one of the ways to do this was by using custom tailored mtd_parts, which gave the kernel a partition table to use, with resized partitions. This was widely used on many devices like the HTC G1, MT3G, Hero, Evo4G, Desire, etc.
While that was a viable option for the HTC Pico, a small "problem" that popped up was that different phones have different NAND Devices, with different partition tables and pagesizes. Incase the modified custom mtd_parts even accidentally touched the boot partition, or has been offset'ed out of the available space, a partition would be lost.
As a solution, dynamically obtain 32 mB from userdata partition, and 48 mB from the cache partition, and hax the partition table as soon as the information is got from ATAG. This should make this method work on *almost* all Pico's out there, which have partition layouts as misc:recovery:boot:system:cache:userdata:devlog and partitions in the order misc:rec..cache:devlog:userdata.
Click to expand...
Click to collapse
I've changed the partition table layout, without modifying the actual mtdblock<n>, thus no further fstab/ramdisk editing is required.
table: 0->misc::1->recovery::2->boot::3->system::4->cache::5->userdata::6->devlog
original layout : recovery:boot:system:cache:devlog:userdata:misc
new layout : recovery:boot:misc:devlog:userdata:cache:system
To developers:
In case you want to modify any of the partition size defines, there are three defines, CACHE_SIZE_LEAVE, USERDATA_SIZE_LEAVE, and DEVLOG_SIZE_LEAVE. This, will leave that much mB as defined, and take the rest, put it in system partition. The default defines are: 8, 4 and 1 respectively.
You may clone this repo, and follow the following steps:
download and compile kernel from android-4.4-recovery branch from https://github.com/thewisenerd/android_kernel_htc_pico
put compiled zImage (arch/arm/boot/zImage) in root directory (i.e. cloned directory)
run the following command to repack recovery ./repack.sh
output recovery would be in output/recovery.img
Downloads:
TWRP 2.8.0.0: http://forum.xda-developers.com/showpost.php?p=56168368&postcount=125
[*] TWRP 2.8.0.0: http://forum.xda-developers.com/showpost.php?p=55685051&postcount=108(26 sep 2014)
[*] Modified TWRP 2.8.0.0: http://forum.xda-developers.com/showpost.php?p=55430289&postcount=106(14 sep 2014)
[*] Modified TWRP 2.8.0.0: http://forum.xda-developers.com/showpost.php?p=55375649&postcount=104(11 sep 2014)
[*] Modified TWRP 2.7.1.0: http://forum.xda-developers.com/showpost.php?p=55246774&postcount=97 (05 sep 2014)
[*] Modified TWRP 2.7.0.0: http://forum.xda-developers.com/showpost.php?p=54709263&postcount=69 (09 Aug 2014)
[*] Modified TWRP 2.7.0.0: http://forum.xda-developers.com/showpost.php?p=54688800&postcount=65 (08 Aug 2014)
[*] Modified TWRP 2.7.0.0: http://forum.xda-developers.com/showpost.php?p=54484381&postcount=58 (30 Jul 2014)
[*] Modified TWRP 2.7.0.0 (resized): http://forum.xda-developers.com/showpost.php?p=53704940&postcount=6
[*] Modified TWRP 2.7.0.0: http://d-h.st/I4L
Kernel: You may use CodyKernel or the kernel provided by your ROM's developer that supports aw3som3.
Q: How to use?
A:
Wipe the system, data and cache partition.
fastboot flash the given recovery.img.
wipe the system, data and cache partitions, again. preferably use flash_erase on the partitions.
flash your preferred ROM
flash the given kernel, *with* aw3som3
you're good to go!
Sources
you can get the patches here:
PS#1: 0001-aw3som3-hax-the-partition-table.patch
PS#2: 0002-aw3som3-set-msm_nand_data.parts-later.patch
PS#3: 0003-aw3som3-rearrange-and-relay-the-partition-table.patch
thewisenerd said:
I've moved all the partition re-laying, resizing, etc, to a separate file, in drivers/misc, which should help keep clean the nand_partitions.c file, and we would have to worry only about one file, and related code. It also means that awesom3 is reduced to one patch
Click to expand...
Click to collapse
PS#1 (26Sep'14):
0001-awesom3-hax-the-partition-table.patch
0002-awesom3-allow-a-128-mB-userdata.patch
XDA:DevDB Information
awesom3, Tool/Utility for the HTC Pico (Explorer)
Contributors
thewisenerd
Version Information
Status: Stable
Created 2014-10-21
Last Updated 2014-10-21
Reserved
Questions&Answers
Q: Does this work?
A: Yes, it does
Q: Will it work on my phone?
A: no. it will blast into pieces. jk.
Yes, it should. The main reason that partitions are dynamically resized, is to avoid having to create tailor-made hex values for every type of NAND device that different picos have.
Q: why the name awesom3?
A: A couple of reasons, actually. I was using the awesome D.E. in my distro a few days before I wrote this patch. I liked that UI, mainly because it was cluster-free, and the maximum available space was always used.
Another, was a couple of twn_oc_helper scripts which I had written before this. I had decided to get rid of the scripts, once and for all, due to various reasons (you can read them here), and the working dir for those scripts was named awesom3. The name just stuck by, and voila!
misc
- setting timezone
1. settings-> Time Zone -> set timezone (closest) and offset.
Reserved
changelog
21Oct2014
- 128 mB userdata partition
- Fix wiping crash when block device is not present (credits to Ethan Yonker)
- mtp: fix log spam: findNode not finding a node is not an error (credits to that)
- Update reference to 24-hour clock (credits to Captain Throwback)
- display cpu temperature in twrp use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path (credits to Jenkins)
- Add support for TrueType fonts (credits to Vojtech Bocek)
- Fix exfat-fuse handling (credits to Dees Troy)
- performance profile support (credits to Tom Hite)
- mtp: cleanup, fixes and performance improvements (credits to that)
- Update RECOVERY_VARIANT blocking to use project-path-for (credits to Matt Mower)
- Attempt to fix md5 issue with backups (credits to Captain Throwback)
- applypatch: add support for BML partitions (credits to Conn O'Griofa)
- atime is access time, let's just use mtime (credits to Jenkins)
- Remove extra slashes from zip path in openrecovery (credits to Matt Mower)
- Fixes for exfat-fuse (credits to Captain Throwback)
- recovery: Fix adb with linux 3.10 (credits to Benoit Goby)
- ADB sideload command not work (credits to Da Zhou)
- Check sehandle before fixing permissions (credits to Dees Troy)
- Attempt to automatically identify data/media devices (credits to Ethan Yonker)
older logs:
26sep'14
Fix handling of MTP fork/child process (upstream)
Include no strict aliasing for MTP (upstream)
Additional checks to prevent partitioning internal storage (upstream)
pico: use twrp.fstab (help unify recovery compilation with device tree)
removed UMS
updated MTP configs (Sachin Thomas)
aw3som3 -> awesom3
Click to expand...
Click to collapse
14sep'14
add mtp config
Click to expand...
Click to collapse
11sep'14
Add MTP support to recovery thanks mostly to bigbiff with a little help from Dees_Troy
Add command line capabilities - you can now execute various TWRP features via adb instead of the touchscreen
Add support for color in the console and give error, warning, and highlight lines different colors
Track backup and restore progress based on file sizes to provide a much more accurate indication of progress
Improve handling of /misc thanks to mdmower
Improve setting of time on Qualcomm devices thanks to [NUT]
Allow using images on slidervalue GUI objects thanks to Tassadar
Allow using variables and addition and subtraction in variables for easier theming
Add support for 1440x2560, 280x280, and 320x320 resolutions and update 240x240
Allow ui.xml file to include additional xml files to help break up the theme and make TWRP easier to maintain
Other minor fixes and improvements
Click to expand...
Click to collapse
05sep'14
updated sources to TWRP 2.7.1.0 (till 01 sep 2014)
removed TW_EXCLUDE_SUPERSU := true
removed TW_NO_EXFAT := true
Click to expand...
Click to collapse
09aug'14
use inverted logo
Click to expand...
Click to collapse
08aug'14
relay partition table
add graphic logo && text to differentiate between normal and awesom3 recovery
Click to expand...
Click to collapse
30jul'14
uses the normal pico_defconfig: !not! slimmered (this fixes *some* of the random reboots caused in recovery)
aw3som3: set msm_nand_data.parts later (0002-aw3som3-set-msm_nand_data.parts-later.patch)
Click to expand...
Click to collapse
27jun'14
resize the recovery
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
here's mine.
it's working.
{
"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"
}
great work for this one @thewisenerd. :good:
i'm really excited for this aw3som3.
btw. what if we completely get the whole mtdblock5? we'll get a great space for /system.
it's time to use sd-ext completely.
Agaphetos said:
btw. what if we completely get the whole mtdblock5? we'll get a great space for /system.
it's time to use sd-ext completely.
Click to expand...
Click to collapse
That's a question to the users.
p.s. added that to OP
thewisenerd said:
That's a question to the users.
p.s. added that to OP
Click to expand...
Click to collapse
make a POLL for it. :good:
will you please tell me step by step procedure i am noob and don't know how to do all this stuff
I am currently using CM11 weekly 4 TWRP 2.7 recovery
the recovery has been resized, hopefully. get another beta here: http://www.solidfiles.com/d/e6d39a02c4/recovery.img
hopefully, we're just a few commits away from a complete partition table rewrite... I've decided to move devlog to the beginning, then, a 4 mB cache (you shouldn't need more), and the rest for the /system partition. What about /data? sd-ext becomes /data partition by default. I posted a poll on the FB group and most of the people are clearly fed up with internal memory being very low hence, already using sd-ext by default, why "waste" the data partition?
This would stay in beta till some more time.
a new build of twrp should be out any time soon... the kernel, slimmered down to 1.8 mB without affecting actual functionality, *and* adding back support for ext2/3 and exfat and ntfs.
the recovery's size has been slimmered too, by modifying its ramdisk compression. you might not be much interested in all that, but you should see the change in recovery size from this build itself.
and finally, here's the boot.img: http://d-h.st/5jK
proof that it works (otherwise which no one's going to download anyways):
as we are going to use complete /data partition + some moar of cache partition, 112 +
just pushed sources to git some time ago...
you can get the patches here: https://github.com/thewisenerd/android_kernel_htc_pico/commit/eaa7cd3d0d25b44ecbe026ea03dce796868adb35
slimmered recovery defconfig: https://github.com/thewisenerd/android_kernel_htc_pico/commit/1fbb5f37851d6ff4a1d40d91e71d39ac107cd8c4
Tried it on cm 11 works great thanks for the recovery and boot.img
noob question
pico hackr said:
Tried it on cm 11 works great thanks for the recovery and boot.img
Sent from my XT1033 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
how do I made this work bro?
I mean how many partitions should I have particularly their each sizes too
thanks in advance
Agaphetos said:
here's mine.
it's working.
Click to expand...
Click to collapse
instead of
Code:
http://dl-1.va.us.xda-developers.com/2/8/1/6/0/8/7/Screenshot_from_2014-06-24_202911.png?key=Kg2Fp7s86-Ky-H0UFugPJQ&ts=1403661729
use
Code:
http://forum.xda-developers.com/attachment.php?attachmentid=2816087
as your image link... that should fix image not showing.
memontalha said:
will you please tell me step by step procedure i am noob and don't know how to do all this stuff
I am currently using CM11 weekly 4 TWRP 2.7 recovery
Click to expand...
Click to collapse
theBstep said:
how do I made this work bro?
I mean how many partitions should I have particularly their each sizes too
thanks in advance
Click to expand...
Click to collapse
Its for this very reason that I wrote this patch. Users don't have to do anything, except what's written in OP.
This is out of beta now, (read: stable), and can be used.
For others: I'll be shifting to a "no userdata", "4 mB cache", and all for "system" policy soon. Hopefully, you can revert back those commits if you don't need. As a user, 150 mB has never been adequate since I had used 40int2ext, and so, I'll be making sd-ext for /data as default.
This would also involve refactoring the entire table, I've decided to move devlog a few places ahead and order it as boot:devlog:cache:system, which should, technically, make stuff easier (for me) if done in the kernel side.
Don't want that? Revert back those commits, simple as that.
p.s. after thinking about this for sometime, this would also involve editing fstabs, recoveries, etc, etc, so, we'll rather stick to the current partitioning, i.e. mtdblock3/4/5, and keep it as 1 mB userdata, rather than no userdata, so that all the mess of having to edit other stuff would be minimised.
welcome working pa's micro modular gapps (soon), which takes up about 135 mB of /system partition, which should fit, after we bring in some more space from userdata partition.
Perfect Setup Bro
Well it will be good if we use sd-ext as data default
Much System Space :laugh:
Regards : Bilal
Sent from my One M8 using XDA-FORUM, powered by appyet.com
well it's a nice work,but also make a guide on how to revert back to original partition table.
Jituv1996 said:
well it's a nice work,but also make a guide on how to revert back to original partition table.
Click to expand...
Click to collapse
Just flash a recovery and kernel that's not modded?
can i try using this recovery and boot.img with in2ext+??
will it work without any problem?
i dont wanna lose my partition
Hpsgill said:
can i try using this recovery and boot.img with in2ext+??
will it work without any problem?
i dont wanna lose my partition
Click to expand...
Click to collapse
it didnt worked for me I have to install fresh rom for using this mod .
btw thanks @thewisenerd for this aw3som3 mod ill be using it for weeklies
noobified
I tried and so far so good with cm weekly 5 :laugh: I flashed latest cody kernel by the way
the thing is how can I increase internal memory cus only system increased? do I need to add a partition again so that makes 4: fat32, sd-data, sd-cache and sd-ext
theBstep said:
I tried and so far so good with cm weekly 5 :laugh: I flashed latest cody kernel by the way
the thing is how can I increase internal memory cus only system increased? do I need to add a partition again so that makes 4: fat32, sd-data, sd-cache and sd-ext
Click to expand...
Click to collapse
nah, fat32, and sd-data would do
Its really messed up (all the "extra" partitions), considering we don't need to worry about the /cache partition.
The only partitions you need are a fat32 partition, and *one* ext2/3 partitions. Any more partitions, your headaches.
Also, I would suggest that mmcblk0p2 is directly mounted as /data, instead of using any scripts :angel:
hahaha okay as a matter of fact I followed your instructions to partition without card reader http://forum.xda-developers.com/showthread.php?t=2532212 which is really helpful
mmcblk0p2 mean I can modify it for increasing internal?
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
This is a personal build of TWRP with F2FS support(proper way) based off 2.8.1.0 branch from Omnirom(recovery) which I butchered and added F2FS..
This was tested with CM11 way back last year..I just posted it for the heck of sharing it since I have not seen the same idea/achievement here on M7 forums..and seems this phone needs a "refresh"(in a good way)..
Now whats F2FS?? Googling can give you trivial INFO yet you can start your way here
This file system developed by Samsung lean towards a less noisier, less workloads, and a faster throughput File System that can substitute EXT4 in the near future(they already use it)..extensively if you rely heavy on Benchmarks it has been put to the test by some Devs here on XDA like this one
Now enough with the chit-chat..on this TWRP build I only converted /DATA as F2FS..now you might be wondering why?? Answer is because its the most actively used partition on your phone..System apps use it to store settings/info/etc...Framework uses it too for caching and storage...Extensively your Apps(the ones you install) use it as well..so theres completely no point converting the whole phone to F2FS which in the latter can just cause you more issues when you want to return to stock..
This only works on AOSP based ROMs(i tried it on CM11) though you'll need a kernel with F2FS support baked in for things to work properly.. (Who wants me to build one? I know for sure you don't..)
DO NOT TRY ON SENSE(You have been warned) Tried it once well it boots up(Proper F2FS kernel is required) but you'll end up on a security windows and you might not get out if it..OR you may be able to boot it up but you cannot install apps(happened to me twice and no Dice on installing anything)..well you're free to play with it so who knows who might get a lucky pick on getting this working on HTC Sense ROM's, but for now I'll safely say/advise to use on AOSP ROMS only..
Download here
**I won't be liable for any damage on your phone..you are on your own here..
**This project does not come with a warranty..
XDA:DevDB Information
Recovery with F2FS, Tool/Utility for the HTC One
Contributors
kairi_zeroblade
Version Information
Status: Stable
Stable Release Date: 2015-02-05
Created 2015-02-05
Last Updated 2015-02-05
Reserved
Why not? It's time to update your aosp kernel production mate!
Sounds great
For your Sense-Problem: it does boot, right? So it shouls work but HTC implemented some nasty **** to block your phone when using F2FS. So there has to be some code for checking the filesystem and then launching the "block-app". Removing the abvoe mentioned code would give the Sense users the opportunity to use it to.
Maybe you this can help you
@kairi_zeroblade when you say AOSP roms only, does that rule out GPE because CM12 is very buggy
Does this recovery tested on CM12 and derivative ROM's?
:good:
Hi,
I'm trying to use f2fs on my m7. The fstab from the kernel looks like that:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <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/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/system /system ext4 ro,noatime,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait,check
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/extra
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,barrier=1 wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/extra
/dev/block/platform/msm_sdcc.1/by-name/radio /firmware/mdm vfat ro,fmask=0000,dmask=0000,shortname=lower,context=u:object_r:firmware_file:s0 wait
/dev/block/platform/msm_sdcc.1/by-name/adsp /firmware/q6 vfat ro,fmask=0000,dmask=0000,shortname=lower,context=u:object_r:firmware_file:s0 wait
# USB storage
/devices/platform/msm_hsusb_host/usb* auto auto defaults voldmanaged=usbdisk:auto
The rom I try to boot on with cache on f2fs, system and data still ext4 is the one linked here
Any hint what's the problem/what part doesn't support it properly?
L
Info
Is encrypted sdcard compatible with F2FS file system?
I'm using your recovery now with AICP 8, the f2fs parts are working fine, but everytime I tried to format back to ext4, I needed another twrp version from either the official site or MDMower.
And the second thing I found was, the recovery always tells me it didn't found a few files (theme related things).
Would it be possible to update the f2fs twrp to version 2.8.5.6 from here?
L
Edit: I mixed together the 2.8.5.6 unofficial with the kernel and ramdisk from @kairi_zeroblade 's f2fs version. Up to now it seems to work fine. The f2fs paritons get mounted and backup is working also. Flash an upadate or restore isn't tested yet. And what I also can't test, if it works for ext4 (or also f2fs) people who use encryption. Could that be tested by someone please?
Link: openrecovery-twrp-2.8.5.6-m7-materialised-F2FS.img
Hi there,
here's an update to version 2.8.6.1
openrecovery-twrp-2.8.6.1-m7-materialised-F2FS.img
L
Info
I want to test last version.
Which partition can i convert in F2FS?
Is needed kernel support?
ultrasound1991 said:
I want to test last version.
Which partition can i convert in F2FS?
Is needed kernel support?
Click to expand...
Click to collapse
most roms only support data & cache for f2fs and you will need a compatible kernel for f2fs. I won't say i tried every rom out there but AICP & Vanir support f2fs very well. You could theoretically install any rom for f2fs is you had a third party kernel out there that was compatible... and I'm not sure if there are any right now (i think AGK is going to get it soon though)
qkall said:
most roms only support data & cache for f2fs and you will need a compatible kernel for f2fs. I won't say i tried every rom out there but AICP & Vanir support f2fs very well. You could theoretically install any rom for f2fs is you had a third party kernel out there that was compatible... and I'm not sure if there are any right now (i think AGK is going to get it soon though)
Click to expand...
Click to collapse
Ok, i want to try.
I will convert system,data and cache to f2fs.
Does my rom is full compatible if it start normally?
ultrasound1991 said:
Ok, i want to try.
I will convert system,data and cache to f2fs.
Does my rom is full compatible if it start normally?
Click to expand...
Click to collapse
no system will not work but data and cache will!
qkall said:
no system will not work but data and cache will!
Click to expand...
Click to collapse
Ok, but does system will work in next version? Or in future?
ultrasound1991 said:
Ok, but does system will work in next version? Or in future?
Click to expand...
Click to collapse
Honestly, I don't know... but I would assume it would eventually be a feature but I'm not knowledgeable to know.
here's a tutorial for properly settings up f2fs though
I sort of recommend using Vanir though - a faster experience.
qkall said:
Honestly, I don't know... but I would assume it would eventually be a feature but I'm not knowledgeable to know.
here's a tutorial for properly settings up f2fs though
I sort of recommend using Vanir though - a faster experience.
Click to expand...
Click to collapse
I want XenonHD or AICP, or a ROM that will be updated over Lollipop in future.
ultrasound1991 said:
I want XenonHD or AICP, or a ROM that will be updated over Lollipop in future.
Click to expand...
Click to collapse
I can't speak for XenonHD but AICP and Vanir are incredibly active (vanir not so much on m7 xda forums but the google plus page is good)
edit- i just checked... it doesn't look like XenonHD has f2fs support yet... but if you had a third party kernel that would work (which again i don't think there are any atm).
qkall said:
I can't speak for XenonHD but AICP and Vanir are incredibly active (vanir not so much on m7 xda forums but the google plus page is good)
edit- i just checked... it doesn't look like XenonHD has f2fs support yet... but if you had a third party kernel that would work (which again i don't think there are any atm).
Click to expand...
Click to collapse
Now i'm downloading AICP 8 ROM, AGK AOSP 1.7 Kernel and twrp 2.8.6.1 f2fs materialised (Isn't there normal themed?).
---------- Post added at 09:05 PM ---------- Previous post was at 08:58 PM ----------
9Lukas5 said:
Hi there,
here's an update to version 2.8.6.1
openrecovery-twrp-2.8.6.1-m7-materialised-F2FS.img
L
Click to expand...
Click to collapse
Is this update your or of kairi_zeroblade?
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.