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/12 18:33] 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 meilleurs 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 '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 pour 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 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 à nos 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 uniquecomment 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 de distributions habituelles, vous êtes souvent forcés d'installer une grande quantité de programmes qui ne seront probablement jamais utilisés oui 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 pas 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 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.
  
 **LFS seems to release new stable versions on a six-monthly basis, at the end of February and September. At the time of writing, the latest version is v8.0 released on 2017-02-25. **LFS seems to release new stable versions on a six-monthly basis, at the end of February and September. At the time of writing, the latest version is v8.0 released on 2017-02-25.
Ligne 27: Ligne 27:
 Building an LFS system is not a simple task. In particular, as an absolute minimum, you should already have the ability to use the command-line (shell) to copy or move files and directories, list directory and file contents, and change the current directory. It is also expected that you have a reasonable knowledge of using and installing Linux software. No previous experience of compiling is required if you can follow the instructions carefully, but it would be helpful if you have compiled a kernel before.** Building an LFS system is not a simple task. In particular, as an absolute minimum, you should already have the ability to use the command-line (shell) to copy or move files and directories, list directory and file contents, and change the current directory. It is also expected that you have a reasonable knowledge of using and installing Linux software. No previous experience of compiling is required if you can follow the instructions carefully, but it would be helpful if you have compiled a kernel before.**
  
-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 v0.8, 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 terminez 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.
  
 ======2====== ======2======
Ligne 37: 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îte 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 heurs 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 sur sur une autre fenêtre (de terminal). Le problème est que certaines procédures doivent effectuée à nouveau après un redémarrage si LFS redémarre à différents points. 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émarragesi LFS redémarre à certains endroits. Le livre explique comment le fairesi nécessaire.
  
 **Architecture **Architecture
Ligne 48: Ligne 50:
  
 The second decision determines which book you need to download from the website. Do you want to use systemd or sysVinit? I decided to go with systemd because most distros are using it now, including Debian, Ubuntu & Mint. It is also slightly less work to install.** The second decision determines which book you need to download from the website. Do you want to use systemd or sysVinit? I decided to go with systemd because most distros are using it now, including Debian, Ubuntu & Mint. It is also slightly less work to install.**
 +
 +Architecture
 +
 +Avant de commencer, vous avez deux décisions à prendre. La première est de construire un système, soit 32-bit, soit 64-bit. Un système 32-bit va, bien sûr, ne faire fonctionner que des exécutables 32-bit. La construction 64-bit par défaut qui résulte de LFS est considérée comme un système 64-bit « pur ». C’est-à-dire qu'il ne supporte que des exécutables 64-bit. Vous devez recompiler de nombreux paquets si vous souhaitez lancer aussi des exécutables 32-bit. Les instructions pour les deux architectures sont données dans chaque livre (voir la prochaine section). Ma décision était 64-bit.
 +
 +systemd vs sysVinit
 +
 +La seconde décision détermine quel livre vous devez télécharger depuis le site Web. Voulez-vous systemd ou sysVinit ? J'ai décidé de prendre systemd parce que la plupart des distrib. l'utilisent maintenant, y compris Debian, Ubuntu et Mint. Il demande aussi légèrement moins de travail à l'installation.
  
 **On my first build, using v7.6, I started using the pdf version of the book. However, this is a little confusing in places as it does not have any hyperlinks. You can download the complete book in one html file (LFS-BOOK-8.0-systemd-NOCHUNKS.html), but my preference is for the tarball version. Download this from linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-8.0-systemd.tar.bz2 . Not only does this contain the complete book using smaller individual pages for each section (thereby making it easier to read), it also contains the md5sums and wget-list files, meaning it is the only file you need to download at this stage. It also has the smallest file size of the 3 different versions of the book. **On my first build, using v7.6, I started using the pdf version of the book. However, this is a little confusing in places as it does not have any hyperlinks. You can download the complete book in one html file (LFS-BOOK-8.0-systemd-NOCHUNKS.html), but my preference is for the tarball version. Download this from linuxfromscratch.org/lfs/downloads/stable-systemd/LFS-BOOK-8.0-systemd.tar.bz2 . Not only does this contain the complete book using smaller individual pages for each section (thereby making it easier to read), it also contains the md5sums and wget-list files, meaning it is the only file you need to download at this stage. It also has the smallest file size of the 3 different versions of the book.
