No es necesario hacer /system
permanentemente R/W. Sólo tienes que montarlo como R/W en cada arranque. Así que te proporciono unas cuantas opciones para montar /system
como R/W en el arranque automáticamente, pero tenga en cuenta que estos métodos montan /system
como R/W en espacio de nombres de montaje maestro , lo que significa que TODOS Los programas pueden escribir en él siempre que los permisos de los archivos sean correctos. Esto crea un muy grande fallo de seguridad. Hágalo bajo su propio riesgo.
Las siguientes opciones no son pasos de un único método pero diferentes enfoques .
- Si puede modificar su imagen de arranque, entonces la edición de
/init.rc
es la mejor manera y la más fácil.
- Si no puede modificar
/boot
directamente, pero init.d
está disponible, puede escribir un simple script para montar /system
como R/W. Como se menciona en los comentarios, es posible que no pase si se intenta llamar a su
de un init.d
script.
- Si tanto el 1 como el 2 no están disponibles y tienes Root (Supongo que lo hace al hacer esta pregunta) , sustituir un servicio del sistema (
debuggerd
es la mejor opción) binario con un shell personalizado script. A continuación, ejecute start debuggerd
para activarla (efectiva a partir del próximo arranque).
El script que requieren los métodos 2 y 3 es muy sencillo, como el que se muestra a continuación.
#!/system/bin/sh
/system/bin/mount -o rw,remount /system
Probablemente quieras añadir un bucle de reposo después si utilizas el método 3, ya que siempre que debuggerd
sale, se reiniciará.
Por cierto, puede añadir fácilmente init.d
apoyarse en el método 3. Basta con echar un vistazo a este . Sin embargo, en mi opinión, la re-partición es la mejor manera de utilizar el espacio libre /system
Sin embargo, es potencialmente perjudicial.
0 votos
Creo que hay que hacerlo a nivel del núcleo...
0 votos
Eso significa que necesito un kernel personalizado, ¿verdad? Mi dispositivo no tiene desarrollo de un kernel personalizado... ¡gracias por tu respuesta!
0 votos
Ni siquiera la mayoría de los kernels personalizados lo harían (no es realmente útil a menos que en ciertas situaciones como la tuya). Creo que podrías buscar
init.d
y tener uninit.d
script que haga el trabajo de remontaje al reiniciar por ti. Sin embargo, no puedo garantizar que funcione - rara vez he tenido suerte ejecutandoinit.d
scripts que requierensu
.0 votos
@AndyYan Un núcleo personalizado con
init.d
el apoyo es innecesario . Pronto publicaré una respuesta.0 votos
Sí, no he dicho que sea necesario un kernel personalizado, pero estaba pensando
init.d
es. Sin embargo, la tercera que planteas es una interesante que nunca he visto.2 votos
Quiero añadir también, que el montaje automático de RW es un enorme fallo de seguridad.