Команда терминала для корневого Android для перемонтирования/системы как чтение/запись

Я пишу приложение для Android, которому нужно скопировать файл в раздел "/system" во время выполнения. У меня есть команды для запуска "su" и могут успешно запрашивать разрешения SuperUser и запускать команды с правами root. Но я не знаю, как сделать это приложение универсальным для нескольких устройств, потому что команда mount может отличаться в зависимости от того, где/система фактически установлена. Здесь команда, которая использовала большинство offen:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

Но я знаю, что mtdblock3 может быть другим на некоторых устройствах (и в этом отношении, я думаю, это может быть yaffs2). Итак, мой вопрос: есть ли универсальная команда, которая будет работать на всех телефонах? Или есть способ узнать во время выполнения, каковы правильные параметры?

Ответ 1

Вы можете запустить команду mount без параметра, чтобы получить информацию о разделе перед созданием команды mount. Вот пример команды монтирования без параметров, выводимых из моего HTC Hero.

$ mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock3 /system yaffs2 rw 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0

Ответ 2

Я использую эту команду:

mount -o rw,remount /system

Ответ 3

Try

mount -o remount, rw/system

Если сообщение об ошибке не печатается, оно работает.

Или вы должны сделать следующее.

Сначала убедитесь, что тип fs.

монтирования

Выполните эту команду, чтобы узнать об этом.

Тогда

mount -o rw, remount -t yaffs2/dev/block/mtdblock3/system

Обратите внимание, что fs (yaffs2) и устройство (/dev/block/mtdblock3) зависят от вашей системы.

Ответ 4

Вместо

mount -o rw, remount/system/

использование

mount -o rw, remount/system

умьте '/' в конце команды. вы спрашиваете, почему это имеет значение?/system/является каталогом в /system, когда/system является именем тома.

Ответ 5

Вам не нужно передавать оба аргумента при выполнении перезагрузки. Вы можете просто передать точку монтирования (здесь/система). И/система является универсальной среди устройств Android.

Ответ 6

Вы можете попробовать команду adb remount также перемонтировать/систему как прочитанную запись

adb remount

Ответ 7

У меня была та же проблема. Итак, вот реальный ответ: установите систему под /proc. Вот моя команда:

mount -o rw,remount /proc /system

Это работает, и на самом деле это единственный способ преодолеть проблему с системой только для чтения.

Ответ 8

Это то, что работает на моем первом поколении Droid X с Android версии 2.3.4. Я подозреваю, что это будет универсальным. Шаги:

  • root system и установите su.

  • Установить busybox

  • Установите программу терминала.

  • для установки системы rw сначала su, затем

    busybox mount -o rw,remount system
    
  • Чтобы повторно установить ro

    busybox mount -o ro,remount system
    

Обратите внимание, что в "системе" нет слэшей.

Ответ 9

Если вы укоренились в своем телефоне, но у вас нет загрузочного ящика, используйте только игрушку для игрушек, здесь один-лайнер для запуска с правами root:

mount -o rw, remount $(mount | sed '//system/! d' | cut -d "" -f 1)/system

toybox не поддерживает параметр "-o remount, rw"

если у вас есть busybox, вы можете использовать его:

mountbox mount -o remount, rw/system