Outils pour utilisateurs

Outils du site


issue152:certifie_linux

Ceci est une ancienne révision du document !


Before we start , here is a new link to test yourself: http://www.penguintutor.com/quiz/index.php Where we are: https://www.lpi.org/our-certifications/exam-201-objectives (Topic 201: The kernel). In your LPIC study guide, mine is the second edition, this will be chapter 3 (pages 94 – 132). If you are using the free book above, it’s chapter 1 (page 15-44). Welcome back learners, and a nod to those “just interested”. Some distributions make it easier than others to compile a kernel, some not so much. What you need to know is the gist of the thing, meaning almost a generalization. LPIC does not cover a specific distribution, but it wants you to have the tools and knowledge, so you can read the documentation on “distro x” and be able to follow the steps. It is like following a recipe, you are free to change it so you end up with a chocolate cake instead of a vanilla cake, for instance. So let’s discuss the recipe. Now, as with any recipe, if you do not have the tools, you probably are going to fail. You will be installing a lot of tools, source, documentation and libraries, so make sure you have enough disk space free. If you have a system you have built on before, it is a good idea to clean up before you build your custom kernel. Keeping with our cake analogy, ‘make clean’, ‘make distclean’ and ‘make mrproper’ are the commands you can run to clean your workspace.

Avant de commencer, voici un nouveau lien pour tester vos connaissances : http://www.penguintutor.com/quiz/index.php

Où nous en sommes : https://www.lpi.org/our-certifications/exam-201-objectives (Topic 201: The kernel - le noyau). Dans le guide d'études du LPIC, et le mien est la deuxième édition, ce sera le chapitre 3 (pages 94-132). Si vous utilisez le livre gratuit ci-dessus, il s'agit du premier chapitre, pages 15-44.

Re-bonjour, les apprentis ; signe de la tête aux « juste intéressés ».

Certaines distributions rendent plus facile la compilation d'un noyau que d'autres, certaines pas beaucoup. Ce qu'il faut en savoir ce sont les grandes lignes, ce qui signifie presque une généralisation. LPIC ne parle pas d'une distribution précise, mais il veux qui vous ayez les outils et les connaissances qui vous permettront de lire la documentation sur la « distrib. x » et de suivre les étapes. C'est comme respecter une recette : vous êtes libre de la changer pour faire un gâteau au chocolat, au lieu d'un gâteau à la vanille, par exemple. Bon, comme avec n'importe quelle recette, si vous n'avez pas les outils, ce sera sans doute un échec. Vous installerez beaucoup d'outils, de sources, de documentation et de bibliothèques et vous devrez vous assurer d'avoir assez d'espace disque libre. Si vous avez un système sur lequel vous avez déjà compilé un noyau, c'est une bonne idée d'y faire le ménage avant de compiler votre noyau personnalisé. Pour rester avec notre analogie de gâteau, « make clean », « make distclean » et « make mrproper » sont les commandes que vous pourrez lancer pour nettoyer votre espace de travail.

Configuring a kernel takes a lot of reading. Do not attempt if you are not prepared to read a lot of recipes and directions. Information is everywhere, so you need to pay attention. make menuconfig (this requires ncurses) or: make xconfig (QT) or: make gconfig (GTK) Tip: copy your .config-files to a USB thumbdrive before you change anything. This is especially true when you are working with a kernel that is the same version as your current one. Mistakes will be made and accidents do happen (If you do not have a copy VM!).

La configuration d'un noyau nécessite beaucoup de lecture. Il ne faut pas essayer de le faire si vous ne voulez pas lire beaucoup de recettes et d'instructions. Les informations se trouvent partout et il faut y faire attention.

make menuconfig (cela nécessite ncurses) ou :

make xconfig (QT)

ou :

make gconfig (GTK)

Astuce : copiez les fichiers .config (.config-files) sur une clé USB avant de changer quoi que ce soit. Cela est particulièrement vrai quand vous travaillez avec un noyau de la même version que votre noyau actuel. Des erreurs seront commises et les accidents sont inévitables (si vous n'avez pas une copie sur une machine virtuelle !).

‘Excluded’ is the most confusing. Excluded means it is not loaded in this kernel. This does not mean you cannot load it via a module after the fact. So be aware of this when you fire up: make menuconfig. The rest are self explanatory. Tip: When you practise this, do it in a VM you already have a copy of. When you hit save in make menuconfig, it overwrites your .config files! It is a good idea to do compilation in a safe spot. What I mean by this is that the power must be stable; if not, use a UPS. Also keep children away, and make sure you can’t trip over the power cable. Usually one compiles a kernel for systems with low resources to speed them up. The downside is that the lower the resources, the longer it takes to compile. The last time I did this was installing Gentoo on a PII Gateway machine. It took three days to install.

« Excluded » est le plus déconcertant. Excluded (exclu) signifie qu'il n'est pas chargé dans ce noyau-ci. Cela ne signifie pas que vous ne pouvez pas le charger via un module après coup. Soyez-en conscient quand vous démarrez : make menuconfig. Tout le reste est explicite.

Astuce : quand vous faites des exercices, faites-les dans une VM dont vous avez déjà une copie.

Quand vous appuyez sur Enregistrer dans make menuconfig, il écrase vos fichiers .config !

C'est une bonne idée de faire une compilation dans un emplacement sûr. Je veux dire que l'alimentation doit être stable ; sinon, utilisez un UPS (Uninterruptible power supply - onduleur). Il faut également éloigner les enfants et vous assurez qu'il est impossible de trébucher sur le câble électrique. Habituellement, on compile un noyau pour des systèmes avec peu de ressources pour les accélérer. L'inconvénient est que moins de ressources égale plus de temps de compilation. La dernière fois que je l'ai fait, c'était pendant l'installation de Gentoo sur une machine pII Gateway. Il m'a fallu trois jours.

Let’s look at our first target: make bzImage This will make the base. When you run the command, go make some tea and sandwiches; it may take a while. This is where leveraging the power of virtual machines comes in. If you want to do it again, you need to wait for it to complete, but with a bunch of VM’s you can do it a few times in a row to get the hang of things. Change it up, remove the parallel port in one and the floppy in another. Go wild, see what it takes to break it. Breaking and fixing something is a great way to learn. Our next target: make modules Now that the kernel image has been built, the next step is to look at modules. Do not leave the source folder. When you run this command, you now have the opportunity to go wash those dishes from earlier. You can read the section in the book if you have not done so. Our next target: make modules_install This is what we need to map our modules we just made. If you were watching the previous make commands run, you may have noticed that they make files like “parport.o”. Those output files now need to be sorted and polished and whatever else is needed for the modules to install. You don’t need to know any of this in-depth.

Examinons notre première cible : make bzImage

Cela construira la base. Quand vous lancez la commande, allez faire du thé et quelques sandwichs ; ça peut prendre du temps. C'est ici qu'entre en scène l'exploitation de la puissance des machines virtuelles. Si vous voulez le refaire, il faut attendre que ça se termine, mais avec de nombreuses VM, vous pouvez le faire plusieurs fois à la suite pour vous roder. Modifiez-le, enlèvez le port parallèle dans l'une et le lecteur de disquettes dans une autre. Soyez fou : voyez ce qu'il faut pour le casser. Casser et réparer quelque chose est une magnifique mannière d'apprendre.

La cible suivante : make modules

Maintenant que l'image du noyau a été compilé, la prochaine étape est de regarder des modules. Ne quittez pas le dossier source. Quand vous lancez cette commande, c'est l'occasion de lavez la vaisselle de tout à l'heure. Vous devez lire la section dans le livre si ce n'est pas encore fait.

La cible suivante : make modules_install

C'est cela que nous utilisons pour mapper les modules que nous venons de faire. Si vous regardiez les commandes make précédentes tourner, vous aurez peut-être remarqué qu'elles créent des fichiers comme « parport.o ». Ces fichiers de sortie (output) doivent maintenant être triés, affinés et tout ce qu'il faut pour pouvoir installer les modules. Vous n'avez pas besoin de connaissances approfondies sur tout cela.

Don your hard hat and let’s move the bzImage. For the exam, be aware which trees use gzip and which use bzip. When you move your bzImage to your boot folder, you can rename it to vmlinuz<kernel version.arch> Now we go to the next step, mkinitrd /boot/initrd<kernel version>.img <target> You need to know Ubuntu uses mkinitramfs not mkinitrd. So now we have a recipe and we understand the flow. If you are doing this in a flavour of Ubuntu or Red Hat, make sure you read that documentation to understand all the quirks. You can still find a copy of CentOS5 and Debian5 to play with. If you would like to jump ahead, or test your skills at an LPI exam, do a test paper here: https://www.itexams.com/exam/117-201 (These were once valid LPI questions and will ease you into the format).

Mettez votre casque protecteur et déplaçons bzImage. Pour l'examen, il faut connaître les arbres qui se servent de gzip et ceux qui utilisent bzip. Quand vous déplacez le bzImage vers votre dossier boot, vous pouvez le renommer en vmlinuz<kernel version.arch>. Maintenant, nous avançons à la prochaine étape, mkinitrd /boot/initrd<version du noyau>.img <cible>. Il faut savoir qu'Ubuntu utilise mkinitramfs et pas mkinitrd.

Okay. Nous avons maintenant une recette et nous comprenons le flux. Si vous faites ceci dans une saveur d'Ubuntu ou Red Hat, assurez-vous de lire cette documentation-là pour pouvoir comprendre tous les excentricités. Il est toujours possible de trouver un exemplaire de CentOS5 et Debian5 avec lesquels jouer.

Si vous aimeriez prendre de l'avance, ou tester votre dextérité pour un examen du LPI, faites un test sur papier ici : https://www.itexams.com/exam/117-201 (ce sont d'anciennes vraies questions du LPI et elles vous mettront à l'aise avec la formulation).

* The new exam number is 201-400, and 117-201 was the old one. *The site does require signing up, but sign up with temporary email – not your real email. *DO NOT learn these questions parrot fashion, as they are probably not real exam questions. Let us know how you did; good or bad – it does not matter. Good means you are ready to write and confident in your skills. Bad means you will be learning new stuff!! Yay! There is no downside here. If you do not know why an answer is the way it is, contact us.

* Le numéro du nouvel examen est 201-400 et 117-201 était l'ancien.

* Le site nécessite une inscription, mais donnez un adresse mail temporaire, pas votre vraie adresse mail.

* N'apprenez PAS ces questions par cœur, car ce ne sont probablement pas les vraies questions de l'examen.

Faites-nous savoir votre résultat - bon ou mauvais, ça n'a pas d'importance. Bien, ça signifie que vous êtes prêt pour l'écrit et confiant dans vos connaissances. Mal, ça signifie que vous apprendrez de nouvelles choses ! Eh oui ! Ici, il n'y a pas de côté négatif ! Si vous ne connaissez pas les raisons pour telle ou telle réponse, contactez-nous.

issue152/certifie_linux.1578750735.txt.gz · Dernière modification : 2020/01/11 14:52 de d52fr