Cómo interrumpir la secuencia de arranque de Android para forzar el arranque solo en el kernel de Linux

Estoy tratando de hacer algunas pruebas de rendimiento de bajo nivel relacionadas con los núcleos del procesador del dispositivo a través de adb, que siento que se ve afectado por los servicios en segundo plano de Android y las cosas del sistema.

Como sé, las etapas de la secuencia de arranque de Android son las siguientes:

  1. Ejecute el código de la ROM de arranque.
  2. Ejecute el cargador de arranque.
  3. Cargue el kernel de Linux.
  4. Inicie Zygote, que inicializa la máquina virtual Dalvik.
  5. Servidor del sistema que carga el sistema Android.

Entonces, mi pregunta es cómo puedo interrumpir esta secuencia para forzar que se detenga en la etapa 3 para cargar el kernel de Linux. Esto puede ayudarme a implementar mis pruebas de rendimiento intermedias antes de volver a cargar el sistema Android.

¿La recuperación de Fastboot o Clockworkmod puede ayudar aquí y cargar mi dispositivo en una especie de kernel de Linux?

Cualquier pista será apreciada. Gracias.

Respuestas (2)

No. Android no es como una distribución GNU/Linux de escritorio, donde puede presionar Ipara obtener un inicio interactivo, o saltarse X y simplemente iniciar desde un shell. La única forma de lograr esto sería crear su propia ROM personalizada después de editar los scripts de inicio (que tienen la misma función que en un sistema GNU/Linux de escritorio) para adaptar el proceso de arranque a su gusto.

Gracias por su respuesta rápida, pero ¿cree que Fastboot o cualquier herramienta de recuperación (como CWM) me llevará a un entorno similar a Linux donde el sistema Android no está controlando?
No. Lo siento si eso no fue lo suficientemente claro.

Si puede rootear su dispositivo o instalar una distribución alternativa de Android (Clockworkmod), es posible que tenga opciones disponibles:

  1. Dispositivo de enraizamiento: no estoy seguro de si la imagen raíz de Android permite la modificación (sistema de archivos de lectura y escritura). En caso afirmativo, probablemente podría editar los scripts de arranque para habilitar las modificaciones de su sistema. O moviendo el initproceso (no estoy seguro de qué es eso en Android) y reemplazándolo con su propio programa de inicio que después de habilitar sus modificaciones sería exec()el original init( inites el primer proceso (con PID 1) que se ejecuta en los sistemas operativos unixy).
  2. Usando una distribución alternativa de Android (asumiendo CWN). Si puede ejecutar CWN en su dispositivo, podría estudiar cómo crear su propia imagen y modificarla según sus necesidades.

Más allá del paso de rootear o instalar/ejecutar una imagen alternativa, obtener acceso de shell, tengo la impresión de que, una vez que determine qué camino tomar, podría tener más suerte para obtener los detalles (ubicaciones de scripts de arranque y la forma en que funcionan, ayuda con la creación de su propia imagen CWN) respondió en http://stackoverflow.com !