Ligne 54: Ligne 64:
  
 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.
 +
 +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. 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 62: Ligne 78:
  
 Then, a preliminary toolchain must be compiled consisting of the tools used to compile LFS, like GCC, glibc, binutils and other necessary utilities. Next, the root directory must be changed (using chroot) to the toolchain's partition to start building the final system. The final toolchain can then be compiled. One of the first packages to compile is glibc; after that, the toolchain's linker must be adjusted to link against the newly built glibc, so that all the remaining packages that will make up the finished system can be linked against it as well. After some simple configuration files are created, the kernel must be compiled and GRUB installed before booting into your new LFS system.** Then, a preliminary toolchain must be compiled consisting of the tools used to compile LFS, like GCC, glibc, binutils and other necessary utilities. Next, the root directory must be changed (using chroot) to the toolchain's partition to start building the final system. The final toolchain can then be compiled. One of the first packages to compile is glibc; after that, the toolchain's linker must be adjusted to link against the newly built glibc, so that all the remaining packages that will make up the finished system can be linked against it as well. After some simple configuration files are created, the kernel must be compiled and GRUB installed before booting into your new LFS system.**
 +
 +Aperçu général de la construction de LFS
 +
 +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 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
  
 My host system for v8.0 used an Intel Celeron 1.80GHz CPU with 2GB of RAM. I recycled an old Seagate 160 GB SATA drive just for this LFS build. I then installed, as the host system, a fresh install of Linux Mint 18.1 Serena. The majority of the host minimum requirements are met by installing the "build-essential" package. This did not meet the requirement for makeinfo which is part of the texinfo package, so I installed that as well. Two bash scripts are created to confirm your host system meets the software requirements.** My host system for v8.0 used an Intel Celeron 1.80GHz CPU with 2GB of RAM. I recycled an old Seagate 160 GB SATA drive just for this LFS build. I then installed, as the host system, a fresh install of Linux Mint 18.1 Serena. The majority of the host minimum requirements are met by installing the "build-essential" package. This did not meet the requirement for makeinfo which is part of the texinfo package, so I installed that as well. Two bash scripts are created to confirm your host system meets the software requirements.**
 +
 +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 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 76: Ligne 102:
  
 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.**
 +
 +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/sda2    Swap
 +/dev/sda3    LFS 8.0
 +
 +Prenez note de l'UUID de chacune des partitions. Vous pouvez souhaiter les inclure dans votre fichier fstab (voir 8.2 Table du système de fichiers, ci-dessous). Je n'ai pas eu besoin de créer une partition séparée pour /home car je n'ai pas l'intention de conserver des fichiers personnels sur ce disque. Après avoir démarré sur le système hôte, la nouvelle partition peut être montée. Puis, j'ai installé mon système hôte sur /dev/sda1.
  
 ======4====== ======4======
Ligne 84: Ligne 120:
  
 Creating the $LFS/tools Directory Creating the $LFS/tools Directory
 +
 A /tools directory is created on the new partition to store the preliminary toolchain files. A new user is created with a clean environment before starting to compile the toolchain.** A /tools directory is created on the new partition to store the preliminary toolchain files. A new user is created with a clean environment before starting to compile the toolchain.**
 +
 +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 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
 +
 +Un répertoire /tools est créé dans la nouvelle partition pour stocker les fichiers de la chaîne d'outils préliminaire. Un nouvel utilisateur est créé avec un environnement vierge avant de commencer à compiler la chaîne d'outils.
  
 **Constructing a Temporary System **Constructing a Temporary System
Ligne 95: Ligne 140:
  
 After completing section 5, I strongly recommend that you backup the /tools directory containing your preliminary toolchain. If you later make a mistake in section 6 it is then easy to recover the build without having to start from the beginning again.** After completing section 5, I strongly recommend that you backup the /tools directory containing your preliminary toolchain. If you later make a mistake in section 6 it is then easy to recover the build without having to start from the beginning again.**
 +
 +Construire un système temporaire
 +
 +Ça se passe quand la chaîne d'outils préliminaire est compilée à partir des paquets sources.
 +
 +Décompresser les paquets
 +
 +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.
  
 **Installing Basic System Software **Installing Basic System Software
  
 From this point on the new user login is no longer used. You continue as logged in as root, then create and mount some virtual filesystems using the host as a basis. You then chroot to the LFS system and create a new filesystem tree on the LFS partition and create some essential files and symlinks. Next you re-compile the toolchain, this time putting them in their final places. This is followed by compiling and installing all the remaining packages.** From this point on the new user login is no longer used. You continue as logged in as root, then create and mount some virtual filesystems using the host as a basis. You then chroot to the LFS system and create a new filesystem tree on the LFS partition and create some essential files and symlinks. Next you re-compile the toolchain, this time putting them in their final places. This is followed by compiling and installing all the remaining packages.**
 +
 +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, cré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 108: Ligne 167:
  
 Making the LFS System Bootable Making the LFS System Bootable
 +
 In this section, the /etc/fstab file is created, followed by compiling and installing the Linux kernel and the GRUB bootloader.** In this section, the /etc/fstab file is created, followed by compiling and installing the Linux kernel and the GRUB bootloader.**
 +
 +Configuration du système
 +
 +Dans cette section, vous créez les fichiers nécessaires à la configuration d'un système de base. Ceci comprend la configuration du réseau, le réglage du fuseau horaire et de l'heure, et le paramétrage de systemd pour initialiser le système.
 +
 +Rendre le système LFS bootable
 +
 +Dans cette section, le fichier /etc/fstab est créé, suivi de la compilation et de l'installation du noyau Linux et du chargeur de démarrage GRUB.
  
 **File System Table **File System Table
  
 If, like me, you play around with multi-booting, multiple operating systems installed, changing partitions and booting from different drives in the same machine, the standard drive names (/dev/sda and so on) can easily change. I always modify my fstab file to use UUIDs instead (see section on partitioning). These do not change unless you reformat (make a new filesystem on) the drive.** If, like me, you play around with multi-booting, multiple operating systems installed, changing partitions and booting from different drives in the same machine, the standard drive names (/dev/sda and so on) can easily change. I always modify my fstab file to use UUIDs instead (see section on partitioning). These do not change unless you reformat (make a new filesystem on) the drive.**
 +
 +Table des fichiers du système
 +
 +Si, comme moi, vous jouez avec le multi-boot, avec plusieurs systèmes d'exploitation installés, en modifiant les partitions et en démarrant à partir de différents disques de la même machine, les noms standard des disques (/dev/sda et autres) peuvent être facilement changés. Je modifie toujours mon fichier fstab pour les remplacer par les UUID (voir la section sur le partitionnement). Ceux-ci ne changent pas sauf si vous reformatez le disque (vous faites un nouveau système de fichiers).
  
 **Compiling the Kernel (drivers) **Compiling the Kernel (drivers)
  
 This is where I ran into problems on my second build. Everytime I tried to boot the system, it would freeze, usually, but not always, reaching a point of kernel panic. I went through a complete rebuild a second time with the same result. I had installed LFS with its own swap partition on a separate IDE hard-drive, so I moved the drive to a box with the same spec (Pentium 4 CPU with 512 MB of RAM) but about two years older. Although both boxes/motherboards had ports for SATA and IDE drives, the LFS system booted in the older box. What now? Eventually, I realized that the problem was somewhere in the kernel compilation. I moved the drive back to the first box, recompiled the kernel again with no success. I even tried copying the kernel from the host system, but got nowhere.** This is where I ran into problems on my second build. Everytime I tried to boot the system, it would freeze, usually, but not always, reaching a point of kernel panic. I went through a complete rebuild a second time with the same result. I had installed LFS with its own swap partition on a separate IDE hard-drive, so I moved the drive to a box with the same spec (Pentium 4 CPU with 512 MB of RAM) but about two years older. Although both boxes/motherboards had ports for SATA and IDE drives, the LFS system booted in the older box. What now? Eventually, I realized that the problem was somewhere in the kernel compilation. I moved the drive back to the first box, recompiled the kernel again with no success. I even tried copying the kernel from the host system, but got nowhere.**
 +
 +Compiler le noyau (pilotes)
 +
 +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 125: 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 131: 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 139: 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 145: 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 155: 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.1494606830.txt.gz · Dernière modification : 2017/05/12 18:33 de d52fr