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?
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:
Primero, necesitamos instalar los requisitos previos requeridos. Asumo que tienes sudo
acceso.
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.ncurses
es 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-linux
y cambiará a él.
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
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Creo que Alex tiene razón, pero el gcc-arm-linux-gnueabi está compilado para arm cpus sin unidad de coma flotante de hardware. Puede encontrar un compilador cruzado con soporte armhf en: https://github.com/raspberrypi/tools y un buen tutorial para comenzar aquí: http://hertaville.com/2012/09/28/development-environment- raspberry-pi-cross-compiler /
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.