¿Cómo hago una compilación cruzada del núcleo en un host Ubuntu?


16

Me gustaría entender más sobre cómo funciona el núcleo. Parte de esto es compilarlo yo mismo. ¿Cómo hago una compilación cruzada del Kernel en un host Ubuntu?

Respuestas:


24

Preparación

Primero, necesitamos instalar los requisitos previos requeridos. Asumo que tienes sudoacceso.

sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
  • git es el sistema de control de versiones utilizado por el equipo del kernel de Linux.
  • ncurseses una biblioteca para construir menús de consola. Es necesario para menuconfig.
  • make ejecuta la compilación para nosotros.
  • gcc-arm-linux-gnueabi es el compilador cruzado.

A continuación, necesitamos recuperar la fuente, ejecutar:

git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux

Esto clonará el código fuente en un directorio llamado raspberrypi-linuxy cambiará a él.

Compilacion

Primero tenemos que mover el archivo de configuración ejecutando

cp arch/arm/configs/bcmrpi_cutdown_defconfig .config

Luego configure la compilación del núcleo

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig

Opcional: Personalice la compilación usando menuconfig

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

Luego ejecuta la compilación

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Referencias

1
Muchas gracias por proporcionar una alternativa al uso de crosstool-ng .
earthmeLon

En mi caso, CROSS_COMPILE es solo un prefijo, por lo que lo siguiente debería ser suficiente (sin gcc al final): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
danger89


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.