Portando Ubuntu Touch a nuevos dispositivos (V): La primera compilación de prueba

Buenos días. Ya que, en la anterior entrada, obtuvimos la forma de que nuestro dispositivo tuviera soporte de Ubuntu Touch, en esta entrada vamos a compilar, por primera vez, las fuentes que hemos configurado anteriormente para su comprobación de cara a ver si se dispone de todo lo necesario, a nivel código, para completar exitosamente una ROM en condiciones de Ubuntu Touch.

Para ello, entramos al directorio BUILDDIR indicado en posts anteriores (si has hecho secuencialmente todos los pasos indicados en el tutorial, seguirás en la misma carpeta), y ejecutamos:

source build/envsetup.sh

Te saldrá algo como esto:

Ahora, ejecutamos, en la misma carpeta BUILDDIR:

breakfast surnia

Dado que estamos en Halium-7.1, simplemente con breakfast (nombre del dispositivo) sobra. En Halium-5.1, pon simplemente lunch y arreglado.

Te saldrá algo como esto:

Ahora toca la parte de compilación y comprobación (para ver si todo funciona bien antes de proceder al “port” en sí de Ubuntu Touch) de libhybris (la herramienta con la que comprobaremos que el proceso funcione correctamente en el futuro). Modificaremos la configuración del kernel para que funcione con systemd, y se pueda compilar y hacer funcionar correctamente. Usaremos, para ello, el “mer-hybris-check”, el cual se descarga con este comando:

git clone https://github.com/mer-hybris/mer-kernel-check

Conociendo la ruta del kernel de tu dispositivo vía:

grep "TARGET_KERNEL_CONFIG" device/<marca>/<nombredeldispositivo>/BoardConfig.mk

Sabrás esa ruta, y podrás ponerla en los siguientes comandos:


cd mer-kernel-check
./mer_verify_kernel_config <ruta a la configuración del kernel obtenida antes>

Seguramente te salga algo como esto:

TARGET_KERNEL_CONFIG := surnia_defconfig

Ahora se van a a editar las variables de configuración del kernel. Esto variará según el kernel de tu dispositivo. Como guía, prueba a usar esta imagen:

Lo importante, para que todo compile y cargue bien, es que los parámetros CONFIG_IKCONFIG y CONFIG_IKCONFIG_PROC estén configurados en “y”, sino, no arrancará la imagen generada.

En mi caso, todos los parámetros del defconfig estaban bien, por lo que pasaremos al siguiente caso. Si alguno de ellos no estuviese bien, se corregirían según los parámetros del programa en cuestión (por ejemplo, CONFIG_NLS_UTF8=y)

Ahora comprobaremos si los puntos de montaje son los correctos. Para ello, comprobaremos si el dispositivo está incluido en:

<BUILDDIR>/halium/hybris-boot/fixup-mountpoints

Si está, pasaremos al siguiente paso. Si no lo está, sigue estos pasos: docs.halium.org/en/latest/porting/build-…in-fixup-mountpoints

Como en mi caso, surnia no estaba, he tenido que hacer un apaño:

Cortesía de github.com/maikelwever/hybris-boot-surnia

La indentación DEBE ser la misma en todo el documento para evitar problemas luego.

Y ahora realizamos estos tres comandos:



make mkbootimg
make hybris-boot
make systemimage

Si todo funciona bien, y no hay errores, pasaremos a la siguiente fase del tutorial. Pero no será hoy 😉

Comentarios de Facebook

Deja un comentario

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