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

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

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

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

9 ответов


вы можете запустить 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

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

mount -o rw,remount /system

попробовать

mount-o remount, rw /system

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

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

во-первых, убедитесь, что тип fs.

mount

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

затем

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

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


вместо

mount-o rw, remount / system/

использовать

mount-o rw, remount / system

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


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


вы можете попробовать команду adb remount также перемонтировать / system как read write

adb remount

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

mount -o rw,remount /proc /system

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


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

  1. корневая система и установка su.

  2. установить busybox

  3. установите терминальную программу.

  4. для монтирования системы rw сначала su, затем

    busybox mount -o rw,remount system
    
  5. перемонтировать ro

    busybox mount -o ro,remount system
    

обратите внимание, что нет мымра "система".


Если вы укоренили свой телефон, но так не busybox, только запас toybox, здесь один лайнер для запуска как root:

mount-o rw, перемонтировать $ (mount / sed ' //system/!d '/ cut-d "" - f 1) / система

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

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

busybox и горе -о перемонтировать,РВ /системы