Welcome to the one and only, the original, universal,
System-RW / Super-RW feat. Make-RW / ro2rw (read-only-2-read/write super partition converter) by lebigmac
Also known as: THE-REAL-RW, FULL-RW, EXT4-RW, EROFS-RW, EROFS-2-RW, F2FS-RW, F2FS-2-RW, EROFS-2-EXT4-CONVERTER, F2FS-2-EXT4-CONVERTER, Super Resizer/Flasher, SYSTEM-RW / PRODUCT-RW / VENDOR-RW / ODM-RW, root enhancer, real root, FULL ROOT, RW MULTI TOOL and many more aliases!
(NOTE: Full F2FS-RW support coming in 1. quartal 2023 ! Get your Samsungs ready!)
System-RW / Super-RW feat. Make-RW / ro2rw (read-only-2-read/write super partition converter) by lebigmac
Also known as: THE-REAL-RW, FULL-RW, EXT4-RW, EROFS-RW, EROFS-2-RW, F2FS-RW, F2FS-2-RW, EROFS-2-EXT4-CONVERTER, F2FS-2-EXT4-CONVERTER, Super Resizer/Flasher, SYSTEM-RW / PRODUCT-RW / VENDOR-RW / ODM-RW, root enhancer, real root, FULL ROOT, RW MULTI TOOL and many more aliases!
(NOTE: Full F2FS-RW support coming in 1. quartal 2023 ! Get your Samsungs ready!)
The prophecy has finally been fulfilled.
Making Android ten years younger!
Inspiring a whole generation of talented developers and empowering the open source community.
The Pandora's Box has been fully unlocked at last!
The genie has been unleashed from within the bottle!
Sesame! Open up now!
Let the Olympic Android System Modding Games (OASMG) begin!
The power is now in YOUR hands! And don't forget:
With great power comes great responsibility!
Creation date: February 2021
Updated: January 2023
Requirements:
- rooted STOCK Android 10 or newer
- at least 10+ GB free space on phone for dumping data
A script for all Android power users that wish to make their read-only Android 10+ system read/write-able again to remove bloatware and make more thorough customizations to their device.
Script only modifies super and vbmeta partitions. /data partition is not affected. It's only used for dumping data and for storing script files.
In a nutshell this is what the script is doing:
- dumps your existing super partition
- extracts embedded read-only sub-partitions (system, system_ext, odm, vendor, product...) from specified super image
- makes these sub-partitions read/write-able using the one and only original MakeRW/ro2rw algorithm
- joins everything back together to new super.img
- flashes read/write-able patched super image back to device using the super fast Kolibass technique (only available in recovery mode)
NOTE:
- The script can be run both inside custom recovery and inside Android operating system.
If you run script in Android mode you will need to fastboot flash the patched image(s) manually! - To check whether or not the script worked correctly you can run this code:
Bash:adb shell su mount -o remount,rw / mount -o remount,rw /odm mount -o remount,rw /product mount -o remount,rw /system_ext mount -o remount,rw /vendor mount | grep dm- | head -5
- Extract flashable.zip and copy sysrw_*VERSION* folder into /data/local/tmp/
- run this command to make the script executable:
chmod +x /data/local/tmp/sysrw_*VERSION*/sysrw
Automatic installation:Installation of the script has never been this easy!
Download the flashable.zip below, do NOT enable zip signature verification and simply install it in your custom recovery (works in TWRP, OrangeFox and PBRP!)
The update binary will auto-detect the arguments in config.ini and launch the script accordingly
Flashable zip custom usage:
You can easily modify the custom script execution arguments in the included config.ini file. Simply extract the flashable.zip, edit the included config.ini file with notepad and then save the file. Next compress the sysrw_*VERSION* and META-INF folders again as a new flashable .zip and install it in recovery. Have fun playing around with your config.ini 
Script usage:
Simply execute the program from the terminal shell with or without custom arguments
Optional script arguments:Replace x with your custom value
- in=x
Specify existing super image as input [OPTIONAL]
Omitting this parameter is equivalent to using in=@auto which is equivalent to using your super block device as input - out=x
Specify patched super image output file path [OPTIONAL]
Omitting this parameter is equivalent to using out=@auto and the patched super image will be saved as ./img/super_patched.bin by default - size=x
Specify the extra free space (in megabytes) to be added to each sub-partition of super.img [OPTIONAL]
Omitting this parameter is equivalent to using size=@auto which will activate the auto-resize feature - -r
Specify whether or not the patched super image should be output in raw file format [OPTIONAL]
Omitting this parameter will create a sparse patched super image by default
Usage examples:
Bash:
adb shell
su
cd /data/local/tmp/sysrw_1.33
chmod +x ./sysrw
# Run program with default settings [RECOMMENDED]
./sysrw
# Specify existing super image as input [OPTIONAL]
./sysrw in=./img/super_original.img
# Specify patched super image output file path [OPTIONAL]
./sysrw out=./img/super_patched_new.img
# Specify the extra free space (in megabytes) to be added to each sub-partition of super.img [OPTIONAL]
./sysrw size=15
# Specify whether or not the patched super image should be output in raw file format [OPTIONAL]
./sysrw -r
# EXPERT EXAMPLE (Warning! This command could potentially corrupt your system. Only use at your own risk in recovery mode!)
./sysrw in=img/super_original.bin out=`realpath /dev/block/by-name/super` -r
Uninstallation:
- To free up space and keep script as well as r/w capability you can simply delete /img subfolder at
/data/local/tmp/sysrw_*VERSION*/img
- To delete script and keep r/w capability you can simply delete whole script folder at
/data/local/tmp/sysrw_*VERSION*
- To undo all changes performed by the script you can simply reflash original stock read-only super image and re-enable dm-verity and verification either through adb/fastboot or with the included avbctl binary.
Troubleshooting:
If you can't get this script to work on your device check out the brand new sophisticated superrepack tool by @munjeni
If you get any errors from the update-binary in your custom recovery during installation of the flashable .zip then please send me this log file /tmp/recovery.log
and a screenshot of your error. Thanks!
Make sure the script folder was correctly extracted to:
/data/local/tmp/sysrw_*VERSION*
If you can't run the script try making the file executable like this:
chmod +x ./sysrw
If you still can't get it to work run
which sh
in your shell and replace the shebang in the first line of the script with the output of that command. Don't remove the first two #!
symbols though. Then save the file and try again.
Make sure you've got full read / write access to the
/data/local/tmp
directory and that the containing files are not encrypted in custom recovery!
If you get a bootloop after successfully creating and flashing super_patched.bin then that's probably because you didn't properly disable your dm-verity and verification.
To undo any bootloop simply re-flash original stock read-only super image and re-enable dm-verity and verification with the included avbctl binary or through adb/fastboot. Those are the only changes performed by the script. If you have any more questions just ask in this thread. Good luck!
About:
I did not come up with all this by myself. After searching for a solution for countless days without success, going even as far as learning hex editing - I accidentally came across a couple of very interesting threads burried deep inside the new forum interface where this method has been described by various rw enthousiasts (links can be found in the credits section below). Therefore most credit goes to these rw enthousiasts. I'm only the amateur who put it all together into a compact script so that everybody can enjoy an Android system that's read/write-able again. Just like it used to be in Android 9 or earlier. Before these annoying 'shared_blocks' and 'EROFS' read-only features were implemented.
Credits:
Huge thanks to @Brepro1 for allowing me to use his awesome tutorial and make it into a script. Without your tutorial guiding me I couldn't have created this script.
Huge thanks to @Kolibass for allowing me to use his partition tools for Android. Without your tools this script would not work on the Android platform!
Big thanks @munjeni for allowing me to use his amazing superunpack V1 tool in the initial version. It helped me to understand how these super images work.
Thanks @AndyYan your great tutorial also helped me a lot for automating the script especially the lpdump part.
Thanks @bynarie for making available his otatools package! A part of it was bundled with the initial version which helped me to create this universal version. It's still part of the troubleshooting repair script to fix error 73.
Thanks @HemanthJabalpuri for assisting me in optimizing the underlying algorithm!
Disclaimer:
#Disclaimer v3.0
This open source software is provided as is without any kind of warranty or support whatsoever.
By using and viewing this software you agree to the following terms:
- Under no circumstances shall the author be held responsible for any damages that may occur from the (inappropriate) use of this software (or parts thereof).
- All responsibility, liability and risk lies with the end-user. You hereby agree not to abuse this software for illegal purposes.
- Please don't steal, hack, crack, mod, hex-edit, decompile, rebrand and / or abuse this software or parts thereof. Thank you!
- This software can be re-uploaded to 3rd party websites indefinitely as long as the software itself (or any parts thereof) were not modified by unauthorized 3rd parties without the original author's prior knowledge and explicit written consent
- This software (or parts thereof) were provided for free only for non-commercial, educational, personal, legal purposes
- To use this software (or parts thereof) for commercial purposes, please rent a commercial usage license
Thank you very much for your support! Thanks to your amazing support I can continue working on this project and other interesting projects like this.
Enjoy debloating and customizing your fully read/write-able next-gen Android device!
Please post your feedback, suggestions and your Olympic Android System Mods (OASMG) @ the official SystemRW / SuperRW feat. MakeRW / ro2rw by lebigmac links below. Thanks
https://forum.xda-developers.com/t/...tition-converter-resizer-by-lebigmac.4247311/
https://forum.xda-developers.com/t/...n-converter-erofs-rw-ext4-rw-f2fs-rw.4536821/
Confirmed working on these devices:
Download
current status: experimental
If you like this project and want to support further development of it & the creation of more amazing projects like this then please feel free to donate to the original developer lebigmac by clicking the button below. Thanks! Your support is very much appreciated!
Donate
Xiaomi Poco X3 NFC
Xiaomi Poco X3 Pro
Xiaomi Poco X2 - Android 10/11
Xiaomi Poco X2 - Android 11
Xiaomi Poco F2 Pro - Android 11
Xiaomi Mi 10 T Lite - Android 11
Xiaomi Mi 10 T lite - Android 11
Xiaomi Mi 10 - Android 11
Xiaomi Mi 10 Ultra - Android 11
Xiaomi Mi 10i 5G (gauguin) - Android 11
Xiaomi Mi Note 10 Lite - Android 11 - OrangeFox
Xiaomi Redmi Note 12 5G - Android 12 - latest MIUI 13.0.3
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi Note 9 Pro joyeuse - Android 10
Xiaomi Redmi Note 9 Pro gauguin (China) - Android 10
Xiaomi Redmi Note 9S - Android 11 - MIUI Global 12.5.3 Stable (RJWEUXM)
Xiaomi Redmi 9T - Android 11
Xiaomi Redmi K30 - Android 10
Xiaomi Redmi K30S Ultra(China), Android 11
Asus ROG Phone 3 - Android 10
Asus ROG Phone 5 - Android 11
OnePlus Nord - Android 11
OnePlus 8T - Android 11
Doogee S96Pro - Android 10
F150 model B2021 - Android 10
Realme C12 - Android 11
Realme GT 5G - Android 12
Pixel 4a (sunfish) - Android 11
Google Pixel 4 XL (coral) - Android 10
and many more!
NOTE: Please post your feedback in this thread (with screenshot as proof that you are RW) if you want your device to be included in this list

