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
Prochaine révision
Révision précédente
issue120:labo_linux2 [2017/05/14 09:07] 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é 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 avancement 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 Beekmanset 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 à démontrer ce qui rend Linux unique, et 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 17: Ligne 17:
 Another advantage of a custom-built Linux system is security. By compiling the entire system from source code, you are empowered to audit everything and apply all the security patches desired. It is no longer necessary to wait for somebody else to compile binary packages that fix a security hole. Unless you examine the patch and implement it yourself, you have no guarantee that the new binary package was built correctly and adequately fixes the problem.** Another advantage of a custom-built Linux system is security. By compiling the entire system from source code, you are empowered to audit everything and apply all the security patches desired. It is no longer necessary to wait for somebody else to compile binary packages that fix a security hole. Unless you examine the patch and implement it yourself, you have no guarantee that the new binary package was built correctly and adequately fixes the problem.**
  
-LFS vous permet de créer des systèmes Linux très compacts. Lors de l'installation des distributions habituelles, vous êtes souvent forcés d'installer une grande quantité de programmes qui ne seront probablement jamais utilisés ou compris. Ces programmes gaspillent des ressources. Vous pouvez arguer qu'avec les disques durs et CPU d'aujourd'hui, de telles ressources n'entrent plus en considération. Parfois, cependant, vous êtes encore contraints par des considérations de taille, si ce n'est par autre chose. Pensez aux CD, aux clés USB et aux systèmes intégrés bootables. Ce sont des secteurs où LFS peut apporter un avantage. Une fois installé, mon système LFS fait environ 4,5 Go.+LFS vous permet de créer des systèmes Linux très compacts. Lors de l'installation des distributions habituelles, vous êtes souvent forcés d'installer une grande quantité de programmes qui ne seront probablement jamais utilisés ou compris. Ces programmes gaspillent des ressources. Vous pouvez arguer qu'avec les disques durs et CPU d'aujourd'hui, de telles ressources n'entrent plus en considération. Parfois, cependant, vous êtes encore contraint par des considérations de taille, si ce n'est par autre chose. Pensez aux CD, aux clés USB et aux systèmes intégrés bootables. Ce sont des secteurs où LFS peut apporter un avantage. Une fois installé, mon système LFS fait environ 4,5 Go.
  
 Un autre avantage d'un système Linux construit spécialement, c'est la sécurité. En compilant le système entier depuis le code source, il vous est permis d'auditer chaque chose et d'appliquer tous les correctifs de sécurité désirés. Il n'est plus nécessaire d'attendre que quelqu'un d'autre compile les paquets binaires qui résolvent le trou dans la sécurité. Si vous n'examinez pas le correctif et ne l'implémentez pas vous-même, vous n'avez pas de garantie que le nouveau paquet binaire a été construit correctement et résout parfaitement le problème. Un autre avantage d'un système Linux construit spécialement, c'est la sécurité. En compilant le système entier depuis le code source, il vous est permis d'auditer chaque chose et d'appliquer tous les correctifs de sécurité désirés. Il n'est plus nécessaire d'attendre que quelqu'un d'autre compile les paquets binaires qui résolvent le trou dans la sécurité. Si vous n'examinez pas le correctif et ne l'implémentez pas vous-même, vous n'avez pas de garantie que le nouveau paquet binaire a été construit correctement et résout parfaitement le problème.
Ligne 29: Ligne 29:
 LFS semble publier de nouvelles versions stables tous les six mois, fin février et fin septembre. Au moment où j'écris, la dernière version est la v8.0, publiée le 25/02/2017. LFS semble publier de nouvelles versions stables tous les six mois, fin février et fin septembre. Au moment où j'écris, la dernière version est la v8.0, publiée le 25/02/2017.
  
-Soyez juste au courant que, quand vous avez fini une construction de LFS, vous vous retrouvez avec un système Linux minimal qui n'a qu'une interface en ligne de commande et un seul utilisateur, root. Il y a encore beaucoup plus de travail à faire - en utilisant le livre « Beyond LFS project » (Au-delà du projet LFS) - pour disposer d'une sorte d'environnement graphique.+Soyez juste au courant que, quand vous avez fini une construction de LFS, vous vous retrouvez avec un système Linux minimal qui n'a qu'une interface en ligne de commande et un seul utilisateur, root. Il y a encore beaucoup de travail en plus à faire - en utilisant le livre « Beyond LFS project » (Au-delà du projet LFS) - pour disposer d'une sorte d'environnement graphique.
  
 La construction d'un système LFS n'est pas une tâche simple. En particulier, comme minimum absolu, vous devez déjà être capable d'utiliser la ligne de commande (shell) pour copier et déplacer des fichiers et des répertoires, lister les contenus des répertoires et des fichiers et changer de répertoire courant. Il est aussi escompté que vous avez une connaissance raisonnable de l'utilisation et de l'installation des logiciels Linux. Aucune expérience préalable de compilation n'est requise si vous pouvez suivre les instructions avec soin, mais ça aiderait si vous avez déjà compilé un noyau auparavant. La construction d'un système LFS n'est pas une tâche simple. En particulier, comme minimum absolu, vous devez déjà être capable d'utiliser la ligne de commande (shell) pour copier et déplacer des fichiers et des répertoires, lister les contenus des répertoires et des fichiers et changer de répertoire courant. Il est aussi escompté que vous avez une connaissance raisonnable de l'utilisation et de l'installation des logiciels Linux. Aucune expérience préalable de compilation n'est requise si vous pouvez suivre les instructions avec soin, mais ça aiderait si vous avez déjà compilé un noyau auparavant.
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 avec 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 les 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 65: Ligne 65:
 Of the 79 packages on the wget-list, 65 tarballs and 6 patches are common. For systemd, 2 tarballs are unique (dbus, systemd). For sysVinit, 5 tarballs & 1 patch are unique (eudev, bootscripts, sysklogd, sysvinit, udev, sysvinit-patch).** Of the 79 packages on the wget-list, 65 tarballs and 6 patches are common. For systemd, 2 tarballs are unique (dbus, systemd). For sysVinit, 5 tarballs & 1 patch are unique (eudev, bootscripts, sysklogd, sysvinit, udev, sysvinit-patch).**
  
-Lors de ma première construction, en utilisant la 7.6, j'ai commencé par utiliser la version pdf du livre. Cependant, il est un peu confus à certains endroits car il n'a aucun hyperlien. Vous pouvez télécharger le libre complet en un seul fichier html (LFS-BOOK-8.0-systemd-NOCHUNKS.html), mais ma préférence va à la version tarball. Téléchargez-la depuis linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-8.0-systemd.tar.bz2 . Non seulement celle-ci contient le livre complet en utilisant des petites pages individuelles pour chaque section (de ce fait, plus facile à lire), mais il contient aussi les fichiers md5sums et wget-list, signifiant que c'est le seul fichier que vous devez télécharger à cette étape. Il a aussi la plus petite taille de fichier des 3 versions différentes du livre.+Lors de ma première construction, en utilisant la 7.6, j'ai commencé par utiliser la version pdf du livre. Cependant, il est un peu confus à certains endroits car il n'a aucun hyperlien. Vous pouvez télécharger le libre complet en un seul fichier html (LFS-BOOK-8.0-systemd-NOCHUNKS.html), mais ma préférence va à la version tarball. Téléchargez-la depuis linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-8.0-systemd.tar.bz2. Non seulement celle-ci contient le livre complet en utilisant des petites pages individuelles pour chaque section (de ce fait, plus facile à lire), mais il contient aussi les fichiers md5sums et wget-list, signifiant que c'est le seul fichier que vous devez télécharger à cette étape. Il a aussi la plus petite taille de fichier des 3 versions différentes du livre.
  
 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émmarrer 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 91: Ligne 91:
 Exigences pour le système hôte Exigences pour le système hôte
  
-Mon système hôte pour la v8.0 utilise un processeur Celeron 1,8 GHz d'Intel avec 2 Go de RAM. J'ai recyclé un vieux disque SATA 160 Go de Seagate uniquement pour cette construction de LFS. J'ai ensuite installé, comme système hôte, une installation toute fraîche de Linux Mint 18.1 Serena. La majorité des exigences minimales de l'hôte sont réalisées en installant le paquet « build-essential ». Ceci ne rempli pas les exigences pour ce qui est de makeinfo qui est une partie du paquet texinfo., que j'ai donc aussi installé. Deux script bash sont créés pour vous confirmer que votre système hôte remplit les exigences logicielles.+Mon système hôte pour la v8.0 utilise un processeur Celeron 1,8 GHz d'Intel avec 2 Go de RAM. J'ai recyclé un vieux disque SATA 160 Go de Seagate uniquement pour cette construction de LFS. J'ai ensuite installé, comme système hôte, une installation toute fraîche de Linux Mint 18.1 Serena. La majorité des exigences minimales de l'hôte sont réalisées en installant le paquet « build-essential ». Ceci ne remplit pas les exigences pour ce qui est de makeinfo qui est une partie du paquet texinfo, que j'ai donc aussi installé. Deux script bash sont créés pour vous confirmer que votre système hôte remplit les exigences logicielles.
  
 **Partitioning **Partitioning
Ligne 103: Ligne 103:
 Make a note of the UUIDs for each of the partitions. You may want to include them in your fstab file (see 8.2 Filesystem Table below). I had no need to create a separate partition for /home as I did not intend to keep personal files on this drive. After booting into the host system, the new partition(s) can be mounted. Then I installed my host system on /dev/sda1.** Make a note of the UUIDs for each of the partitions. You may want to include them in your fstab file (see 8.2 Filesystem Table below). I had no need to create a separate partition for /home as I did not intend to keep personal files on this drive. After booting into the host system, the new partition(s) can be mounted. Then I installed my host system on /dev/sda1.**
  
-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é la ancienne table de partition MBR (msdos dans Gparted) plutôt que le nouveau schéma GPT.+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 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 123: 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 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 145: Ligne 147:
 Décompresser les paquets Décompresser les paquets
  
-C'est un des endroits du livre LFS qui n'est pas complètement expliqué pour un constructeur débutant. Par chaque paquet, utilisez simplement « tar xfv mon_du_fichier ». Ensuite, avec « cd », passez au répertoire décompressé avant de commencer à suivre les instructions correspondantes dans le livre. Quand vous avez fini cette section,, assurez-vous de revenir (cd) aux répertoires sources et supprimez le répertoire décompressé avant de passer à un nouveau paquet.+C'est un des endroits du livre LFS qui n'est pas complètement expliqué pour un constructeur débutant. Pour chaque paquet, utilisez simplement « tar xfv mon_du_fichier ». Ensuite, avec « cd », passez au répertoire décompressé avant de commencer à suivre les instructions correspondantes dans le livre. Quand vous avez fini cette section, assurez-vous de revenir (cd) aux répertoires sources et supprimez le répertoire décompressé avant de passer à un nouveau paquet.
  
 Après avoir terminé la section 5, je recommande fortement que vous fassiez une sauvegarde du répertoire /tools qui contient votre chaîne d'outils préliminaire. Si, plus tard, vous avez une erreur dans la section 6, ce sera plus facile de récupérer la construction, sans avoir à reprendre tout depuis le début. Après avoir terminé la section 5, je recommande fortement que vous fassiez une sauvegarde du répertoire /tools qui contient votre chaîne d'outils préliminaire. Si, plus tard, vous avez une erreur dans la section 6, ce sera plus facile de récupérer la construction, sans avoir à reprendre tout depuis le début.
Ligne 155: Ligne 157:
 Installer le logiciel de base du système Installer le logiciel de base du système
  
