Vorrei capire di più su come funziona il kernel. Parte di questo è compilarlo da solo. Come posso compilare in modo incrociato il kernel su un host Ubuntu?
Vorrei capire di più su come funziona il kernel. Parte di questo è compilarlo da solo. Come posso compilare in modo incrociato il kernel su un host Ubuntu?
Risposte:
Innanzitutto, dobbiamo installare i prerequisiti richiesti. Presumo che tu abbia sudo
accesso.
sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
è il sistema di controllo della versione utilizzato dal team del kernel Linux.ncurses
è una libreria per i menu della console di generazione. È necessario per menuconfig
.make
esegue la compilation per noi.gcc-arm-linux-gnueabi
è il compilatore incrociato.Successivamente, dobbiamo recuperare la fonte, eseguire:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
Questo clonerà il codice sorgente in una directory chiamata raspberrypi-linux
e cambierà in esso.
Per prima cosa dobbiamo spostare il file di configurazione eseguendo
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
Quindi configurare la build del kernel
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
Opzionale: Personalizza la build usando menuconfig
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
Quindi eseguire la compilazione
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Riferimenti
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Penso che Alex abbia ragione, ma gcc-arm-linux-gnueabi è compilato per arm cpus senza unità hardware a virgola mobile. Puoi trovare un compilatore incrociato con supporto armhf su: https://github.com/raspberrypi/tools e un buon tutorial per iniziare qui: http://hertaville.com/2012/09/28/development-environment- lampone-pi-cross-compilatore /
Documentazione ufficiale
https://www.raspberrypi.org/documentation/linux/kernel/building.md ( GitHub )
Ti consiglierei di seguire i passaggi lì o inviare una richiesta pull se qualcosa diventa obsoleto o non è abbastanza chiaro: tali istruzioni sono le più probabili per essere corrette e aggiornate poiché fanno parte della documentazione ufficiale del progetto.