Xiaomi Poco X3 Pro
Xiaomi Poco X2 - Android 10/11
Xiaomi Poco X2 - Android 11
Xiaomi Poco F2 Pro - Android 11
Xiaomi Mi 10 T Lite - Android 11
Xiaomi Mi 10 T lite - Android 11
Xiaomi Mi 10 - Android 11
Xiaomi Mi 10 Ultra - Android 11
Xiaomi Mi 10i 5G (gauguin) - Android 11
Xiaomi Mi Note 10 Lite - Android 11 - OrangeFox
Xiaomi Redmi Note 12 5G - Android 12 - latest MIUI 13.0.3
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi Note 9 Pro joyeuse - Android 10
Xiaomi Redmi Note 9 Pro gauguin (China) - Android 10
Xiaomi Redmi Note 9S - Android 11 - MIUI Global 12.5.3 Stable (RJWEUXM)
Xiaomi Redmi 9T - Android 11
Xiaomi Redmi K30 - Android 10
Xiaomi Redmi K30S Ultra(China), Android 11
Asus ROG Phone 3 - Android 10
Asus ROG Phone 5 - Android 11
OnePlus Nord - Android 11
OnePlus 8T - Android 11
Doogee S96Pro - Android 10
F150 model B2021 - Android 10
Realme C12 - Android 11
Realme GT 5G - Android 12
Pixel 4a (sunfish) - Android 11
Google Pixel 4 XL (coral) - Android 10
and many more!
NOTE: Please post your feedback in this thread (with screenshot as proof that you are RW) if you want your device to be included in this list
Download
current status: experimental
If you like this project and want to support further development of it & the creation of more amazing projects like this then please feel free to donate to the original developer lebigmac by clicking the button below. Thanks! Your support is very much appreciated!
Donate
Last edited by a moderator: