- Не могу перемонтировать / систему в rw
- Mount system as rw on Android 10 with Magisk 20.4
- Breadcrumb
- paschalisx
- moonlightdrive
- Paschalis
- Paschalis
- Deleted member 10802473
- jcruzcruz35
- Как смонтировать / переписать систему или только для чтения? (RW / RO)
- Способ 1:
- Способ 2:
- Способ 3:
- Android 2.3
- Не удается перемонтировать /систему в rw
- 5 ответов
- Замена системных файлов Android с помощью adb
Не могу перемонтировать / систему в rw
Я безнадежно пытаюсь вставить приложение с adb в папку / system / app (чтобы установить PlayStore на мой недорогой планшет). Поэтому я попытался перемонтировать раздел / system с правами root :
Но это всегда дает мне один и тот же ответ:
И я попробовал также с этой командой:
mount -o remount,rw -t ext4 /dev/block/actc /system
но это то же самое . И я действительно не понимаю, почему, даже с пользователем root, я не могу изменить это .
Так что, если у кого-то есть идея, она может спасти одного человека, попавшего в беду: p
Синтаксис mount команды обычно требует указать цель:
Этот вывод может быть полезен для нас, чтобы лучше понять вашу проблему:
В качестве последнего средства, поскольку у вас есть root, вы можете попытаться сохранить необработанный образ системы, смонтировать его на свой ящик и вставить туда приложение, а затем прошить его обратно на свое устройство. Чтобы сохранить необработанный образ системы:
Если вы идете этим путем, убедитесь, что вы сохранили исходный образ системы на случай, если что-то пойдет не так.
Я не уверен, насколько это вообще применимо, но у меня возникла та же проблема, и я обнаружил, что этот комментарий reddit решил ее для меня (на Android Lollikat, то есть cm11):
По сути, мне пришлось перемонтировать, явно используя, /system/bin/mount -o . а не просто mount -o . . Я предполагаю, что в какой-то момент версия в / system / xbin стала иметь приоритет, и по какой-то причине эта версия не работает тихо. (Я говорю «в какой-то момент», потому что link2sd не начал жаловаться на RO до недавнего времени.) Похоже, должна быть возможность отредактировать PATH, чтобы исправить это, чтобы не приходилось использовать командную строку каждый раз, когда я или Приложение должно сделать это. Я не уверен, как еще, хотя.
FWIW, вот фактический скрипт для моего устройства (s5360 на cm11 / LolliKat). Он запускается откуда угодно, но в итоге я сохранил его в / system / xbin, чтобы он был доступен для всех оболочек.
Эта последняя строка просто для быстрой обратной связи относительно того, действительно ли это работает или нет (так как мои внутренние разделы — yaff2). Строка перед этим может быть сделана более явной, как любая из них, но на моем устройстве это не обязательно:
Источник
Mount system as rw on Android 10 with Magisk 20.4
Breadcrumb
paschalisx
New member
I am using Magisk 20.4 and trying to mount /system on a Google Pixel running Android 10.
I have tried using:
The following also do not work:
I was also curious whether stuff in /sbin/.magisk/rootdir/system/ can actually override stuff in /system/ but that doesn’t seem to be the case..
Has anyone managed to mount /system on Android 10? Is this issue specific to Google Pixel?
moonlightdrive
Senior Member
Paschalis
Senior Member
Paschalis
Senior Member
Turns out I don’t need to mount /system.
I wanted this so I could ship my modified version of libart.so, libart-compiler.so and dex2oat (which are in APEX), as well some other external compiler libraries and tools.
So I’ve written some magisk modules, and it works really well. Even for the runtime apex. I’m impressed!
The only reason someone might need to mount /system is if he/she uses an app/tool that needs it.
Deleted member 10802473
Guest
jcruzcruz35
Member
Turns out I don’t need to mount /system.
I wanted this so I could ship my modified version of libart.so, libart-compiler.so and dex2oat (which are in APEX), as well some other external compiler libraries and tools.
So I’ve written some magisk modules, and it works really well. Even for the runtime apex. I’m impressed!
The only reason someone might need to mount /system is if he/she uses an app/tool that needs it.
Источник
Как смонтировать / переписать систему или только для чтения? (RW / RO)
Как я могу установить /system каталог перезаписываемый или только для чтения на моем телефоне Android?
Есть несколько способов, как вы можете смонтировать /system каталог RW или RO. Однако для этого потребуется root.
Способ 1:
Подключите телефон к компьютеру. (Убедитесь, что на вашем телефоне включена отладка по USB)
Откройте CMD / Terminal на вашем компьютере.
Windows: CTRL + R , затем введите cmd .
Ubuntu: CTRL + ALT + T .
Mac: /Applications/Utilities/ перейдите к терминалу и дважды щелкните его .
Выберите один: (для обеспечения безопасности /system вернуться к RO, когда закончите)
- Крепление системы RW: mount -o rw,remount /system
- Крепление системы RO: mount -o ro,remount /system
Способ 2:
- Откройте terminal на своем телефоне Android (скачать здесь ):
Введите это в terminal :
Выберите один: (для обеспечения безопасности /system вернуться к RO, когда закончите)
- Крепление системы RW: mount -o rw,remount /system
- Крепление системы RO: mount -o ro,remount /system
Способ 3:
Если вы не хотите вводить команду каждый раз в терминале, я написал приложение, предназначенное для вас:
Android 2.3
Если вы работаете с Android 2.3 и команда не работает, посмотрите на этот ответ: https://android.stackexchange.com/a/125437/95577
-writable-system для эмулятора
При запуске эмулятора после сборки с помощью вы должны использовать:
Затем для будущих запусков вы должны сохранить -writable-system опцию, иначе изменения изображения не будут видны:
-verbose показывает нам, что эмулятор переключается со значения по умолчанию -drive :
использует system-qemu.img.qcow2 вместо system-qemu.img .
Это означает, что после этого изменения будут видны только в том случае, если вы передадите -writable-sytem будущие ботинки после внесения изменений!
Мы можем видеть, что изображение qcow2 — это просто небольшое наложение поверх базового изображения, так как:
Эмулятор -help также подтверждает это:
adb remount + adb root
Я думаю, что это просто ярлык для mount упомянутого на https://android.stackexchange.com/a/110928/126934 , но это очень удобно:
adb help содержит:
Восстановить исходный образ системы
Источник
Не удается перемонтировать /систему в rw
Я пытаюсь использовать приложение adb в папке /system /app (чтобы установить PlayStore на мой недорогой планшет). Поэтому я попытался перемонтировать системный раздел с правами root :
Но он дает мне каждый раз один и тот же ответ:
И я тоже пробовал эту команду:
mount -o remount,rw -t ext4 /dev/block/actc /system
но это то же самое . И я не понимаю, почему, даже с пользователем root, я не могу изменить это .
Итак, если у кого-то есть идея, это может спасти одного человека, терпящего бедствие: p
5 ответов
Синтаксис команды mount обычно требует указания цели:
Этот вывод может помочь нам лучше понять вашу проблему:
В крайнем случае, поскольку у вас есть корень, вы можете попробовать сохранить исходное изображение системы, установить его на свой ящик и нажать там приложение, а затем снова включить его на своем устройстве. Чтобы сохранить исходное изображение системы:
Если вы пойдете так, убедитесь, что вы сохранили исходный образ системы, если что-то пойдет не так.
Я не уверен, насколько это применимо в целом, но у меня была такая же проблема, и я обнаружил, что этот комментарий reddit разрешил его для меня (на Android Lollikat, который равен cm11):
В принципе, мне пришлось перемонтировать, явно используя /system/bin/mount -o . , а не просто mount -o . . Я предполагаю, что в какой-то момент версия в /system /xbin начала принимать приоритет, и по какой-то причине эта версия терпит неудачу. (Я говорю «в какой-то момент», потому что link2sd не начал жаловаться на RO до недавнего времени.) Похоже, что должно быть возможно отредактировать PATH, чтобы исправить это, чтобы не использовать командную строку каждый раз, когда я или приложение должно это сделать. Я пока не знаю, как это сделать.
FWIW, вот реальный скрипт для моего устройства (s5360 на cm11 /LolliKat). Он запускается из любого места, но я в конечном итоге сохранил его в /system /xbin, чтобы он был глобально доступен для оболочек.
Эта последняя строка — это просто дать быстрый ответ о том, действительно ли она работает или нет (поскольку мои внутренние разделы — yaff2). Линия до нее могла быть более явной, как любой из них, но на моем устройстве это не нужно:
Для меня . ничего не работало, и, наконец, это сработало:
У вас есть небезопасное ядро (boot.img)? Запись доступа к системному разделу обычно блокируется ядром при загрузке. Возможно, вам понадобится запустить модифицированное ядро, чтобы получить доступ к записи в /system с помощью adb.
Можете ли вы монтировать /систему как r /w в ОС? Затем вы можете нажать файл на SD-карту с помощью adb или просто обычного USB (MTP или Mass Storage в зависимости от устройства), а затем скопировать его в нужное место и установить разрешения с помощью терминала на устройстве или файлового менеджера с правами root. Затем перезагрузитесь, и он должен быть там и установлен.
У меня были подобные проблемы. У меня был успех, когда я использовал busybox, чтобы не путать с приложением для системы игрушек:
mountbox mount -o remount, rw /system
Источник
Замена системных файлов Android с помощью adb
Способ может быть полезен в том случае, если «уже ничего не помогает», доступа к Root Explorer нет или телефон вообще не может загрузиться. В моем случае, пришлось в «боевом» режиме восстанавливать удалённый по глупости SystemUI.apk. При этом на телефоне что-то делать можно было только в доли секунды между нажатием кнопки «ОК» на предыдущем окне с ошибкой и появлением следующего такого же окна. Перепрошиваться не хотелось, потому пришлось срочно осваивать adb.
Итак, для того, чтобы подключить свой гуглофон к adb, вам нужно:
1) Android SDK для Вашей системы (здесь — на примере GNU/Linux Ubuntu)
2) Android SDK Platform-tools (устанавливаются выбором соответствующей галочки в Android SDK)
3) В «Параметры — Программы — Отладка» должна стоять галочка на «Отладка по USB»
4) Подключить телефон к USB
5) В моём случае пришлось сделать еще две вещи:
указать ID производителя телефона idVendor (его можно найти здесь):
#echo SUBSYSTEM==»usb», SYSFS0bb4«, MODE=»0666» > /etc/udev/rules.d/51-android.rules
#chmod a+r /etc/udev/rules.d/51-android.rules
где 0bb4 заменяем на код своего производителя, после чего перезапустить adb
#adb kill-server
#adb start-server
Итак, все установлено и подключено, вы добавили путь к platform-tools в переменную $PATH своей операционной системы или перешли в эту папку с помощью команды cd. По команде «adb devices» должен выдавать некий номер и справа от него «device». Это значит, что adb видит телефон и может с ним работать. Если вместо «device» что-то другое или вообще «List of devices attached» — проблема где-то на 4-5 шаге.
Далее вам нужно поместить системный файл, который вы хотите установить, в папку platform-tools. То есть запасная копия системного файла должна быть приготовлена заранее или скопирована с аналогичного телефона.
После этого можно закинуть системный файл в /system/app такой последовательностью команд:
$adb push YourFile.apk /data/Yourfile.apk
$adb remount
$adb shell
$su
#cp -f /data/YourFile.apk /system/app/Yourfile.apk
#chmod 644 /system/app/YourFile.apk
#exit
$exit
$adb reboot
где YourFile.apk — имя вашего системного файла, причем регистр букв имеет значение.
После последней команды Ваш телефон должен перезагрузиться уже с новыми файлами.
Если на команду «adb remount» Вы получаете ответ «remount failed: Operation not permitted», то попробуйте вместо нее после «su» ввести «#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system».
P.S.: В линуксе, если platform-tools не добавлена в $PATH, вместо «adb» нужно писать «./adb».
В этой статье команды, которые я запускал от имени обычного пользователя обозначены символом $ в начале строки, от имени root — символом #.
Источник