-À partir de ce point, le login du nouvel utilisateur n'est plus utilisé. Vous continuez en vous identifiant comme root, puis vous créez et montez certains systèmes de fichiers virtuels en utilisant l'hôte comme base. De là, vous « chrootez » (utiliser la commande chroot pour sauter dans un autre système) dans le système LFS et créez une nouvelle arborescence de système de fichiers sur la partition LFSet créez quelques fichiers et liens symboliques essentiels. Ensuite, vous re-compilez la chaîne d'outils, cette en les mettant à leurs places définitives. Suivent la compilation et l'installation de tous les paquets restants.+À partir de ce point, le login du nouvel utilisateur n'est plus utilisé. Vous continuez en vous identifiant comme root, puis vous créez et montez certains systèmes de fichiers virtuels en utilisant l'hôte comme base. De là, vous « chrootez » (utiliser la commande chroot pour sauter dans un autre système) dans le système LFScréez une nouvelle arborescence de système de fichiers sur la partition LFS et créez quelques fichiers et liens symboliques essentiels. Ensuite, vous re-compilez la chaîne d'outils, cette fois en les mettant à leurs places définitives. Suivent la compilation et l'installation de tous les paquets restants.
  
 ======5====== ======5======
Ligne 190: 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 avaient 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 199: Ligne 201:
  
 On building v8.0, I managed to get a bootable kernel first-time-around.** On building v8.0, I managed to get a bootable kernel first-time-around.**
 +
 +À ce moment, j'ai commencé à chercher plus d'informations sur la compilation du noyau. Je trouvais le même livre auquel l'équipe de mintCast faisait référence récemment : Linux Kernel in a Nutshell (Le noyau Linux dans une coquille de noix) par Greg Kroah-Hartman. Il peut être téléchargé gratuitement depuis www.kroah.com/lkn. Même s'il se réfère à la compilation d'un très vieux noyau, je ne pourrais jamais assez recommander ce livre. À l'intérieur, Greg, explique comment découvrir, parmi d'autres choses, quels sont les pilotes que le noyau de votre système hôte utilise. Vous pouvez ensuite décider lesquels de ces pilotes sont nécessaires lors de la compilation du noyau de votre système LFS.
 +
 +Il est apparu que la carte-mère la plus récente utilisait des pilotes SATA, même pour le disque IDE, mais la plus ancienne, non. Ces cartes dataient d'une époque où les disques SATA étaient relativement récents. Après avoir suivi les instructions de compilation de Greg, le succès vint enfin.
 +
 +Lors de la construction de la v8.0, je me suis arrangé pour obtenir un noyau bootable du premier coup.
  
 **GRUB Installation **GRUB Installation
Ligne 205: Ligne 213:
  
 For me, the only reason to install the LFS version of GRUB is if you have installed LFS on a separate drive from your host system, and you can use the BIOS/UEFI to select which drive you wish to boot from, or you want to move that drive to a new box. In either case, make sure you install GRUB on the LFS drive, and not on the host drive thus unintentionally overwriting the original (host) GRUB installation.** For me, the only reason to install the LFS version of GRUB is if you have installed LFS on a separate drive from your host system, and you can use the BIOS/UEFI to select which drive you wish to boot from, or you want to move that drive to a new box. In either case, make sure you install GRUB on the LFS drive, and not on the host drive thus unintentionally overwriting the original (host) GRUB installation.**
 +
 +Installation de GRUB
 +
 +Si vous avez installé LFS sur le même disque dur/SSD que votre système hôte, il N'est PAS nécessaire d'installer GRUB pour LFS. À la place, utilisez le GRUB fourni par le système hôte. Utilisez « sudo update-grub » ; il détectera votre nouveau système LFS et le présentera sur une nouvelle ligne dans le menu GRUB.
 +
 +Pour moi, la seule raison d'installer la version LFS de GRUB est si vous avez installé LFS sur un disque séparé de votre système hôte et vous pouvez utiliser le BIOS/UEFI pour sélectionner à partir de quel disque vous souhaitez démarrer, ou si vous voulez déplacer ce disque dans un nouveau boîtier. Dans chacun de ces cas, assurez-vous d'installer GRUB sur le disque LFS et pas sur le disque hôte, ce qui, par inadvertance, écraserait l'installation GRUB d'origine (de l'hôte).
  
 **I have in the past used other boot managers where you can select not only the drive you want to boot from, but also the individual partition you want. In this case, you can install the LFS GRUB to the partition boot sector and not to the MBR for the whole drive. **I have in the past used other boot managers where you can select not only the drive you want to boot from, but also the individual partition you want. In this case, you can install the LFS GRUB to the partition boot sector and not to the MBR for the whole drive.
Ligne 213: Ligne 227:
  
 Note that when you boot into your LFS system for the first time, and login as root, your prompt will show only as bash4.4#. To get a better prompt, you need to create at least a /etc/profile file. A sample file is shown in the BLFS book in Chapter 3 "The Bash Shell Startup Files".** Note that when you boot into your LFS system for the first time, and login as root, your prompt will show only as bash4.4#. To get a better prompt, you need to create at least a /etc/profile file. A sample file is shown in the BLFS book in Chapter 3 "The Bash Shell Startup Files".**
 +
 +Par le passé, j'ai utilisé d'autres gestionnaires de démarrage où vous pouvez choisir non seulement le disque à partir duquel vous voulez démarrer, mais aussi la partition particulière de votre choix. Dans ce cas, vous pouvez installer Le GRUB de LFS dans le secteur de démarrage de la partition et pas sur le MBR du disque entier.
 +
 +Redémarrer le système
 +
 +Félicitations si vous êtes arrivés ici ! Beau travail.
 +
 +Notez que la première fois que vous démarrez votre système LFS, et vous vous identifiez comme root, votre invite sera présentée seulement comme bash4.4#. Pour obtenir une meilleure invite, vous devez créer au moins un fichier /etc/profile. Un fichier exemple est présenté dans le livre BLFS au chapître 3 « The Bash Shell Startup Files » (Les fichiers de démarrage du shell bash).
  
 ======7====== ======7======
Ligne 219: Ligne 241:
  
 Another way of building Linux is available on the Linux Academy website. This is called Build Your Own Linux (BYOL). I have not tried this yet, but I did do a quick overview. BYOL suggests using Fedora Core 24 as a host system and installing this in VirtualBox. The BYOL system is then created on a second block storage device, such as another HDD or a USB stick. It uses the same LFS wget-list of source packages and the build process is the same, except where changes are necessary because of the VirtualBox environment. The final result is a 64-bit system using sysVinit with a separate /boot partition that is compatible with both UEFI and BIOS hardware.** Another way of building Linux is available on the Linux Academy website. This is called Build Your Own Linux (BYOL). I have not tried this yet, but I did do a quick overview. BYOL suggests using Fedora Core 24 as a host system and installing this in VirtualBox. The BYOL system is then created on a second block storage device, such as another HDD or a USB stick. It uses the same LFS wget-list of source packages and the build process is the same, except where changes are necessary because of the VirtualBox environment. The final result is a 64-bit system using sysVinit with a separate /boot partition that is compatible with both UEFI and BIOS hardware.**
 +
 +L'alternative BYOL
 +
 +Une autre façon de construire Linux est disponible sur le site Web de Linux Academy (Académie Linux). C'est appelé Buld your Own Linux (BYOL - Construisez votre propre Linux). Je ne l'ai pas encore essayé, mais je l'ai parcouru rapidement. BYOL suggère d'utiliser Fedora Core 24 comme système hôte et de l'installer dans VirtualBox. Le système BYOL est ensuite créé sur un second dispositif de stockage, tel qu'un autre disque dur ou une clé USB. Il utilise les mêmes paquets sources wget-list que LFS et le processus de construction est le même, à part là où des changements sont nécessaires du fait de l'environnement de VirtualBox. Le résultat final est un système 64-bit utilisant sysVinit avec une partition /boot séparée qui est compatible avec les matériels UEFI comme BIOS.
  
 **References: **References:
Ligne 229: Ligne 255:
  
 BYOL: www.buildyourownlinux.com ** BYOL: www.buildyourownlinux.com **
 +
 +Références :
 +
 +Linux From Scratch : www.linuxfromscratch.org 
 +
 +Le poscast de MintCast : mintcast.org 
 +
 +Linux Academy : www.linuxacademy.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.
issue120/labo_linux2.1494745639.txt.gz · Dernière modification : 2017/05/14 09:07 de d52fr