Saltar al contenido

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

Ya no busques más por todo internet porque llegaste al lugar adecuado, contamos con la solución que buscas y sin complicarte.

Solución:

Existen algunos métodos para montar su /system directorio 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. Abierto CMD/Terminal en tu computadora

    • Ventanas: CONTROL + Rluego escriba cmd.

    • Ubuntu: CONTROL + alternativa + T.

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

  3. Escribe esto:

    1. adb shell

    2. su

    3. Elija uno: (para montaje de seguridad /system volver 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. Abierto terminal en su teléfono Android (descargue aquí):

  2. Escriba esto en el terminal:

    1. su

    2. Elija uno: (para montaje de seguridad /system volver 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

-writable-system para 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 ejecuciones futuras, debe mantener el -writable-system opción, o los cambios de imagen no serán visibles:

emulator -show-kernel -verbose -writable-system

-verbose nos muestra que el emulador cambia de 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

para:

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

  • usos system-qemu.img.qcow2 en vez de system-qemu.img.

    Esto implica que los cambios solo serán visibles después si pasa -writable-sytem en botas futuras después de que se hizo 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 -help también lo confirma:

emulator -help

contiene:

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

adb remount + adb root

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

adb root
adb remount
adb shell

adb help contiene:

 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 el .qcow2 superponer y volver a generarlo manualmente: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and-running-it-on-the

Si estás contento con lo expuesto, tienes la opción de dejar una noticia acerca de qué te ha gustado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *