Arranque nativo de Arch Linux en un dispositivo Android

26

Tengo un Galaxy Note 10.1 (n8010) y quiero que inicie Arch Linux de forma nativa. Me refiero al arranque Arch Linux en lugar de Android. Todo lo que necesito es alterar los initramfs, que no puedo encontrar en ningún lugar del mundo. Mis preguntas:

  • ¿Necesito alterar solo los initramfs, o tengo que hacer frente a otras cosas también? (como el núcleo en sí)
  • [HECHO] ¿Dónde consigo un initramfs oficial de CyanogenMod 10.1 (quizás Github)? ¿O tengo que autocompilar el núcleo de CyanogenMod y extraerlo de zImage?
  • [PROBABLEMENTE] ¿Puedo tener la raíz de Arch Linux dentro de la partición de datos de Android? (por ejemplo, / data / linux) ¿O tengo que comprar una tarjeta SD?
  • ¿Qué más necesito saber / hacer?

Editar: encontré cómo alterar los initramfs :)

  1. descomprimir rom (CM10.1 para n8013 usado)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (¡guarde el comando dado con mkbootimg!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. Altere los guiones de inicio <- probando eso ahora, publicaré el correcto una vez hecho
  8. encontrar . El | cpio -o -H newc | gzip> ../initramfs.cpio.gz (no estoy seguro si el comando es correcto ...)
  9. cd .. && limpia el directorio para que solo queden initramfs.cpio.gz y zImage ...
  10. ejecute el comando mkbootimg que guardó antes ...
  11. flashear el nuevo boot.img :)

Edición 2: El initramfs es bastante fácil de construir. Solo necesita montar el sistema de archivos raíz (ya sea la partición o la imagen de Linux) y apuntar a su init a través de un enlace simbólico dentro de initramfs

El problema es que necesita el kernel 4.x para arrancar el nuevo systemd de Arch

Para que el núcleo funcione, necesita una consola en serie para ver los errores y demás. Cuando construya el kernel, publicaré la configuración necesaria.

Para aquellos que no tienen mkbootimg (lo obtienes compilando un kernel) encontré uno precompilado

Campo de golf:

dzervas
fuente
¿Alguna vez te las arreglaste? ¿Pudiste tener ssh sobre USB en el arranque?
Michaël
Me las arreglé para arrancarlo. No fue TAN difícil, pero seguro que systemd no jugará (no recuerdo exactamente por qué). El cambio de juego fue UART a través de la toma de auriculares, hizo todo mucho más fácil (pude ver todo el proceso de arranque). Lo que no pude hacer es la salida de video ... Fue solo dolor y lo dejé. Si logra que funcione, informe de nuevo.
dzervas
¿Tendría algún indicio de cómo funcionaba UART sobre Jack? —Me gustaría usar un teléfono viejo con una pantalla rota como una especie de servidor de música, así que tan pronto como tenga sonido y sonido, estaré feliz.
Michaël
Simplemente tiene que extraer la toma de auriculares, agregar una resistencia y conectarla con un convertidor de UART a USB a su PC. La cosa es que Nexus 5 lo soportó exclusivamente, así que no sé si / qué otros teléfonos lo admiten ... Tienes que buscarlo (por ejemplo, "UART en Nexus 4")
dzervas

Respuestas:

4

No estoy seguro si esto ayuda, pero es un tutorial para Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778

usuario961559
fuente
3
¡Bienvenido a Unix y Linux! En general, nos gusta que las respuestas en el sitio sean independientes: los enlaces son geniales, pero si ese enlace alguna vez se rompe, la respuesta debería tener suficiente información para ser útil. Considere editar su respuesta para incluir más detalles. Consulte las preguntas frecuentes para obtener más información.
slm
¡sí! ¡¡tienes razón!! Ahora, yo quiero encontrar una manera de alterar la recuperación para poder arrancar desde una partición sdcard ...
dzervas
-1

Encontré un tutorial para una tarea similar, Cómo instalar Ubuntu Linux en tu tableta Android Google Nexus 7 , ¿tal vez podría adaptarse para adaptarse a tu proyecto? Se utiliza fastbootpara desbloquear el gestor de arranque y reiniciar con un gestor de arranque diferente. HTH, nunca he jugado con un Android.

Dan Ross
fuente
2
bueno, ubuntu para teléfono no es ... ubuntu real: P está basado en cm10 (una "distribución" de Android). así que es Android con un diseño diferente ...
Dzervas
Es bueno saber que cuando obtenga mi primera tableta / teléfono inteligente, querré una distribución familiar de Linux, instalada limpiamente. Sé que esto no es exactamente lo que estabas pidiendo, pero como no ha habido respuesta a la pregunta, esperaba que este ejemplo de Ubuntu pudiera adaptarse para Arch. ¿Quizás los archivos / bootloader instalados por fastboot podrían ser reemplazados? O tal vez estoy sobre mi cabeza aquí. ¡Buena suerte y ten cuidado!
Dan Ross
1
no, ubuntu usa Java VM, que tiene que ver con el arranque, etc.
dzervas