Je voudrais en savoir plus sur le fonctionnement du noyau. Cela consiste en partie à le compiler moi-même. Comment compiler de manière croisée le noyau sur un hôte Ubuntu?
Je voudrais en savoir plus sur le fonctionnement du noyau. Cela consiste en partie à le compiler moi-même. Comment compiler de manière croisée le noyau sur un hôte Ubuntu?
Réponses:
Tout d'abord, nous devons installer les prérequis requis. Je suppose que vous y avez sudo
accès.
sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
est le système de contrôle de version utilisé par l'équipe du noyau Linux.ncurses
est une bibliothèque pour construire des menus de console. C'est nécessaire pour menuconfig
.make
exécute la compilation pour nous.gcc-arm-linux-gnueabi
est le compilateur croisé.Ensuite, nous devons récupérer la source, exécutez:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
Cela va cloner le code source dans un répertoire appelé raspberrypi-linux
et le modifier.
Nous devons d'abord déplacer le fichier de configuration en exécutant
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
Configurez ensuite la construction du noyau
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
Facultatif: personnalisez la génération à l'aide de menuconfig
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
Exécutez ensuite la compilation
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Les références
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Je pense qu'Alex a raison mais le gcc-arm-linux-gnueabi est compilé pour les processeurs de bras sans unité matérielle à virgule flottante. Vous pouvez trouver un compilateur croisé avec le support armhf sur: https://github.com/raspberrypi/tools et un bon tutoriel pour commencer ici: http://hertaville.com/2012/09/28/development-environment- raspberry-pi-cross-compiler /
Documentation officielle
https://www.raspberrypi.org/documentation/linux/kernel/building.md ( GitHub )
Je vous recommande de suivre les étapes ci-dessous ou d'envoyer une demande d'extraction si quelque chose devient obsolète ou n'est pas assez clair: ces instructions sont les plus susceptibles d'être correctes et à jour car elles font partie de la documentation officielle du projet.