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 18:22] – 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) ====== | + | ====== LFS (Linux From Scratch) |
| - | Le but est de générer un système GNU/Linux complet | + | 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. | ||
| * 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' | + | La Raspberry Pi fonctionnant autour d' |
| + | |||
| - | ===== Buildroot ===== | + | ===== L' |
| - | On s'appuie | + | Buildroot va devenir notre nouvel meilleur amis, il va nous aider toutes les étapes de la mise en service de notre système GNU/ |
| * 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 | + | * Compiler |
| * Compiler les programmes de l' | * Compiler les programmes de l' | ||
| - | La procédure de compilation de la cross toolchain est détaillée dans le wiki [[: | + | La présentation de l' |
| ===== compilation du noyau ===== | ===== compilation du noyau ===== | ||
| - | Buildroot va nous permettre | + | Maintenant que la chaine |
| + | ==== Recuperer les sources ==== | ||
| + | On récupère les sources du noyau Linux adapté à la Raspberry disponible sur le dépot git officiel. | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | On recupere le fichier de configuration préparé | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | Pour voir ou modifier les options de configuration de notre noyau il suffit de lancer la commande **make menuconfig** | ||
| + | |||
| + | <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 ==== | ||
| + | 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 ===== | ||