Mount Android System as Read/write Without Root

You are using an out of date browser. It may not brandish this or other websites correctly.
Yous should upgrade or utilize an culling browser.
lebigmac
  • #1



Creation date: February 2021
Updated: August 2021

Requirements:

  • rooted STOCK Android ten or newer (custom ROM should already be R/W!)
  • at least ten+ GB costless infinite on telephone for dumping information
Description:
A script for all Android power users that wish to make their read-only Android x+ system read/write-able again to remove bloatware and make more than thorough customizations to their device.
Script only modifies super and vbmeta partitions. /data partition is not afflicted. It'south only used for dumping data and for storing script files.
In a nutshell this is what the script is doing:
  • dumps your existing super OR your system / product / vendor partitions depending on whether or not you've got super sectionalisation
  • extracts embedded read-only partitions (system, vendor, product...) from super if applicable
  • makes these partitions read/write-able
  • joins everything back together to new super.img OR Not depending on whether or non you've got super partition
  • flashes read/write-able images back to device using the super fast Kolibass technique (only in recovery mode)

NOTE:
  • Before running this experimental software on your device it is recommended to make a full backup of your device (just in example you are unlucky enough to end up in an irreversible bootloop)
  • Extract BUNDLE.zip (the included sysrw_repair.zip is only for fixing error 73!)
  • The script tin can be run both inside custom recovery and inside Android operating organization.
    If you run script in Android mode you volition need to fastboot flash the patched paradigm(southward) manually!
  • To bank check whether or non you've got a super partition on your device y'all can run this control: adb shell "ls -50 /dev/block/by-name/super"
  • To check whether or not your device has the notorious 'shared_blocks' read-only feature you lot can run this code:
                                          adb trounce su for a in /dev/block/dm-*; exercise tune2fs -l $a | grep -due east "feat" -e "vol"; washed                                    
  • To check whether or not the script worked correctly yous tin run this code:
                                          adb trounce su for a in /dev/cake/dm-*; practise mount -o remount,rw $a; done                                    
Manual installation:
  • Extract flashable.zip and copy systemrw_*VERSION* folder into /data/local/tmp/
  • run this control to brand the script executable:
    chmod +x /data/local/tmp/systemrw_*VERSION*/systemrw.sh
Automatic installation:
Installation of the script has never been this easy!
Download the flashable.zilch beneath, do NOT enable naught signature verification and but install information technology in your custom recovery (works in TWRP, OrangeFox and PBRP!)
The installer binary will car-detect whether or not your device has a super sectionalisation and launch the script accordingly with the proper control line arguments.

Flashable zip custom usage:
You tin can set these custom installation arguments in the included config.ini file.
Simply extract the flashable.nada and modify the included config.ini file so save the file. And then compress the systemrw_*VERSION* and META-INF folders once more every bit a new .zip and install information technology in recovery.
Kickoff line of config.ini contains the script arguments for those WITHOUT super partition.
By default this line is completely empty (no space).
2nd line of config.ini contains the script arguments for those WITH super segmentation.
For instance if you already dumped your super_original.bin and desire to skip that process next fourth dimension you install the .nada then put this in line #ii of config.ini :
in=`ls -50 /dev/block/past-proper noun/super | awk '{print $NF}'` size=15
Retrieve if you decide to use custom arguments in config.ini then the get-go character should e'er be an empty space. If no arguments are used such equally by default in line #1 (no super) then the line should be completely empty, no space, aught.

Script usage:
If you've got no super partition and then simply call the script with no arguments from the beat out (come across examples below).
If you've got a super division I would recommend using the optional size=15 parameter likewise to give some actress free space (in MB) to each partition.
Optional script arguments:
Replace x with your custom value
  • in=x *THIS IS IGNORED IF You lot'VE GOT NO SUPER Division*
    With this flag you lot can specify an existing super image as input and skip the entire dumping of the super epitome process. Hither you can apply the super_original.bin which y'all dumped before with systemrw or the official unsparsed super.img from your downloaded firmware. (unsparse with simg2img). Information technology'south too possible to apply your super partition cake device as input.
    If omitted, systemrw will dump super image from telephone to ./img/super_original.bin
    (path is relative to the script)
  • out=x *THIS IS IGNORED IF Y'all'VE GOT NO SUPER Partitioning*
    With this argument you tin can specify the output path of the new patched super file.
    If omitted, default output value is ./img/super_fixed.bin
  • size=x *ONLY RECOMMENDED IF You'VE GOT SUPER Partitioning*
    With this parameter yous can specify the actress gratuitous space (in megabytes) that volition be added to each partition. At that place is a limit equally to how much extra free infinite you can add per sectionalization. Cheque your lpdump.txt to find out the exact maximum extra size.
    If omitted, default actress size is 0 (shrink to minimum)

Examples:
                                  adb crush su cd /data/local/tmp/systemrw_1.32 chmod +x ./systemrw.sh  # Run this command *IF You'VE GOT NO SUPER Sectionalization* ./systemrw.sh  # Run this control if you lot're get-go fourth dimension user *AND You lot'VE GOT SUPER PARTITION* # Specify the extra free space in megabytes for each segmentation: ./systemrw.sh size=xv  # Plug an existing super image into the script like this *ONLY IF You lot'VE GOT SUPER PARTITION* ./systemrw.sh in=./img/super_original.bin size=xv  # Specify both the input file equally well as the output destination *Simply IF YOU'VE GOT SUPER Partitioning* ./systemrw.sh in=./img/super_original.bin out=./custom/path/super_fixed.bin size=xv  # EXPERT Example: ./systemrw.sh in=`ls -l /dev/cake/by-proper noun/super | awk '{print $NF}'` out=./img/super_fixed.bin size=l                                

Uninstallation:
  • To free up infinite and continue script as well every bit r/west capability you can simply delete /img subfolder at /data/local/tmp/systemrw_1.32/img
  • To delete script and keep r/w capability you lot tin can just delete whole script binder at /data/local/tmp/systemrw_1.32
  • To undo all changes performed by the script you can simply reflash original stock read-only super epitome and re-enable dm-verity and verification either through adb/fastboot or with the included avbctl binary (within /tools/ subfolder - too available in recovery).

Troubleshooting:
If y'all go mistake 255 in custom recovery when trying to install flashable zip and so try to install information technology manually. If you encounter this error please send me this file /tmp/recovery.log
Make sure the script binder was correctly extracted to:
/data/local/tmp/systemrw_*VERSION*
If yous can't run the script try making the file executable like this: chmod +x ./systemrw.sh
If you however can't get it to work run which sh in your shell and supersede the shebang in the first line of the script with the output of that command. Don't remove the kickoff two #! symbols though. Then salvage the file and try again.
Thouake sure you have total read write access to the /data/local/tmp directory and that the containing files are not encrypted in custom recovery!
If you get bootloop after successfully flashing super_fixed.bin then you can disengage bootloop but past re-flashing original stock super prototype and re-enabling dm-verity and verification with the included avbctl binary (inside /tools/ subfolder - also available in recovery). Those are the just changes performed past the script.

About:
I did non come up up with all this past myself. Later searching for a solution for endless 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 enthousiasts (links tin exist found in the credits section beneath). Therefore I take absolutely no credit for the underlying core mechanisms of the script. I'm simply the amateur who put it all together into a compact script then that everybody can savor an Android arrangement that's read/write-able again. Just like it used to be in Android ix or earlier. Before this annoying 'shared_blocks feature' was implemented.

Credits:
Huge thanks to @Brepro1 for allowing me to employ 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 apply his partition tools for Android. Without your tools this script would not piece of work on the Android platform! This genius likewise showed me how to flash a 5GB file to my segmentation in just under thirty seconds! Much faster than fastboot! I yet can't believe it!
Thanks @AndyYan your great tutorial besides helped me a lot for automating the script especially the lpdump part.
Thank you @bynarie for making available his otatools parcel! A role of information technology was bundled with the initial version which helped me to create this universal version. It'southward still function of the troubleshooting repair script to fix mistake 73.

Disclaimer:
This open source software is provided as is without any kind of warranty or back up whatsoever.
Past using and viewing this software you lot agree to the following terms:
  • Nether no circumstances shall the author exist held responsible for any damages that may ensue from the (inappropriate) apply of this software.
  • All responsibility, liability and risk lies with the stop-user. You hereby agree not to corruption this software for illegal purposes.
  • Under no circumstances shall the comments & title section of the script (lines #1 - #65) likewise every bit the included update-binary exist modified or removed by the end-user without the original author's explicit consent.
  • Under no circumstances shall the end-user steal and / or abuse my entire SystemRW project or parts thereof (including only non express to my update-binary, my script, my programme logo, my program name or the names of my functions and my variables and more...) only to rename and republish my SystemRW project (or parts thereof) equally his / her own without fifty-fifty mentioning original source or original credits!!! (yes this actually happened :( perpetrated by a fellow forum member...)
  • Unauthorized re-uploads of whatsoever files contained within this project to 3rd political party websites are not permitted without the original author's prior consent! If you want to share this project with your friends simply send them the link to this website. Cheers.
  • The end-user is immune to improve the underlying algorithm (as long as no malicious lawmaking is added) and mail his/her improvements, results and feedback correct here in the official SystemRW project thread @ xda-developers.com
  • If the end-user wants to integrate my SystemRW project into his/her own project then he/she shall beginning ask me (the original author) for permission.
    If y'all want to make a video tutorial near my script delight contact me showtime!
    Thank you lot! I can requite you high resolution projection logo and more!

Please brand sure to mail service your feedback and suggestions in the official thread right here.
Bask customizing your fully read/write-able Android device! And feel free to share your Android system mods with other users in this thread! Thank you!
v1-31d_01-jpg.5309953
v1-31d_02-jpg.5309955
v1-31d_03-jpg.5309957
1-jpg.5235933
working-jpg.5525671
Confirmed working on these devices:

Download v1.32 mirror #1
Download v1.32 mirror #ii
more official download mirrors coming soon!
current status: experimental

If you like this projection and want to support further evolution of SystemRW / SuperRW feat. MakeRW & the cosmos of more amazing projects like this then please feel free to donate to the original developer by clicking the button below. Thanks! Your support is very much appreciated!
Donate

Last edited:
lebigmac
  • #2
If the script works on your device please send me your log files from this binder:
/information/local/tmp/systemrw_1.32/log/

And please write your telephone model - Android version - firmware version

And then I tin add you to the list of successful devices and it will be helpful for further development. Thanks!(y)

Last edited:
lebigmac
  • #3
Last edited:
lebigmac
  • #iv
Last edited:
  • #5
doesn't work for me!
makesysrw.png
  • #7
y'all're supposed to run this on the phone ;)
Please follow the instructions in the first post or in the comment section of the script itself!
y'all mean terminal of twrp?
Frxhb
  • #eight
Thanks for your difficult work. So I just demand to copy the file to my storage and run information technology with TWRP ( I use orangefox) and cypher more?
lebigmac
  • #9
Manual installation:

Extract Package.zip
Extract flashable.zip
Copy systemrw_1.32 folder into /data/local/tmp/
It should look similar this:
/data/local/tmp/systemrw_1.32

Please keep in mind I have non tested this in orangefox simply only in twrp and then you will be the starting time person to do so!
Is orangefox an engineer build like twrp? You can check this by doing

Final edited:
Frxhb
  • #10
when I run " getprop ro.build.blazon" the answer is "eng"
Frxhb
  • #xi
aye but the makesysrw_1.15 folder containing the script should get into /data/local/tmp/
and so it should expect similar this:
/data/local/tmp/makesysrw_1.fifteen

Also if yous accept orangefox you can just supplant the TWRP bank check at line #303 with this:

                                    if ( whoami>/dev/goose egg ); and so                                  

Please keep in mind I have non tested this in orangefox but simply in twrp then you will be the first person to do and then!
If orangefox is anything similar twrp information technology should piece of work! Is orangefox an engineer build like twrp?
yous can check this by doing
If I try to access the link it says "

403 Forbidden"​

  • #xiii
It works. Device: Xiaomi Redmi Annotation 9 Pro joyeuse
Final edited:
  • #xv
You've got to exist kidding me!
Thanks for your feedback uvzen. I think you were the first i to try it. Congratulations :D
Tin can you please tell me do y'all have a super partition on your device? What Android version?
And how did you like the flashing process? Was information technology smooth and fast?
Thanks to a suggestion past user @Kolibass the flashing is super fast in this new version!
Device: Xiaomi Redmi Note ix Pro joyeuse Android 10 MIUI 12.0.i
I have a super partition and the process took near v minutes
lebigmac
  • #16
So is your organisation read-write now? Did you use any special arguments when calling the script such equally size=100 to give extra free space to your partitions? That'southward useful so you can copy stuff to organisation. Otherwise you tin can simply delete stuff...
Last edited:
  • #17
So are you read-write at present? Did you utilise any special arguments when calling the script such as size=100 to give extra gratis infinite to your partitions? That's useful so you lot can copy stuff to arrangement. Otherwise you tin can only delete stuff xD
I used ./makesysrw.sh size=300 but that'due south not plenty and now I will try with size=one thousand
  • #19
I hateful 300MB is non enough for me xD
ardasher
  • #xx
Please post an instructional video

Similar threads

penacommaking.blogspot.com

Source: https://forum.xda-developers.com/t/script-android-10-universal-mount-systemrw-superrw-featuring-makerw-read-write.4247311/

0 Response to "Mount Android System as Read/write Without Root"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel