Preparación
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.
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
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 /
fuente
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.
fuente