Outils pour utilisateurs

Outils du site


issue120:labo_linux2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue120:labo_linux2 [2017/05/14 18:18] d52frissue120:labo_linux2 [2017/05/15 14:32] (Version actuelle) andre_domenech
Ligne 7: Ligne 7:
 Another key benefit of LFS is that it allows you to have more control over the system without relying on someone else's Linux implementation. With LFS, you are in the driver's seat and dictate every aspect of the system.**  Another key benefit of LFS is that it allows you to have more control over the system without relying on someone else's Linux implementation. With LFS, you are in the driver's seat and dictate every aspect of the system.** 
  
-Aimeriez-vous en apprendre plus sur Linux ? Si c'est le cas, une des meilleures façons est de devoir construire Linux from Scratch (Linux à partir de zéro), connu aussi comme LFS. LFS a été brièvement cité dans le FCM n°71, page 53. Certains contenus de cet article avaient été tirés du site Web de LFS et du « livre » qui décrit comment construire LFS. Les deux gars qui composent l'équipe mintCast sont chacun en train de construire des systèmes LFS et ils présentent leurs avancements dans leurs podcasts habituels. Ils diffusent un dimanche sur deux à 19h UTC (merci à Gord Campbell de m'avoir indiqué mintCast).+Aimeriez-vous en apprendre plus sur Linux ? Si c'est le cas, une des meilleures façons est de devoir construire Linux from Scratch (Linux à partir de zéro), connu aussi comme LFS. LFS a été brièvement cité dans le FCM n° 71, page 53. Certains contenus de cet article avaient été tirés du site Web de LFS et du « livre » qui décrit comment construire LFS. Les deux gars qui composent l'équipe mintCast sont chacun en train de construire des systèmes LFS et ils présentent leurs avancements dans leurs podcasts habituels. Ils diffusent un dimanche sur deux à 19 h UTC (merci à Gord Campbell de m'avoir indiqué mintCast).
  
-Linux from Scratch est un projet qui vous fournit les instructions pas-à-pas pour construire votre propre système Linux personnalisé, complètement, à partir du code source. Il a été créé par Gerard Beekmans et publié initialement en décembre 1999. Une raison importante de l'existence de ce projet est de vous aider à découvrir comment fonctionne un système Linux de l'intérieur. La construction d'un système LFS aide à montrer ce qui rend Linux unique, comment les choses travaillent ensemble et dépendent les unes des autres. Une des meilleures choses que cette expérience d'apprentissage peut apporter est la capacité à personnaliser un système Linux pour qu'il corresponde à vos propres besoins.+Linux from Scratch est un projet qui vous fournit les instructions pas à pas pour construire votre propre système Linux personnalisé, complètement, à partir du code source. Il a été créé par Gerard Beekmans et publié initialement en décembre 1999. Une raison importante de l'existence de ce projet est de vous aider à découvrir comment fonctionne un système Linux de l'intérieur. La construction d'un système LFS aide à montrer ce qui rend Linux unique, comment les choses travaillent ensemble et dépendent les unes des autres. Une des meilleures choses que cette expérience d'apprentissage peut apporter est la capacité à personnaliser un système Linux pour qu'il corresponde à vos propres besoins.
  
-Une autre bénéfice important de LFS est qu'il vous permet d'avoir un contrôle plus grand sur le système sans être tributaire de l'implémentation de quelqu'un d'autre. Avec LFS, vous êtes au poste de pilotage et imposez chaque aspect du système.+Un autre bénéfice important de LFS est qu'il vous permet d'avoir un contrôle plus grand sur le système sans être tributaire de l'implémentation de quelqu'un d'autre. Avec LFS, vous êtes au poste de pilotage et imposez chaque aspect du système.
  
 **LFS allows you to create very compact Linux systems. When installing regular distributions, you are often forced to install a great many programs which are probably never used or understood. These programs waste resources. You may argue that with today's hard drive and CPUs, such resources are no longer a consideration. Sometimes, however, you are still constrained by size considerations if nothing else. Think about bootable CDs, USB sticks, and embedded systems. Those are areas where LFS can be beneficial. On completion, my LFS system was about 4.5 GB. **LFS allows you to create very compact Linux systems. When installing regular distributions, you are often forced to install a great many programs which are probably never used or understood. These programs waste resources. You may argue that with today's hard drive and CPUs, such resources are no longer a consideration. Sometimes, however, you are still constrained by size considerations if nothing else. Think about bootable CDs, USB sticks, and embedded systems. Those are areas where LFS can be beneficial. On completion, my LFS system was about 4.5 GB.
Ligne 39: Ligne 39:
 LFS is designed to be built in one session. That is, the instructions assume that the system will not be shut down during the process. That does not mean that the system has to be done in one sitting. You can continue to do other work on your host system whilst compiling is being done in another (terminal) window. The issue is that certain procedures have to be re-accomplished after a reboot if resuming LFS at different points. The book does explain how to do this if necessary.** LFS is designed to be built in one session. That is, the instructions assume that the system will not be shut down during the process. That does not mean that the system has to be done in one sitting. You can continue to do other work on your host system whilst compiling is being done in another (terminal) window. The issue is that certain procedures have to be re-accomplished after a reboot if resuming LFS at different points. The book does explain how to do this if necessary.**
  
-J'ai quelques expériences de construction des 7.6, 7.8, 7.10 et maintenant 8.0. Ma première construction de LFS 7.6 m'a demandé 50 heures réparties sur 7 jours. C'était sur un boîtier avec un Pentium 4 et seulement 512 Mo de RAM. Ça incluait la lecture de chaque chose trois fois avant de vraiment le faire et aussi de lire de nombreuses « man-pages » (pages d'aide) pour comprendre ce que signifiaient toutes les options peu familières que j'utilisais. Ma seconde construction sur un boîtier similaire a eu des problèmes (voir 3.8 Compiling the Kernel (drivers) - (3.8 Compiler le noyau (pilotes) - ci-dessous), mais lors de ma troisième construction, je suis descendu à 25 heures de travail (processeur i7). Ma construction de la 8.0, sur un boîtier avec un processeur Celeron, a pris environ 34 heures. Là dessus, environ 12 heures ont été nécessaires pour compiler GCC seulement ; aussi, ne pensez pas que vous allez vous asseoir et regarder votre écran d'affichage en permanence.+J'ai quelques expériences de construction des 7.6, 7.8, 7.10 et maintenant 8.0. Ma première construction de LFS 7.6 m'a demandé 50 heures réparties sur 7 jours. C'était sur un boîtier avec un Pentium 4 et seulement 512 Mo de RAM. Ça incluait la lecture de chaque chose trois fois avant de vraiment le faire et aussi de lire de nombreuses « man-pages » (pages d'aide) pour comprendre ce que signifiaient toutes les options peu familières que j'utilisais. Ma seconde construction sur un boîtier similaire a eu des problèmes (voir 3.8 Compiling the Kernel (drivers) - [3.8 Compiler le noyau (pilotes)- ci-dessous), mais lors de ma troisième construction, je suis descendu à 25 heures de travail (processeur i7). Ma construction de la 8.0, sur un boîtier avec un processeur Celeron, a pris environ 34 heures. Là dessus, environ 12 heures ont été nécessaires pour compiler GCC seulement ; aussi, ne pensez pas que vous allez vous asseoir et regarder votre écran d'affichage en permanence.
  
 LFS est conçu pour être construit en une session. C'est-à-dire que les instructions supposent que le système ne sera pas arrêté pendant le traitement. Cela ne signifie pas que le système doit être fait en une séance. Vous pouvez continuer à faire d'autres travaux sur votre système hôte pendant que la compilation se déroule dans une autre fenêtre (de terminal). Le problème est que certaines procédures doivent être effectuées à nouveau après un redémarrage, si LFS redémarre à certains endroits. Le livre explique comment le faire, si nécessaire. LFS est conçu pour être construit en une session. C'est-à-dire que les instructions supposent que le système ne sera pas arrêté pendant le traitement. Cela ne signifie pas que le système doit être fait en une séance. Vous pouvez continuer à faire d'autres travaux sur votre système hôte pendant que la compilation se déroule dans une autre fenêtre (de terminal). Le problème est que certaines procédures doivent être effectuées à nouveau après un redémarrage, si LFS redémarre à certains endroits. Le livre explique comment le faire, si nécessaire.
Ligne 69: Ligne 69:
 Les fichiers wget-list pour les versions systemd et sysVinit de LFS semblent identiques ; aussi, si vous utilisez wget pour télécharger vos paquets, vous obtenez tous les paquets pour construire les deux versions. Cependant, notez que les paquets requis pour systemd et sysVinit sont légèrement différents. Les fichiers wget-list pour les versions systemd et sysVinit de LFS semblent identiques ; aussi, si vous utilisez wget pour télécharger vos paquets, vous obtenez tous les paquets pour construire les deux versions. Cependant, notez que les paquets requis pour systemd et sysVinit sont légèrement différents.
  
