3

I use ES File Explorer to modify /system/priv-app in the past with root permission given via magisk.

After upgrading to Android 10, ES File Explorer can no longer modify the /system/priv-app giving me an error message saying "operation failed."

What alternatives do I have if I like to modify /system/priv-app?

The output of running set -x; exec >>/sdcard/mount.log 2>&1; id; mount -o rw,remount /system; mount | grep 'on /system '; touch /system/test_file; cat /sys/block/dm-*/dm/name:

uid=0(root) gid=0(root) groups=0(root) context=u:r:magisk:s0
mount: '/system' not in /proc/mounts
touch: '/system/test_file': Read-only file system
vendor-verity

It turns out:

On some system-as-root (SAR) devices you can no longer mount the system partition as read-write and doing systemless modifications through Magisk is the only way. If you do want to do actual edits of the system, and if it is even possible (from Android 10 it's actually impossible on some devices), you need to mount the root directory, /, as rw and not /system. You can also try editing the partition mirrors that Magisk keeps in /sbin/.magisk/mirror.

So all I needed to do is to:

mount -o rw,remount /
6
  • dm-verity? Dynamic partitions? Commented Jan 16, 2020 at 11:00
  • @IrfanLatif it looks like magisk isn't a complete root after I did some digging... Commented Jan 17, 2020 at 3:44
  • With root privileges run: set -x; exec >>/sdcard/mount.log 2>&1; id; mount -o rw,remount /system; mount | grep 'on /system '; touch /system/test_file; cat /sys/block/dm-*/dm/name. Share /sdcard/mount.log at pastebin.com Commented Jan 17, 2020 at 4:58
  • mount: '/system' not in /proc/mounts I just pasted on the question @IrfanLatif Commented Jan 17, 2020 at 5:05
  • Please run with root privileges. Use su command on adb shell or pkg install tsu; tsu -p on Termux. Commented Jan 17, 2020 at 6:11

2 Answers 2

0

You need to remount the partition as read-write. mount -wo remount / (change / to /system if you don't have system root enabled in my app). It should work then, though if not you probably have a read only filesystem like EROFS

15
  • I don't think magisk supports remounting /system it returns '/system' not in /proc/mounts. Commented Jan 17, 2020 at 3:43
  • Indeed, magisk doesn't actually mount the system partition at all. You will have to use an alternative.
    – Hack5
    Commented Jan 17, 2020 at 7:06
  • 1
    You can check reliably if system as root is used (regardless of magisk) in my app, kutt.it/trblchk
    – Hack5
    Commented Jan 17, 2020 at 7:47
  • 1
    Btw, original question has nothing to do with MagiskHide or Magic Mount. Commented Jan 18, 2020 at 14:47
  • 1
    @Irfan without the bind mount, magisk couldn't unmount /sbin. I think we should move to chat, but I know how the root hiding works. There are some props to set by magisk, as well as the bind mounts that are used to insert su. Of course, magisk could just insert itself to the system partition like a traditional root app, but it doesn't. This helps it to hide itself. And by the way, magisks way of finding out when an app launches it terrible. And magic mount is related to the question in that bind mounts can interfere with the remounting of /system and with the file management itself.
    – Hack5
    Commented Jan 18, 2020 at 16:07
0
> adb root

> adb shell avbctl disable-verification

Successfully disabled verification. Reboot the device for changes to take effect.

> adb disable-verity

using overlayfs
Successfully disabled verity
Now reboot your device for settings to take effect

> adb reboot

> adb root && adb remount
remount succeeded

> adb push ScreenCap.apk /system/app/
ScreenCap.apk: 1 file pushed. 33.1 MB/s (1640812 bytes in 0.047s)

> adb reboot

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .