¿Cómo montar/sistema reescribible o de solo lectura? (RW/RO)

¿Cómo puedo montar el /systemdirectorio regrabable o de solo lectura en mi teléfono Android?

Respuestas (2)

Existen algunos métodos para montar su /systemdirectorio RW o RO. Sin embargo, requerirá root.

Método 1:

  1. Conecta tu teléfono a la computadora. (Asegúrese de que la depuración USB esté habilitada en su teléfono)

  2. Abra CMD/ Terminalen su PC.

    • Windows: CTRL+ R, luego escriba cmd.

    • Ubuntu : CTRL++ ALT.T

    • Mac: navegue /Applications/Utilities/y haga doble clic en Terminal .

  3. Escribe esto:

    1. adb shell

    2. su

    3. Elija uno: (para montaje de seguridad de /systemnuevo a RO cuando haya terminado)

      • Sistema de montaje RW:mount -o rw,remount /system
      • Sistema de montaje RO:mount -o ro,remount /system

Método 2:

  1. Abra terminalen su teléfono Android (descargue aquí ):

  2. Escriba esto en el terminal:

    1. su

    2. Elija uno: (para montaje de seguridad de /systemnuevo a RO cuando haya terminado)

      • Sistema de montaje RW:mount -o rw,remount /system
      • Sistema de montaje RO:mount -o ro,remount /system

androide 2.3

Para las personas que ejecutan Android 2.3 y el comando falla, mire esta respuesta: https://android.stackexchange.com/a/125437/95577

Parece que este (método 1) ya no funciona en Android más nuevo. Estoy tratando de hacerlo en el emulador de Android con Android 6, pero siempre aparece el error "montar: sistema de archivos de solo lectura". He ejecutado adb root, pero no hace ninguna diferencia. ¿Alguna idea de lo que se podría hacer?
Lo tengo, más o menos. Tengo que usar la opción de línea de comando -writable-system al iniciar el emulador. Luego, el primer montaje de adb parece tener éxito. Parece... No lo he visto cambiar a rw todavía.
emulator -writable sigue siendo la respuesta correcta.
"Para las personas que ejecutan Android 2.3": esa frase no se comunica muy bien. Supongo que quiere decir >=2.3 o <=2.3 (o, menos probablemente, exactamente 2.3 si hay un error en particular solo en 2.3), pero no sabemos cuál o por qué.
Para mí, mount -o rw,remount /systemda mount: '/system' not in /proc/mounts. Sin embargo, mount -o rw,remount /funciona.

-writable-systempara el emulador

Al iniciar el emulador después de una compilación, debe usar:

. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system

Luego, para futuras ejecuciones, debe mantener la -writable-systemopción, de lo contrario, los cambios de imagen no serán visibles:

emulator -show-kernel -verbose -writable-system

-verbosenos muestra que el emulador cambia del valor predeterminado -drive:

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img,read-only

a:

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576

Por lo tanto:

  • elimina,read-only

  • usa system-qemu.img.qcow2en lugar de system-qemu.img.

    ¡ Esto implica que los cambios solo serán visibles después si transfiere -writable-sytemfuturas botas después de que se haya realizado el cambio!

    Podemos ver que la imagen qcow2 es solo una pequeña superposición sobre la imagen base ya que:

    qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
    

    contiene:

    backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
    

El emulador -helptambién confirma esto:

emulator -help

contiene:

-writable-system     make system & vendor image writable after 'adb remount'

adb remount+adb root

Creo que esto es solo un atajo mountcomo se menciona en https://android.stackexchange.com/a/110928/126934 , pero es muy conveniente:

adb root
adb remount
adb shell

adb helpcontiene:

 root                     restart adbd with root permissions
 remount
     remount /system, /vendor, and /oem partitions read-write

Restaurar la imagen original del sistema

Lo mismo que para los datos de usuario: elimine la .qcow2superposición y vuelva a generarla manualmente: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- corriendo-en-el