Comment compiler de manière croisée le noyau sur un hôte Ubuntu?


16

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:


24

Préparation

Tout d'abord, nous devons installer les prérequis requis. Je suppose que vous y avez sudoaccè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.
  • ncursesest 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-linuxet le modifier.

Compilation

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

1
Merci beaucoup d'avoir fourni une alternative à l'utilisation de crosstool-ng .
earthmeLon

Dans mon cas CROSS_COMPILE n'est qu'un préfixe, donc le suivi devrait suffire (sans gcc à la fin): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
danger89


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.