Outils pour utilisateurs

Outils du site


dev:raspberry:linux-from-scratch

Ceci est une ancienne révision du document !


LFS (Linux From Scratch) pour Raspberry Pi

Le but est de générer un système GNU/Linux complet pour une Raspberry Pi à partir des fichiers sources seulement. Les bénéfices sont multiples:

  • Comprendre les étapes de la compilation.
  • Mieux connaitre l'architecture des systèmes GNU/Linux.
  • Adapter le système à son matériel, à ses besoins.

La Raspberry Pi fonctionnant autour d'un microprocesseur ARM, il va falloir mettre en place une chaine de compilation croisée qui permettra de générer depuis un systeme hôte de type PC, du code exécutable pour ce type de microprocesseur.

L'outil Buildroot

Buildroot va devenir notre nouvel meilleur amis, il va nous aider dans toutes les étapes de la mise en service de notre système GNU/Linux. On s'appuiera sur lui pour:

  • Générer la chaine de compilation croisée (binutils et bibliothèques).
  • Compiler un noyau adapté.
  • Compiler les programmes de l'espace utilisateur.

La présentation de l'outil et la procédure de compilation de la cross toolchain est détaillée dans le wiki buildroot.

compilation du noyau

Maintenant que la chaine de compilation croisée est opérationnelle, on peut s'en servir pour compiler notre noyau Linux.

Recuperer les sources

On récupère les sources du noyau Linux adapté à la Raspberry. Pour cela on va cloner le depot git officiel.

yoann@hermes:~$ cd /opt/
yoann@hermes:/opt$ sudo mkdir linux-rasdpberry
[sudo] password for yoann: 
 
yoann@hermes:/opt$ sudo chown yoann:yoann linux-rasdpberry/
yoann@hermes:/opt$ git clone https://github.com/raspberry/linux linux-rasdpberry/
Initialized empty Git repository in /opt/linux-rasdpberry/.git/
error: The requested URL returned error: 401 while accessing https://github.com/raspberry/linux/info/refs
 
fatal: HTTP request failed
yoann@hermes:/opt$ git clone https://github.com/raspberrypi/linux linux-rasdpberry/
Initialized empty Git repository in /opt/linux-rasdpberry/.git/

Buildroot va nous permettre de générer le noyau linux.

Lancer la compilation

Création du système de fichier

init et scripts d'initialisation

Compilation des programmes

dev/raspberry/linux-from-scratch.1355943802.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)