IngoberWiki

Omnia sunt communia

Herramientas de usuario

Herramientas del sitio


dispositivos_ingobernables_kernel

¡Esta es una revisión vieja del documento!


Kernel

El kernel de linux, se han escrito cientos de libros sobre el tema, kernel significa núcleo, en este caso es el controlador de procesos, accesos a memoria, usuarios, permisos, seguridad y de todas las capacidades del sistema operativo.

El kernel se ubica normalmente en la carpeta /boot del sistema, puede aparecer con distintos formatos de archivo por cuestiones de memoria y eficiencia el kernel se puede comprimir en diferentes formatos que pasan a descomprimirse en memoria RAM una vez se inicia el sistema, estos son algunos ejemplos:

vmlinuz

uImage

zImage

Dependiendo de la configuración este archivo de núcleo varia entre 3 a 15 mb

Descarga e configuración:

Todo empieza por descargarse un kernel, ciertamente existen cientos de repositorios y comunidades que modifican o , simplemente compilan de una determinada manera el kernel, vamos a elegir el oficial la rama oficial del kernel, estas fuentes se ubican en kernel.org. en el terminal podermos descargar la ultima versión oficial (4.19) con este comando:

sudo wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.tar.xz

Esto nos descarga el código fuente de linux comprimido en un archivo llamado linux-4.19.tar.xz

Descomprimimos con:

sudo tar -Jxf linux-4.19.tar.xz

Entramos a la carpeta:

cd linux-4.19 y ya estamos en la carpeta del código fuente del núcleo de linux, ahora empezamos la configuración.

Kernel: Configuración y compilación

los siguientes comandos determinan absolutamente todo en referente al kernel, normalmente no sale a la primera y tienes que recompilar cambios a posteriori, ten paciencia, es la mejor habilidad para conseguir realizar estos procesos.

Configuración de las fuentes

Las configuraciones del kernel se quedan en ficheros .config donde están todas las opciones del kernel pre configurado para algunas arquitecturas y modelos, en caso de sunxi (allwinner) tenemos una plantilla que se denomina sunxi_defconfig y que la invocaríamos de esta manera:

make -j$(nproc) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig

Si todo va bien tiene que paraecer un mensaje como este:

#

#configuration written to .config

#

Configuración del kernel

Ya hemos preparado las fuentes kernel para compilar con las opciones de sunxi preconfiguradas en la plantilla, pero, estas opciones nunca están configuradas para hacer funcionar el hardware de una tablet concreta.

Ahora vamos a configurar correctamente el kernel para una tablet tipo allwinner a33:

Hardware objetivo

Allwinner a33

1Gb DDR3

Pantalla 7 pulgadas 1024×600

Táctil silead gsl1680

Wi-Fi Realtek 8723au

Sonido

Acelerometro mi3rda (se que suena a broma)

Cámaras

dispositivos_ingobernables_kernel.1541430738.txt.gz · Última modificación: 2018/11/05 16:12 por pietre