-Sur les 79 paquets de wget-list, 65 tarball et 6 correctifs sont communs. For systemd, 2 tarball sont uniques (dbus, systemd). Pour sysVinit, 5 tarball et 1 correctif sont uniques (eudev, bootscripts, sysklogd, sysvinit, udev, sysvinit-patch).+Sur les 79 paquets de wget-list, 65 tarball et 6 correctifs sont communs. Pour systemd, 2 tarball sont uniques (dbus, systemd). Pour sysVinit, 5 tarball et 1 correctif sont uniques (eudev, bootscripts, sysklogd, sysvinit, udev, sysvinit-patch).
  
 ======3====== ======3======
Ligne 83: Ligne 83:
 Le système LFS est construit en utilisant une distribution Linux déjà installée. Celle-ci sera considérée comme le système hôte. Après avoir préparé une partition sur laquelle construire LFS, vous téléchargez les différents paquets sources (environ 356 Mo). Le système LFS est construit en utilisant une distribution Linux déjà installée. Celle-ci sera considérée comme le système hôte. Après avoir préparé une partition sur laquelle construire LFS, vous téléchargez les différents paquets sources (environ 356 Mo).
  
-Ensuite, une chaîne d'outils préliminaire doit être compilée, comprenant les outils utilisés pour compiler LFS, comme GCC, glibc, binutils et d'autres utilitaires nécessaires. Ensuite, vous devez changer de répertoire racine (en utilisant chroot) pour celui de la partition de la chaîne d'outils, pour commencer à construire le système final. La chaîne d'outils finale peut alors être compilée. Un des premiers paquets à compiler est glibc ; après cela, l'éditeur de liens (en angl., linker) de la chaîne d'outils doit être ajusté pour faire le lien avec le glibc nouvellement construit ; ainsi, tous les paquets restants qui constitueront le nouveau système peuvent aussi être liés à ce nouveau glibc. Après avoir créé quelques fichiers de configuration simple, le noyau peut être compilé et GRUB installé avant de démarrer dans votre nouveau système LFS.+Ensuite, une chaîne d'outils préliminaire doit être compilée, comprenant les outils utilisés pour compiler LFS, comme GCC, glibc, binutils et d'autres utilitaires nécessaires. Ensuite, vous devez changer de répertoire racine (en utilisant chroot) pour celui de la partition de la chaîne d'outils, pour commencer à construire le système final. La chaîne d'outils finale peut alors être compilée. Un des premiers paquets à compiler est glibc ; après cela, l'éditeur de liens (en anglais linker) de la chaîne d'outils doit être ajusté pour faire le lien avec le glibc nouvellement construit ; ainsi, tous les paquets restants qui constitueront le nouveau système peuvent aussi être liés à ce nouveau glibc. Après avoir créé quelques fichiers de configuration simple, le noyau peut être compilé et GRUB installé avant de démarrer dans votre nouveau système LFS.
  
 **Host System Requirements **Host System Requirements
Ligne 105: Ligne 105:
 Partitionnement Partitionnement
  
-Je préfère utiliser Gparted en Live CD pour faire mon travail de partitionnement. J'ai déconnecté le disque dur de 1 To dans le boîtier hôte et installé un vieux disque de 160 Go juste pour cette construction de LFS. Avec KISS (Keep It Simple Stupid - Fais-le simple et bête) en tête, en utilisant Gparted, j'ai créé trois partitions primaires. J'ai utilisé l'ancienne table de partition MBR (msdos dans Gparted) plutôt que le nouveau schéma GPT.+Je préfère utiliser Gparted en Live CD pour faire mon travail de partitionnement. J'ai déconnecté le disque dur de 1 To dans le boîtier hôte et installé un vieux disque de 160 Go juste pour cette construction de LFS. Avec KISS (Keep It Simple Stupid - Fais-le simplement et bêtement) en tête, en utilisant Gparted, j'ai créé trois partitions primaires. J'ai utilisé l'ancienne table de partition MBR (msdos dans Gparted) plutôt que le nouveau schéma GPT.
  
 /dev/sda1    Linux Mint 18.1 Serena /dev/sda1    Linux Mint 18.1 Serena
Ligne 125: Ligne 125:
 Télécharger les paquets Télécharger les paquets
  
