Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:raspberry:linux-from-scratch [2012/12/19 19:03] – root | dev:raspberry:linux-from-scratch [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== LFS (Linux From Scratch) pour Raspberry Pi ====== | ====== 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: | + | On cherche à 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. | * Comprendre les étapes de la compilation. | ||
| * Mieux connaitre l' | * Mieux connaitre l' | ||
| * Adapter le système à son matériel, à ses besoins. | * 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. | + | 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 le microprocesseur |
| + | |||
| ===== L' | ===== L' | ||
| - | 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' | + | Buildroot va devenir notre nouvel meilleur amis, il va nous aider toutes les étapes de la mise en service de notre système GNU/Linux. On s' |
| * Générer la chaine de compilation croisée (binutils et bibliothèques). | * Générer la chaine de compilation croisée (binutils et bibliothèques). | ||
| * Compiler un noyau adapté. | * Compiler un noyau adapté. | ||
| Ligne 20: | Ligne 21: | ||
| ===== compilation du noyau ===== | ===== compilation du noyau ===== | ||
| - | Maintenant que la chaine de compilation croisée est opérationnelle, | + | Maintenant que la chaine de compilation croisée est opérationnelle, |
| ==== Recuperer les sources ==== | ==== Recuperer les sources ==== | ||
| - | On récupère les sources du noyau Linux adapté à la Raspberry. Pour cela on va cloner | + | On récupère les sources du noyau Linux adapté à la Raspberry |
| <code bash> | <code bash> | ||
| - | yoann@hermes: | + | yoann@hermes: |
| - | yoann@hermes:/ | + | yoann@hermes:/ |
| - | [sudo] password for yoann: | + | yoann@hermes:/tmp$ unzip rpi-3.2.27.zip |
| + | yoann@hermes:/ | ||
| + | </ | ||
| - | yoann@hermes:/ | + | On recupere le fichier de configuration préparé |
| - | yoann@hermes:/ | + | |
| - | Initialized empty Git repository in / | + | |
| - | error: The requested URL returned error: 401 while accessing https:// | + | |
| - | fatal: HTTP request failed | + | <code bash> |
| - | yoann@hermes:/ | + | yoann@hermes:/tmp$ cd / |
| - | Initialized empty Git repository in /opt/linux-rasdpberry/.git/ | + | yoann@hermes:/ |
| + | yoann@hermes: | ||
| </ | </ | ||
| - | Buildroot va nous permettre | + | Pour voir ou modifier les options |
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | Ci dessous quelques options de personnalisation: | ||
| + | * **General Setup -> Local Version**: pour personnaliser le nom du kernel. | ||
| + | * **Kernel Configuration -> Boot options**: pour définir les options par défaut transmises au noyau lors du démarrage. | ||
| ==== Lancer la compilation ==== | ==== Lancer la compilation ==== | ||
| + | Une fois les personnalisations apportées, enregistrer les modifications et lancer la compilation avec le commande **make**. | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | Le résultat de cette compilation est se trouve dans le répertoire // | ||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | total 6,1M | ||
| + | drwxr-xr-x 2 yoann yoann 4,0K 2012-11-26 13:40 bootp | ||
| + | drwxr-xr-x 2 yoann yoann 4,0K 2012-12-20 12:40 compressed | ||
| + | drwxr-xr-x 2 yoann yoann 4,0K 2012-11-26 13:40 dts | ||
| + | -rwxr-xr-x 1 yoann yoann 4,1M 2012-12-20 12:40 Image | ||
| + | -rw-r--r-- 1 yoann yoann 1,3K 2012-11-26 13:40 install.sh | ||
| + | -rw-r--r-- 1 yoann yoann 3,5K 2012-11-26 13:40 Makefile | ||
| + | -rwxr-xr-x 1 yoann yoann 2,0M 2012-12-20 12:40 zImage | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | Le fichier zImage est l' | ||
| ===== Création du système de fichier ===== | ===== Création du système de fichier ===== | ||