Tengo un dispositivo Android 10 cuyo bootloader está desbloqueado. He descargado su firmware, lo he modificado y he conseguido el adb shell rooteado en recovery. Los siguientes son los pasos para ello:
-
Descargar AIK
-
Extrae recovery.img y modifica ramdisk/default.prop de la siguiente manera:
ro.secure=0 ro.adb.secure=0 security.perf_harden=0 ro.debuggable=1 persist.sys.usb.config=adb,mtp
-
Reemplazar split_img/recovery.img-zImage con kernel permisivo (construido a partir de las fuentes del kernel)
-
Vuelve a empaquetarlo y a flashearlo en el dispositivo.
-
Reinicia a recovery y ejecuta adb shell. Estará rooteado.
Quiero añadir un simple chmod 666 /dev/diag
y he montado el sistema con la opción de montaje de recuperación de stock y luego traté de hacer lo siguiente:
- Escribe el comando chmod al final de init.rc.
- He intentado crear nuevos scripts rc en la carpeta /system/etc/init/. El nuevo rc script sólo tiene escrito el comando chmod.
- He intentado añadir (por ejemplo, echo "chmod 666 /dev/diag" >> /system/etc/init/cameraserver.rc) el comando chmod en otros archivos rc de la carpeta /system/etc/init/.
Todos no pudieron cambiar los permisos requeridos. init.rc
los cambios se pierden tras el reinicio. Otros archivos/cambios persisten después de reiniciar pero no cambia el permiso del puerto diag.
Por otro lado, pude hacer una aplicación de sistema con cambios en la carpeta /system/app/.
¿Hay algo más que pueda probar para ejecutar el comando chmod después de que el teléfono arranque?
1 votos
echo "chmod 666 /dev/diag" >> /system/etc/init/cameraserver.rc
no funcionará. Debe proporcionar uninit
desencadenar (on ...
). Simple es editar elueventd.rc
(debe ser del proveedor, no de AOSP) que crea/dev/diag
nodo del dispositivo. Reemplace la declaración pertinente dentro de ese archivo para establecer el modo de permiso que desee.2 votos
Si es una opción para ti: tasker puede reaccionar ante el evento BOOT_COMPLETED y ejecutar, por ejemplo, un comando de terminal como Root, del tipo
! chmod 666 /dev/diag
(el signo de exclamación le indica que ejecute el comando como Root).1 votos
@IrfanLatif
on property:sys.boot_completed=1
event me ayuda a cambiar los permisos de /dev/diag pero no me ayuda a cambiar los permisos de /vendor/bin/diag_mdlog.. ¿Alguna sugerencia? He mirado en ueventd.rc y no hay cambios relacionados con diag..0 votos
@Izzy Creo tasker puede ejecutarlo como su sólo si el dispositivo está rooteado, pero aquí no tengo un dispositivo rooteado cuando se inicia en el sistema, pero sólo han rooteado adb shell cuando se inicia en la recuperación.
3 votos
Ah, sí, es verdad. Pero su pregunta utiliza el Acceso root que dice "para preguntas que requieran específicamente permisos Root". Así que esa etiqueta implica básicamente que tu dispositivo está rooteado. Tal vez editar su pregunta y aclararla? Mientras que en las etiquetas: ¿qué parte es sobre rom-flashing, y que sobre selinux o systemless-Root? Sólo preguntaba ;)
2 votos
@IrfanLatif He rooteado sistema con la modificación de la prop.default archivo de recuperación rooteado adb shell y luego modificado el ueventd.rc de vendedor como usted sugirió. Gracias :)
1 votos
@Izzy
root-access
como mi dispositivo está rooteado en la recuperación,rom-flashing
flash modificadorecovery.img
y el firmware completo antes de eso,selinux
deshabilitado lo que realmente hace permisivo,systemless-root
puedes dar ideas si puedo instalar Magisk via rooted recovery :p1 votos
Tu pregunta no es sobre el flasheo en sí, ni sobre problemas con selinux - así que yo quitaría esos dos definitivamente. Como básicamente pide "cualquier forma de ejecutar que chmod", no se trata de systemless Root / twrp; si eso es algo que desea averiguar, me gustaría hacer que una pregunta separada (respuesta corta: probablemente no, a menos que usted parcheado firma de verificación de que la recuperación - o hay TWRP para su dispositivo). Esas etiquetas son irritantes / engañosa (nota esto es un consejo/recomendación, no un "tienes que hacerlo").