web-dev-qa-db-fra.com

Une commande de terminal pour un root Android à remonter / Système en lecture / écriture

J'écris une Android qui doit copier un fichier sur la partition "/ système" au moment de l'exécution. J'ai les commandes permettant d'exécuter "su" et je peux demander avec succès les autorisations SuperUser et exécutez les commandes en tant que root, mais je ne sais pas comment rendre cette application universelle sur plusieurs périphériques, car la commande de montage peut différer en fonction du lieu où le système est réellement monté. Voici la commande la plus souvent utilisée:

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

Mais je sais que mtdblock3 pourrait être différent sur certains appareils (et d'ailleurs, je suppose qu'il pourrait en être de même pour yaffs2). Ma question est donc la suivante: existe-t-il une commande universelle qui fonctionnera sur tous les téléphones? Ou existe-t-il un moyen de savoir au moment de l'exécution quels sont les paramètres corrects?

46
user496854

Vous pouvez exécuter la commande mount sans paramètre afin d'obtenir les informations sur la partition avant de construire votre commande mount. Voici un exemple de commande de montage sans paramètre émise par mon 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
18
Bao Le

J'utilise cette commande:

mount -o rw,remount /system
126
Gussoh

Essayer

mount -o remount, rw/system

Si aucun message d'erreur n'est imprimé, cela fonctionne.

Ou, vous devriez faire ce qui suit.

Tout d'abord, assurez-vous que le type de fs.

mount

Émettez cette commande pour le découvrir.

Ensuite

montez-le, remettez-le-yaffs2/dev/block/mtdblock3/system

Notez que le fs (yaffs2) et le périphérique (/ dev/block/mtdblock3) dépendent de votre système.

12
accuya

Au lieu de

mount -o rw, remount/system /

utilisation

montez-le, remontez/système

gardez à l'esprit le '/' à la fin de la commande. vous demandez pourquoi cela compte?/system/est le répertoire sous/system tandis que/system est le nom du volume.

5
Rabeeh Khoury

Vous n'avez pas besoin de transmettre les deux arguments lors d'un remontage. Vous pouvez simplement passer le point de montage (ici/system). Et/system est universel parmi Android appareils.

4
Harry

Vous pouvez aussi essayer la commande adb remount pour remonter/system en lecture/écriture.

adb remount
4
Rahul R Dhobi

J'ai eu le même problème. Voici donc la vraie réponse: Montez le système sous /proc. Voici ma commande:

mount -o rw,remount /proc /system

Cela fonctionne et constitue en fait le seul moyen de résoudre le problème du système en lecture seule.

2
JPNicole

C’est ce qui fonctionne sur ma première génération de Droid X avec Android version 2.3.4. Je suppose que ce sera universel. Étapes:

  1. système racine et installer su.

  2. Installer busybox

  3. Installez un programme de terminal.

  4. monter le système r premier su puis

    busybox mount -o rw,remount system
    
  5. Remonter ro

    busybox mount -o ro,remount system
    

Notez qu'il n'y a pas de barres obliques sur "système".

2
neonjohn

Si vous avez enraciné votre téléphone, mais que vous n'avez donc pas de busybox, mais uniquement une toybox en stock, voici un one-liner à exécuter en tant que root:

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

toybox ne supporte pas l'option "-o remount, rw"

si vous avez busybox, vous pouvez l'utiliser:

busybox mount -o remount, rw/system

1
Fred