¿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?

Alex Chamberlain
fuente

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
Alex Chamberlain
fuente
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
0

Documentación oficial

https://www.raspberrypi.org/documentation/linux/kernel/building.md ( GitHub )

Le recomendaría que solo siga los pasos allí o envíe una solicitud de extracción si algo queda desactualizado o no es lo suficientemente claro: es muy probable que esas instrucciones sean correctas y estén actualizadas, ya que forman parte de la documentación oficial del proyecto.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente