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.
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
------------------------DISCLAIMER------------------------
Flash this Firmware with SP flash tool at your own risk i am in no way responsible for any damage that can occurr flashing your MTK device with flash tools, such as
•Hardbricked devices
•Soft Bricked devices
•Lost imei or baseband issues
or anything else for that matter, you are solely responsible for the actions you make when flashing this firmware, however following instructions below you shouldnt have a problem with the device and you can enjoy your new updated R11 max Firmware,
There are 2 firmware builds at the bottom,
1st with google play store as an app store.
2nd with Aptiode store.
Choose which version you wish to select Google play version is labelled as GP & Aptiode store is labelled as AP.
______________________________________
This Samsung S7 themed Rom has been personally built by myslef with the base system of an R11 max chinaphone ive replaced almost everything.
DEVICE INFO
Android OS : 4.4.2 Kit Kat SDK:19
Kernel Version: 3.4.67
File System: UBIFS
BaseBand CPU: MT6572_S00
BaseBand CPU Secure Version: FF
BaseBand CPU Bootloader Version: 01
_____________________________________
REMOVED OR UPDATED
_____________________________________
• Cooee launcher ( spyware )
• Marshmallow game ( adware )
• Browser
• calander
• gallery
• camera
• music fx
• exchange2
• email
• Volume control
• framework.jar
• calculator
• music player
• File manager
• system/vendor apps/FBlite/Whatsapp
• Stock boot animation
• Stock shutdown animation
• Stock start tone
• Stock Shutdown tone
• Stock UI sounds
• Stock Notifications sounds
• Stock Ringtone Sounds
• Stock Boot Logo
• Libs from removed apps
• framework from removed apps
• -res from removed apps
• Build.prop (Edited)
• Test Keys (they should be release)
• Wallpapers
• Live wallpapers
• Network Restriction lock (network Lock )
• Modem (connectivity & imei issues )
Plus alot more crap removed that i cant remember right now....
___________________________________________
ADDED OR REPLACED
___________________________________________
• updated Launcher for G930F Ui resemblance.
• Lightning Browser (looks like chrome)
• gallery V1.1 with photolocker
• Modded Camera FV-5
• JRD Secure container
• JRD plugger
• Updated music FX
• JRD media container
• Samsung Boot animation
• Samsunf Shut Animation
• G930F boot logo
• G930F icons and theme
• Samsung G930F oreo Ringtone Sounds
• Samsung G930F oreo Notification Sounds
• Samsung G930F oreo UI sounds (where available)
• Build edited to display device as SM-G930F
• Fingerprint updated
• Updated to Release Keys (was test keys)
• updates -res
• root set to function without the need for Su manager app binaries can run themselves.
• UPDATED 3G modem to fix connectivity issues (pulled from HTC desire 310)
•Replaced some system apps and some other apps from and alcatel OT 5050 MT6575 for faster UI and system stability.
• SU Binary pre installed to system, no need for root manager
• BUSY BOX binary pre installed to system, no applet's are preinstalled though
Plus alot more stuff i cannot remember as i never made a changelog this is listed as release software as i deem it stable enough for daily use but as the system is customised it should be treated as Beta software, any bugs please report them to me so they can be fixed.
---------☆☆☆MODIFIED BOOT IMG☆☆☆---------
This Rom for now must use the modified boot.img & external SD card should you wish to use either of these roms due to a mounting error somewhere, no app will install despite there being 70mb + on both builds /data partitions so i need to fix, all works perfect with the modified boot.img,
Partition your SD card as follows using Mini partition tool with 2 partitions in this exact order EXT 4 Cannot be first or you will face data decryption error until rectified.
•PRIMARY partition
- FAT32 label it data
•PRIMARY partition
- EXT4 label it mmcblk0p2
To flash with modified boot.img open the scatter file, click on the BOOTIMG file path & select the modified boot.img,
Insert the newly partitioned SD card into the device and flash the firmware using the instructions on how to flash below.
__________________________________________
FLASHING THE FIRMWARE
__________________________________________
********This is a "UBIFS" filesystem*********
EMMC storage devices are NOT compatible
Unless you change the scatter to support your file system and even then it may require porting still.
•Open SP flash tool
•select the scatter.file
•insert the modified boot.img into BOOTIMG path
•change flash method to download only
•click start
•Wait for it to complete the flash
•Disconnect & Reconnect the usb cord
•Wait for device to start charging
•Turn on & enjoy
DO NOT USE "format all + download" in SP flash tool unless you have a backup of your firmware and security partition or you WILL lose your imei.
_________________________________________
LINKS
GP Build https://drive.google.com/file/d/1gpGH1Wj_JQHFFroV12r1PcHsxeE5zbTV/view?usp=drivesdk
AP Build https://drive.google.com/file/d/1VhZmpZyA-z-N6phAn9nfBifL-Lk0pdWL/view?usp=drivesdk
SP Flash Tool https://spflashtool.com
Modified boot is located within the .zip all credits to luca Roggero for his modified boot.img
can't get it to load with modified boot
i partitioned it as directed on a 32gb card flashed modified boot and it wont load also theres a weird glitch on this rom where once your battery hits about 20% it just instantly drops to 0 also cant install a custom recovery with easy magic (any of them) do u know the code to unlock the bootloader?
thinkotherwize said:
i partitioned it as directed on a 32gb card flashed modified boot and it wont load also theres a weird glitch on this rom where once your battery hits about 20% it just instantly drops to 0 also cant install a custom recovery with easy magic (any of them) do u know the code to unlock the bootloader?
Click to expand...
Click to collapse
Sorry for the late reply ive been busy busy busy making android 6.0.1 for the R11 max its almost finished,
Righto lets get started and get you up and running with the modified boot.img
Firstly how did you partition the Sd card, what partitions were they formatted to exactly and in which order,
They must be formatted in this exact order ill include the info aswell
Label: DATA
Format: FAT32
Type: PRIMARY
Label: MMCBLK0P2 (use lower case letters)
Format EXT4
Type: PRIMARY
i use mini partition magic and it works beautiful,
If the system boots on your device also it means that the boot.img is compatible with the device,
Which means that the modified boot.img is also compatible with your device as the original untouched works and all thats been done to it is the mount points were changed to the ext4 partition on the sd card,
This is everything that was done modifications to files were as follows
mount ubifs ubi @ userdata / data -> mount ext4 / dev / block / mmcblk0p2 / data
mount yaffs2 mtd @ userdata / data -> mount ext4 / dev / block / mmcblk0p2 / data
mount ext4 / emmc @ usrata / data -> mount ext4 / dev / block / mmcblk0p2 / data
mmcblk0p2 is the name of the 2nd EXT4 partition of the sd card, which must be second and not first
The sd card must have 2 partitions, the first FAT32, the second ext4, both primary
Try that and see if it works,
If it dosent boot past the power on logo message back here you may have another revision board as there are a few in which i have a boot.img for 2 of the R11 max boards so will get your phone working with whatever GB storage you set as your partition
Did you also make sure you have the NAND version of R11 MAX also as there is an R11 which is emmc and not nand ? There are 5 variations of the NAND R11 max and 3 or 4 variations of the R11
basic info on the R11 max 5 build versions
Storage type: NAND (typically hynix)
Flash Size: 512mb
DRam 478mb
Radio: 2G GSM
The only diffs for the ones above are the partition infos and the bull**** storage capacity,
Basic info on the R11, 4 build versions
Storage type: EMMC (unknown)
Flash size: 2.5GB
DRam: ( unknown )
Radio: 2G GSM & 3G UMTS
Let me know how you go and sorry for the late reply
Oh by the way what you think is a Glitch isnt actaully a glitch,
Theres nothing i can do about that unfortunately,
In the framework-res.apk battery stats are set in 15% increments to much work for me to fix on the status bar, go to settings then battery and turn your battery % on thats at least accurate
And in physical terms of the battery i hope you dont actually think there a 3000Mah battery,
They are actually cheap chinese lithium cells that produce only 1000Mah and dont last very long at all mine did the same thing around 20% if you know what your doing you can re cell the battery with a samsung cell or similar as long as you are very careful and dont put to much force on the pcb on top of the cell to much and desolder it properly you will have a working battery that actually lasts, i did it to mine but i run a phone repair shop, i dont advise you do it if you are inexperienced in that case find a replacement battery that is decent quality same same size and pin location and youll be sweet.
And about the custom recovery again nothing i can do about that ive built and not used any tools that dont work half the time with so many diff variations of custom recoveries ive made,
Ive packed them with twrp ramdisk and made all edits but they just refuse to boot and only flash white and reset,
The bootloader is pre unlocked as youll notice theres no OEM unlock,
However if you really wanna try yourself,
Connect to the phone via adb and use one if the commands below to get you into fastboot mode, thats as far as youll get though fastboot oem unlock hangs on waiting even though fastboot devices shows the device
Syntax:
adb reboot bootloader
adb reboot-bootloader
adb reboot fastboot
adb reboot-fastboot
Forget which one it is but you can try for yourself,
Ive been trying and trying to get a half decent recovery for the next 6.0 build its still stock but ive done alot of mods to recovery like enabling adb in recovery and redoing the default.prop within it also
guess i'll just hold out
well its working pretty good sans battery life, lol
are you compiling a real marshmallow build? because that will for sure solve the sdcard as internal issue and you can install gapps etc.... the playstore would work etc... it wasn't until marshmallow that google started letting you use your sd a internal, still an awesome job man i love this project, its a hobby of mine taking old bricked or soft bricked phones and trying to get them to optimal standards so far so good! keep me updated on the progress.
I definitely used minitool and followed your instructions to a tee i'm thinking 32gigs is too much for the boot.img i'm going to try and partition it smaller on the fat32 and see if it will boot then, how big do you reccomend i make the mmcblock0p2 partition? i made it 3 gigs could that be the issue? too big?
Hey mate sorry for late reply was finishing up another alcatel U5 custom recovery project,
Yeah battery life isnt the best, next build ive added scripts to optimise battery life, ram and a few other things,
With the build unfortunately i cant fit an entire 6.0 system on a 512mb flash nand it just cant be done unfortunately theres not enough space but im working on that for a later build so at the moment though next build will use SDK23 system components but it will also include mostly SDK20, SDK21 & SDK22 system components that ive managed to merge into it,
Either way the modified boot.img is neccessary regardless, Gapps and play store i can confirm does work perfectly fine on this next build and there will be roughly 50mb so a couple apps can be installed before getting the storage low warning,
Even it if were a proper dedicated 6.0 build though again it would still need the modified boot.img as even though the app has been placed on the sd card it still has to run through the main system at startup and a full memory at startup will not boot the phone so again modified boot.img is necessary,
Shouldnt matter what size you make the partitions either, these boards support up to 32GB TF cards so thats not a problem,
I have a 16GB i made 2 partitions as follows
Data 7.5GB FAT32 primary
mmcblk0p2 7.5GB EXT4 primary
In that exact order & spelt that exact way if it is still not working for you then it is purely a pilot error (being you) as i mentioned normal untouched boot.img packed in with the firmware works correct ?
That means the modified boot.img will work also they are identical apart from the fact that the internal storage has been mapped over to your SD cards mmcblk0p2 instead of your internal mmcblk0p2,
If it is still not working i want you to please take a backup of your firmware and then from that zip up the following into an archive upload it to google drive or whatever you use and post the link to it here so i can download it and have a look at it to see if there are any differences anywhere
RECOVERY
BOOTIMG
MT6572_Scatter_file.txt
I highly doubt there will be any difference as it already works on your PMT info if there were something wrong it wouldnt boot at all even with the untouched stock one,
The boot.img and recovery has been highly modified in the next build so if your facing any probs still ill need to sort it out and possibly make a second version to support it, hopefully not the case tho.
Attention all users of R11 max,
New build will be up in a week maximum, Google play is functional, i have also built a custom recovery for this model R11_Max however wont be released until the new rom is released.
Thread will be updated here with new links when its ready.
New rom is not far away now for the R11 MAX im just finishing up some minor touchups in the meantime i have built a number of custom recoveries for the phones due to 1 there not being any available at all for it & 2 all recovery porting tools do not work with this phone so manually built a number of different styles,versions etc theres TWRP, CTR, CWM, etc even an OPPO touch recovery even that i also managed to build enjoy,
https://forum.xda-developers.com/android/development/recovery-t3892041
Note all R11 max users,
A new rom will be released for this device by me in the near future when released it is advised to update to the latest build, modded with CM but stock 4.4.4 unfortunately that is all i am able to upgrade it to, 6.0 build i am scrapping for now i can get 6.0 apps to install but they just will not run most not at all,
Another note though ive managed to modify the boot.img some more to swap not only the data from
"ubifs" "UBI" "userdata" "/data" to
"Ext4 "EMMC" "/dev/block/platform/mtk-msdc.1/by-num/p2 (EXTERNAL SD)
but also system from
"ubifs" "UBI" "system" "/system" to
"ext4" EMMC" "/dev/block/mmcblk0p3" "/system" (SDCARD)
Not sure if i can get a rom functional to boot from it but TWRP recognises it aswell as mounts & formats it correctly, some useful info incase anyone else wants to give it a go also
All R11 users please be aware that a new build will be uploaded today or tomorrow latest which is a full AOSP CyanogenMod 11 flashable zip,
I will link the thread here was built for hs_q6_mb
But should work on all other variants as long as you use your stock boot.img
New thread will be linked here one completed and rom is uploaded
New rom is up link is here
https://forum.xda-developers.com/android/development/rom-cyanogenmod11r11maxmt6572ubifs-t3920315