Read Only to Read Write for android (RO2RW)
Update 03.01.2023 : Stable Beta v 3.7.2.1
The first truly working script, original and unique in its logic for all devices with a SUPER partitionUniversal auto RO2RW | EROFS-2-RW | F2FS-2-RW by LeeGarChat
Short description:
Converts EROFS, EXT4(RO), F2FS Super partition to RW
Description:
A simple utility to convert your Super partition to RW mode (Read/Write) As well as the expansion and distribution of free space for each section, depending on how much space is available in the original Super section.
You can flash both via:
1. TWRP: by using controls in the script: (Volume control (+) to switch, Volume control (-) to select) in this case, the new super RW is flashed directly.
2. Magisk module: in this case you will need to go to the terminal and enter RO2RW, and a new RW-super.img will be prepared in the internal memory, you can choose both image output for FASTBOOT and RECOVERY.
For these two modes, the creation of the original super as a backup is supported, the file will also be output to the internal memory as bak-super.img
Do I need to format the data after installation?
- No, it is not necessary in normal cases, this script does not affect encryption in the data section. But in some cases, it is necessary to do the date format, it is not yet clear how this is related, for example on Asus devices.Why do I need this script, for what and why; why do I, need it?
- When your system partitions have read-only mode (RO), then you cannot integrate modifications directly into the firmware, (such as Viper4Android) as well as manually edit/delete files from system partitions. This script converts it in the case of F2FS and EROFS to EXT4, or forcibly in the case of EXT4 enables the "Read/Write" (RW) mode, and also expands partitions as much as possible.What are systems partitions?
What are system partitions?- These are the sections that are located in the main container "super" (the script is focused only on devices with super), it includes system, product, vendor, etc., when mounting the system, the structure looks like this:
System <--- In TWRP it is mounted as /system_root
, in the system itself it is mounted as
Code:
/ <--- The main mount point for system
├── /product <--- The main mount point for product
├── /vendor <--- The main mount point for vendor
|
├── /system <--- Here are the main system files
│ │
│ ├── /system/vendor <--- Additional mount point for vendor
│ │
│ ├── /system/product <--- Additional mount point for product
And by analogy with product and system, all other partitions, or other mount points. This can be viewed in the fstab file located in vendor/etc/
Some files cannot be edited at the root, or even if they can be edited without RW, those modifications won't stick, because these are temporary files responsible for the operation of the kernel and the entire linux system, in this case android. For example, proc, or sys, if you open a clean image, or mount a system image, you will see that these folders are empty, and files appear there only after the system is started.
Is ROOT required?
- If you want to prepare a new super partition inside the system, then you need it, the firmware via TWRP does not need root.How does the script work in Magisk?
- You need to install the archive via Magisk manager as a module, the script will tell you if you need to restart the device. Next, you need to launch the terminal and give it root rights with the command "su", Then enter the command "RO2RW" and the script will run, it will prepare an image of RW-super.img according to your choice and optionally backup the original super bak-super.img, these files will be located in internal memory, after which you need to them to a PC if it is a fastboot image, or flash it via TWRP as super img if the images are for recovery.What does S=40% SE=10% and so on mean?
- This is the distribution of free space in the super between the partitions 'System=S' 'Product=P' 'System_ext=SE' 'Vendor=V' 'Other sections are there they are= OT'- For example: The whole system occupies a conditional 4.7 GB. The super partition always has a fixed size in the memory block on the device, for example, take the example with PocoF3, it has 8.5GB there
Code:
Super size 8.5-GB
{1111111111,111111111111,111111111,11111,11111111,111111111111111,000000000000000}
System System_ext Product Odm Vendor Others if any Unused memory
2.2/2.2G 0.5/0.5G 0.8/0.8G 7/7M 1.2/1.2G 1/1GB 3.8~G
RO2RW worked correctly, and the system started, but I can't delete or change files, what is the reason?
- Perhaps you have some Magisk module installed that prevents you from doing this, for example OverlayFS.Also, the reason may be that your device is of the MTK family, in some models there is a restriction at the kernel level for changing system partitions, and therefore mounting in RW, you will not even be able to reinstall magisk on such devices from the system
In this case, you open the way only to modding via TWRP
Also, you need to use the latest version of a normal file manager, these are the ones I recommend:
Solid Explorer File Manager
Solid Explorer File Manager - Apps on Google Play
Organize, protect and share your files in a dual pane layout.
Root Explorer - Apps on Google Play
The ultimate file manager for rooted devices. The original and still the best.
RO2RW worked correctly, the system started, but in any section, for example vendor, there is little free space available, 2-10mb, can it be expanded somehow?
In- That's how it will not be possible to expand a lot, this is due to the limitation of space in the super itself. System partitions occupy a certain amount of space in it, in response to "What does S=40% SE=10% and so on mean?" there is an example of how it works inside. So, perhaps your firmware weighs a lot, and there is simply not enough space in the super itself, you can fix it if you know what you are doing, you need to remove any garbage, applications from the system partitions."/" is system, including "/system/
"/vendor" is a vendor, including "/system/vendor", with the rest of the sections in the same way by analogy. Some partitions have a different mount point, this can be viewed in your fstab, it is located along the path /vendor/etc/*fstab*.
So, you first need to delete something from the system partitions, after which, according to the configuration in RO2RW (it is available in config.txt inside the archive, or in the first choice when installing where "max expansion"), distribute the size according to percentages or a fixed size, i.e. flash ro2rw again, or generate rw-super one more time.
Will RW disappear after the OTA software update?
- Yes, in this case, after OTA, you need to boot into the system first, the process will take place, re-mark super for new data, after that you can make a new super through the system or through TWRP:1. OTA installation
2. Reboot into the system
3. Preparing a new super, or rebooting in TWRP
4. Installing a new super via fastboot, or firmware the archive inside TWRP
How to flash a file via fastboot?
- You need to move the finished file from the phone to the PC, throw RW-super.img into the folder with fastboot/adb, switch to fastboot mode on the phone, and enter the command in the console on the PC "fastboot flash super RW-super.img".Read more about using fastboot in the branch of your device.
What are the differences between the first 4 options and the rest when first selected in the script?
- The first four expand the sections based on the maximum size of the super, the rest expand on a fixed scale for each section, for example, it is more logical for OnePlus to choose one of the first 4, since there are a lot of sections, about 8, and it will be very large size to expand each by the same 200 MB.I cannot delete or modify files from /system/app or from /product/app or from any other specific directory, but at the same time in this directory or I can create a file, and at the same time in the neighboring directory I can change files, the system is RW, how to fix it?
- This happens due to the non-direct mounting of specific folders, it is called overlay filesystem, more about it here: https://wiki.archlinux.org/title/Overlay_filesystemIt specifically mounts any folder read-only. At the moment, you can delete or change or add to this directory only via TWRP, having previously flashed RO2RW by selecting the LiteRW option.
Or go to the terminal and write the commands:
Code:
su
magisk --path
The last command will show the path to the magisk directory, you will need to follow the path:
"The path that the magisk --path command displayed"/.magisk/mirror/
There will be partitions that Magisk mounts directly; by going to them, you will be able to change files without obstacles from OverlayFS.
I have a device with 32GB of memory, I do not know which option to choose so that the memory does not suffer?
- The super section occupies a fixed size in the device's memory and has already been marked up by the manufacturer, i.e. even if the system takes up a conditional 2 GB, super still takes up all its conditional 6 GB in memory, I wrote above about how memory is distributed in super.Why does the script at some point ask to delete some applications?
- This means that the firmware weighs a lot, and after conversion to RW, it does not fit into super, my script suggests deleting some system applications, for example, in Chinese miui there are such stupid advertising things as TikTok, MiShop, etc. Applications are removed from temporary partitions that are being prepared for conversion to super, from the installed system you do not delete anything, well, if you only interrupt the process, after installing a new super, naturally the applications will disappear.So why should I redistribute something, I didn't understand. I don't care how the system distributes its "empty space" there, they are still not used by me for files, because it's still a system partition. Just need RW super in the same form as it is. That's all. Is it possible somehow without distribution?
- No, you can't, because it won't be original anyway, it won't affect user memory, it won't affect the OTA process if the firmware is pumping FullOTA, only the process of light (incremental) updates that weigh from 2mb to 800mb on average will be prohibited, and the process will not become faster. And if you don't care, then don't you care that there is free memory in the system partitions? in any case, you can fix it through the config as you need and give 1% for all partitions, or 10 or less MB for all partitions.Do not PM me about the script and help without permission, write to the support group
DOWNLOAD - SourceForge
TG Group
Telegram support chat for quick feedback
Donate only TG link https://t.me/mfpupdate/47
Credits:
- Thanks to the first link in a Google search for" e2fsck --help" link for clarification on disabling RO
- Many thanks to my own tests with the super section and the official Google utilits lpdump/lpmake/lpunpack as well as the --help menu for it
- Many thanks to the first Google search result for explaining tune2fs and resize2fs
- Thanks to the Magisk team for the BusyBox and bootctl binary
- Thanks to the kory-vadim with UKA for the make_ext4fs bibary, and thanks help menu make_ext4fs
- Thanks to SKKK for the erofs.unpack binary
- Thanks all test users
Please take the survey for more RO2RW statistics
Google Forms: Sign-in
Access Google Forms with a personal Google account or Google Workspace account (for business use).
docs.google.com
Also, the entire list from the survey will be available on this table
RO2RW Support list
Ответы на форму (1) Отметка времени,You Device name: Example "Poco F3",You Device Code: Example "Alioth",ROM: Example "ArrowOS Official 12.11.22",Was the installation successful?,Attach a log file. Located on the path /sdcard/NEO.LOGS/,A brief description of wishes or problems,Which version RO2R...
Last edited: