• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root The one and only official SYSTEM-RW for Samsung Galaxy S23 Ultra (and other devices) by lebigmac

Nah, your first sugesstion was correct. The correct fastboot command is "fastboot flash super super_patched.bin". I guess I now have the first a14 rw system in the world up and running. Unfortunately, my copying audio.policy.configuration.xml in /system/vendor/etc didn't solve my bluetooth problem. Still have no BT audio. ;[ But you can now say that your script works in a14. BTW, since the patch bin is 8gb, fastboot had to cut it up into 33 segments but it finished correctly writing all 33 to 'super". Also, as I mentioned before, a14 rw is rooted with magisk 26100 and I'm not using twrp.

Now I need someone who knows BT??????
 
Thanks for your feedback. That's great news! Congratulations! Not everyone can get this far ;)

Did you only make the System-RW or did you do the FULL-RW and what about the ADB ROOT? Does it fully work?
You can check your new unlocked RW capabilities by clicking the REMOUNT button in my ROM-Maker app. To check if ADB ROOT was successful you can type these commands below into a terminal :

adb shell
id
# your selinux context should be u:r:su:s0

Yes you can still use magisk as well. It's DOUBLE ROOT basically ;)
 
Last edited:
I may be missing something here, but the download link is an apk, when installed it's just essentially the same static website, and the readme.txt file mentioned in the original post is nowhere to be found so I have absolutely no idea how to go about using this.
 
Hello @mujaki after installing my Ultimate DIY Custom ROM Maker app on your Android device, simply click the INSTALL button to install my System-RW script into /data/local/tmp/ on your phone.
Next press the SUPER RW button to launch the System-RW / Super-RW featuring Make-RW / ro2rw by lebigmac script.
Once script finishes without errors you can fastboot flash the super_patched.bin to your super block device on your phone using your preferred method ;)👍

Or if you prefer installing my script inside TWRP or OrangeFox custom recovery then simply rename rommaker.apk to rommaker.zip and flash it like any other flashable zip inside your custom recovery!

Good luck! :D👍
 
Last edited:
Hello @mujaki after installing my Ultimate DIY Custom ROM Maker app on your Android device, simply click the INSTALL button to install my System-RW script into /data/local/tmp on your phone.
Next press the SUPER RW button to launch the System-RW / Super-RW featuring Make-RW / ro2rw by lebigmac script.
Once script finishes without errors you can fastboot flash the super_patched.bin to your super block device on your phone ;)

Or if you prefer installing inside TWRP or OrangeFox custom recovery then simply rename rommaker.apk to rommaker.zip and flash it like any other flashable zip inside your custom recovery!

Good luck!
Yeah, I figured I would have a UI with the buttons from the screenshot, but when I install the app, give permissions, and let it install the terminal I just see the Ultimate DIY Custom ROM header thing, some paypal donation info, and then at the bottom it says that jackpal isn't installed and then it successfully installs it.

That's it. No INSTALL button or any other button.
v1.12 with 1.42 SuperRW and 1.24 ro2rw.

Edit: Apparently the power icon in the header will drop down the UI. Did what was suggested and all the logs were saying everything was good and succeeded. Took super_patched.bin and flashed it to super. Everything said it was fine, but when I rebooted it went straight to Qualcomm crashdump mode. In the process of recovering and maybe then try to figure out how to adjust just system which is all I need.
 
Last edited:
Hello. Haha yeah the menu with all the buttons is auto-hidden in this version of the ROM Maker at startup. 😆
Could you please zip your log subfolder from /data/local/tmp/sysrw_1.42/log and upload here or at megaupload? Thanks.
I'm thinking it could be a fstab issue. What phone are you using?

To undo bootloop simply flash back your original stock read-only super.img

If you only want the System-RW + ADB ROOT then you have to edit the config.ini in /data/local/tmp/sysrw_1.42/options/
and add all sub-partitions of your super.img to it except system

For instance on my Samsung Galaxy S23 Ultra my config.ini looks like this:

### flashable zip command line arguments
in=@auto
out=`realpath /dev/block/by-name/super`
size=@auto
-r
-adbroot
-patchboot

### experimental features
threshold=
exclude=" odm product system_dlkm system_ext vendor vendor_dlkm "
backup=1
auto_debloat=
 
Last edited:
Hi could you please zip your log subfolder from /data/local/tmp/sysrw_1.42/log and upload here or at megaupload? Thanks.
I'm thinking it could be a fstab issue. What phone are you using?

To undo bootloop simply flash back your original stock read-only super.img

If you only want the System-RW + ADB ROOT then you have to edit the config.ini in /data/local/tmp/sysrw_1.42/options/
and add all sub-partitions of your super.img to it except system

For instance on my Samsung Galaxy S23 Ultra my config.ini looks like this:
OnePlus 8 5G UW.

I was dumb and didn't move the original super.img out, only the patched one and then TWRP recovery from my latest backup got me stuck in a soft brick mode. Had to clear cache and factory reset to get up and running again so don't have the original logs.

Will try again with only system and post logs if something comes up again.
 
Your dm-verity and verification are properly disabled on the current slot? Usually my System-RW log will tell you if avbctl binary succeeded at disabling those. That's important if you want to flash custom super images ;)
You can also disable both using fastboot if you wish ;)

If you can rule out the vbmeta issue then it's most likely fstab issue...
What Android version are you using? In newer Android versions the Android developers have hidden the original fstab file in a new secret location... Great. Top John Wu, was that you? 🤔
 
Last edited:
Your dm-verity and verification are properly disabled on the current slot? Usually my System-RW log will tell you if avbctl binary succeeded at disabling those. That's important if you want to flash custom super images ;)
You can also disable both using fastboot if you wish ;)

If you can rule out the vbmeta issue then it's most likely fstab issue...
What Android version are you using? In newer Android versions the Android developers have hidden the original fstab file in a new secret location... Great. Top John Wu, was that you? 🤔
My dm-verity is still enabled and it's been a gigantic mission to try and disable it and nothing has worked to disable that despite trying for multiple days. Just tells me that it's a user build. Had to go through MSM just to try and get the bootloader unlocked.

Using android 11.

Edit: Managed to figure out how to disable verity. Working now on figuring out how to disable forced encryption and then I'll be ready to run the script again.
 
Last edited:
No you don't need to disable force encryption in order to run my System-RW script !!! I wonder which fool told you that... 🤣

The only requirements for my script to work is root & Android 10+ actually...

Could you please send me your log subfolder from /data/local/tmp/sysrw_1.42/log ? Thanks! I will look into it.👍
 
Last edited:
Wow, Great work! I haven't fully got to test this out, but @lebigmac has been consistently working on this project for a while!
I wonder if it would at all be possible to add busybox and other required tools to the "system-rw/bin" dir, chroot to it, and actually write the new system img w/o needing a computer?
 
@lebigmac you have any idea why this issue of /system and a couple of the other partitions is even happening to begin with? ive been trying to understand this situation but every different soultion ive tried so far (with the exception of this, as i have tried to avoid flashing up untill this point) has failed for this Samsung Galaxy Tab S8 +
 
What's up k0mraid3
There should already be a random busybox in the /bin subfolder. Not sure where I got it from, probably somewhere off github.
Keep in mind that not every cp command can actually successfully transfer the selinux contexts as well, the included busybox cp command should be capable of doing just that.

Did you check your fstab yet? Your device is F2FS only right? Then what you need to do is generate new read/write-able F2FS image files on the fly and copy everything over from your old sub-partitions using the aforementioned cp command and then just repack everything to fresh super.img and flash and voila ;)

Current version of my program is focused on converting all sub-partitions of super.img to EXT4 file system format. Which, in most cases, would require an fstab touch-up to properly boot. And Samsung has very strong protection features so it's better to create new read/write-able F2FS files for Samsung devices I think. When I have more time I can add the ability to convert to new F2FS sub-partitions ;)

Cheers
 
Last edited:
@13Aline you can try your luck with the included Make-RW / ro2rw by lebigmac
you can find it here
Code:
/data/local/tmp/sysrw_1.42/bin/makerw

Good luck!
 
Hello. I have a Moto G Power 2021. I ran systemrw from your app and it failed with this message:

"Error! failed to create patched super image. Error code 73"

I got the same exact result when I ran it from the zip file version in TWRP recovery.

It worked on another of the same model phone just fine, so I know it can work.

Here are the logs: log.zip

Could you take a look?
 
Hi bigern777 thanks for your log files.
It looks like the adb root patch didn't work as expected on your device. You might want to disable it altogether by commenting out lines #355 and #492 in the /data/local/tmp/sysrw_1.42/bin/superw file. Then save file.

I don't understand why you get error 73 in this particular case. It does look like one of the classic error 73's though. Error 73 means 'IO error cannot create' whatever that means LOL.
You could try the sysrw_repair script on my website or your could try the harpreet.s workaround by switching to the other boot slot with fastboot and running script again or you could simply manually call the lpmake command with the parameters from lpmake_args.txt
If you can generate that patched super image manually on your phone then I don't see why my script shouldn't be able to do the job automatically. According to your log the read-only restriction was successfully removed from all your sub-partitions 😍 👍. Now it's all about repacking everything into a brand new patched super image and flashing it to your device. Maybe you don't get error 73 if you shrink all sub-partitions to minimum size? Have you tried that yet? 🤔 Error 73 it's such a mystery...
Good luck!

Bash:
adb shell
su
cd /data/local/tmp/sysrw_1.42
bin/lpmake `cat log/lpmake_args.txt`

or

Bash:
adb shell
su
cd /data/local/tmp/sysrw_1.42
./sysrw size=0
 
Last edited:
Hi bigern777 thanks for your log files.
It looks like the adb root patch didn't work as expected on your device. You might want to disable it altogether by commenting out lines #355 and #492 in the /data/local/tmp/sysrw_1.42/bin/superw file. Then save file.

I don't understand why you get error 73 in this particular case. It does look like one of the classic error 73's though. Error 73 means 'IO error cannot create' whatever that means LOL.
You could try the sysrw_repair script on my website or your could try the harpreet.s workaround by switching to the other boot slot with fastboot and running script again or you could simply manually call the lpmake command with the parameters from lpmake_args.txt
If you can generate that patched super image manually on your phone then I don't see why my script shouldn't be able to do the job automatically. According to your log the read-only restriction was successfully removed from all your sub-partitions 😍 👍. Now it's all about repacking everything into a brand new patched super image and flashing it to your device. Maybe you don't get error 73 if you shrink all sub-partitions to minimum size? Have you tried that yet? 🤔 Error 73 it's such a mystery...
Good luck!

Bash:
adb shell
cd /data/local/tmp/sysrw_1.42
bin/lpmake `cat log/lpmake_args.txt`
How do I run it and have it use a folder on my external SD card as its working folder? I had 20GB free in my internal memory card but maybe that wasn't enough.
 
You mean the error 73 IO CAN'T CREATE error is actually an insufficient space error? That could very well be... Never even thought of that...
Well I saw some folks actually run my script from /sdcard ?! LOL I had no idea you could even do that!

Just extract the sysrw_1.42 folder and manually install it to your desired location.
Then just execute the sysrw launcher manually through the terminal...
I hope that works for you. I usually always run it from either /data or /data/local/tmp...
 
I can't run it directly from the sdcard because the sdcardfs is mounted noexec, and I've no idea how to change it.
What I tried to do was 'touch patched_super.bin' on the sdcard, and then use that as the out parameter from your launcher app, but I still got the Error 73. So I don't think it's necessarily an insufficient space error. That was just a guess anyway.


Anyway, getting back to your original recommendation, I tried to manually run: bin/lpmake `cat log/lpmake_args.txt`

That doesn't run, but just returns the command usage, as if we are calling it with the wrong parameters or something.

Then I tried reconstructing the full command in a text editor so I don't have to use cat, and then pasting that command in the shell and running it.

It immediately returned back to the prompt, not having done anything it seems. It is very strange. I think the Error 73 has something to do with the command somehow ending up malformed and not running at all as a consequence.
 
Yeah I thought about the noexec too 🤣
Yeah just manually try to construct the proper lpmake command in your text editor using the arguments from lpmake_args.txt as a starting base.
There has got to be an error somewhere...

What's even weirder if you run the sysrw_repair script on a Linux computer it will pull all the files over to your PC and it will just work LOL! The same lpmake program! Don't ask me why. That's only if your error 73 is legit that is! Apparently there are multiple ways to trigger it?!
 
Hi bigern777 thanks for your log files.
It looks like the adb root patch didn't work as expected on your device. You might want to disable it altogether by commenting out lines #355 and #492 in the /data/local/tmp/sysrw_1.42/bin/superw file. Then save file.

I don't understand why you get error 73 in this particular case. It does look like one of the classic error 73's though. Error 73 means 'IO error cannot create' whatever that means LOL.
You could try the sysrw_repair script on my website or your could try the harpreet.s workaround by switching to the other boot slot with fastboot and running script again or you could simply manually call the lpmake command with the parameters from lpmake_args.txt
If you can generate that patched super image manually on your phone then I don't see why my script shouldn't be able to do the job automatically. According to your log the read-only restriction was successfully removed from all your sub-partitions 😍 👍. Now it's all about repacking everything into a brand new patched super image and flashing it to your device. Maybe you don't get error 73 if you shrink all sub-partitions to minimum size? Have you tried that yet? 🤔 Error 73 it's such a mystery...
Good luck!

Bash:
adb shell
su
cd /data/local/tmp/sysrw_1.42
bin/lpmake `cat log/lpmake_args.txt`

or

Bash:
adb shell
su
cd /data/local/tmp/sysrw_1.42
./sysrw size=0
Ok , so your recommendation of ./sysrw size=0 worked somehow. Or at least it was able to create the super_patched.bin file. (Which is 4.7GB vs the original's 9GB - I hope that's normal!).

Unfortunately, after rebooting I still can't remount rw. I don't think the script did anything with the bin file after it created it. How do I apply it back to system?
 
wait before you flash it! Push the super_patched.bin you just made to your PC as a backup and delete it off your phone to free up some space again. Also delete the whole /img subfolder while you're at it so the script can start fresh. You might even want to disable backups in the options/config.ini file

Now try generating another patched super image with size=50 or size=100
that should give you a little bit of extra free space to work with...

Then you can just pull the super_patched.bin to your PC and flash with fastboot
Motorola has fastboot support right?

Bash:
adb pull /data/local/tmp/sysrw_1.42/img/super_patched.bin
adb reboot bootloader
fastboot flash super super_patched.bin

I hope that's normal!
Yes that's totally normal. The super_patched.bin is in SPARSE format by default which is much smaller than RAW format.
 
Last edited:
Back
Top Bottom