-Les paquets de code source et les correctifs peuvent être téléchargés en utilisant le fichier wget-list inclus dans le livre tarball. N'oubliez PAS de vérifier les md5sums des fichiers téléchargés. Quand j'ai téléchargé les paquets, wget n'a retourné aucune erreur. J'ai recommencé et j'ai vérifié doublement cela. Et le md5check a montré une erreur dans un paquet. La taille du fichier était beaucoup plus petite ce qu'elle aurait due être ; aussi, j'ai téléchargé à nouveau ce seul fichier pour qu'il soit correct.+Les paquets de code source et les correctifs peuvent être téléchargés en utilisant le fichier wget-list inclus dans le livre tarball. N'oubliez PAS de vérifier les md5sums des fichiers téléchargés. Quand j'ai téléchargé les paquets, wget n'a retourné aucune erreur. J'ai recommencé et j'ai vérifié doublement cela. Et le md5check a montré une erreur dans un paquet. La taille du fichier était beaucoup plus petite que ce qu'elle aurait dû être ; aussi, j'ai téléchargé à nouveau ce seul fichier pour qu'il soit correct.
  
 Créer le répertoire $LFS/tools Créer le répertoire $LFS/tools
Ligne 192: Ligne 192:
 Compiler le noyau (pilotes) Compiler le noyau (pilotes)
  
-C'est ici où j'ai rencontré des difficultés lors de ma deuxième construction. Chaque fois que j'essayais de démarrer le système, il gelait, habituellement, mais pas toujours, en atteignant un point de « kernel panic » (panique dans le noyau). J'ai refait une seconde construction intégrale avec le même résultat. J'avais installé LFS avec sa propre partition swap sur un disque IDE séparé ; aussi, j'ai déplacé le disque dans un boîtier de même spécif. (Pentium 4 avec 512 Mo de RAM) mais plus âgé d'environ deux ans. Bien que les deux boîtiers/cartes-mères aient des ports pour les disques SATA et IDE, le système LFS démarrais dans l'ancien boîtier. Et pourquoi ? Éventuellement, j'ai réalisé que le problème était quelque part dans la compilation du noyau. J'ai ramené le disque dans le premier boîtier, recompilé le noyau sans succès. J'ai même essayé de copier le noyau du système hôte, mais n'aboutis à rien.+C'est ici que j'ai rencontré des difficultés lors de ma deuxième construction. Chaque fois que j'essayais de démarrer le système, il gelait, habituellement, mais pas toujours, en atteignant un point de « kernel panic » (panique dans le noyau). J'ai refait une seconde construction intégrale avec le même résultat. J'avais installé LFS avec sa propre partition swap sur un disque IDE séparé ; aussi, j'ai déplacé le disque dans un boîtier de même spécif. (Pentium 4 avec 512 Mo de RAM) mais plus âgé d'environ deux ans. Bien que les deux boîtiers/cartes-mères aient des ports pour les disques SATA et IDE, le système LFS démarrait dans l'ancien boîtier. Pourquoi ? Éventuellement, j'ai réalisé que le problème était quelque part dans la compilation du noyau. J'ai ramené le disque dans le premier boîtier, recompilé le noyau sans succès. J'ai même essayé de copier le noyau du système hôte, mais n'aboutis à rien.
  
 ======6====== ======6======
Ligne 258: Ligne 258:
 Références : Références :
  
-Linux From Scratch: www.linuxfromscratch.org +Linux From Scratch : www.linuxfromscratch.org 
  
-Le poscast de MintCast: mintcast.org +Le poscast de MintCast : mintcast.org 
  
-Linux Academy: www.linuxacademy.com +Linux Academy : www.linuxacademy.com 
  
-BYOL: www.buildyourownlinux.com+BYOL : www.buildyourownlinux.com
  
 **Bio : Paul is a recently retired engineer who spent nearly all his working life with one vehicle manufacturer. Apart from cars and computers, his other main interest is aviation. Originally from London, he now lives in South Africa. He can be reached at paulromano@vodamail.co.za.** **Bio : Paul is a recently retired engineer who spent nearly all his working life with one vehicle manufacturer. Apart from cars and computers, his other main interest is aviation. Originally from London, he now lives in South Africa. He can be reached at paulromano@vodamail.co.za.**
  
 Bio : Paul est un ingénieur récemment retraité qui a passé presque toute sa vie active chez un constructeur automobile. À part les véhicules et les ordinateurs, son autre centre d'intérêt principal est l'aviation. Originaire de Londres, il vit maintenant en Afrique du Sud. Il peut être joint par paulromano@vodamail.co.za. Bio : Paul est un ingénieur récemment retraité qui a passé presque toute sa vie active chez un constructeur automobile. À part les véhicules et les ordinateurs, son autre centre d'intérêt principal est l'aviation. Originaire de Londres, il vit maintenant en Afrique du Sud. Il peut être joint par paulromano@vodamail.co.za.
issue120/labo_linux2.1494778735.txt.gz · Dernière modification : 2017/05/14 18:18 de d52fr