[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re:Noyau : compil or not compil ?



Bonjour à tous les utilisateurs et développeurs de Debian :

Dans son message du 22/08/13 à 22:24, zulian a écrit :
> Il fut un temps ou je compilais à la main mes noyaux à partir des sources.
> 
> Maintenant je charge un simple paquet comme : linux-image-3.10-1-amd64 
> 
> Est-ce que charger une image plutôt que de compiler son noyau à un impact 
> quelconque ?

En dehors d'une configuration matérielle ou d'un besoin très spécifiques, la compilation du noyau Linux n'est pas nécessaire. Cela étant dit, on ne devient pas idiot à vouloir se lancer dans cette opération. ;-)

Pour moi, je vois 4 cas où il peut être intéressant d'y aller :
- Cela activera les pilotes et fonctionnalités désactivés par défaut mais nécessaires pour la machine ou pour les besoins.
- A l'inverse, cela débarrassera des pilotes et des fonctionnalités inutiles ce qui à pour conséquence de soulager le processeur et la mémoire centrale (cela dit si la machine contient un CPU, même mono-cœur, d'au moins 1 GHz et une RAM d'au moins 1 Go, la différence ne risque pas d'être flagrante même si elle existe).
- Cela permettra de ne pas utiliser l'Initrd si on intègre dans le noyau (et non en modules) le pilote du disque dur - et le système de fichiers y utilisé - dans lesquels se trouve le répertoire-racine "/" (contenant, au moins, /bin, /boot, /etc, /lib et /sbin, histoire d'éviter de scier la branche sur laquelle on est assis).
- Par curiosité, amusement voire désœuvrement ou vanité. :-D

Quelques conseils :
- Installer les paquets fakeroot, build-essential, kernel-package et (bien sûr) linux-source-* (si ce n'est déjà fait bien sûr).
- Avoir une idée aussi précise que possible à propos de la configuration matérielle, en se faisant aider par le Wiki Debian https://wiki.debian.org/fr/HowToIdentifyADevice .
- Etre sous un compte utilisateur et oublier root (ou, du moins, ne l'utiliser qu'en cas de nécessité) pendant les phases de configuration et de compilation proprement dite.
- Privilégier menuconfig plutôt que config (peu commode car ça oblige de passer en revue jusqu'à 3000 options - c'est-à-dire pilotes et fonctionnalités - au moins, avec le risque de se retrouver à l'hôpital psychiatrique avant d'en avoir terminer) et xconfig/gconfig (certes "user-friendly" mais ça nécessite X Window et Qt/GTK).
- A moins de savoir parfaitement ce qu'on fait, ne pas hésiter à perdre son temps à consulter et à re-consulter (voire à re-re-consulter) l'aide (voir note a).
- Faire une copie du fichier /boot/config-* dans son répertoire personnel (par exemple), laisser tranquille l'original et se baser sur la copie pour la configuration.
- Sauf en cas d'extrême nécessité, désactiver les options expérimentales ou instables (en principe, c'est précisé dans l'intitulé ou dans l'aide de l'option).
- Intégrer les options nécessaires au démarrage de son système GNU/Linux (ainsi que celles qui sont utilisées pendant plus de la moitié du temps de fonctionnement de la machine - voir néanmoins note b), "modulariser" les options utilisées pendant moins de la moitié du temps de fonctionnement de la même machine (voir cependant note c) et désactiver les options inutiles (les pilotes de matériel et les fonctionnalités qu'on n'utilise pas, même occasionnellement).
- En cas de doute sur la décision à prendre (à propos d'une telle ou telle options), suivre le conseil donné par l'aide.
- Au cas où la phase de configuration s'éternise - cela peut durer une semaine ! - , ne pas hésiter à enregistrer les modifications déjà effectuées sur la copie (et non pas sur l'original /boot/config-*) et reprendre (là où on s'est arrêté) le lendemain par exemple.
- Même si on installe (et utilise) le noyau personnalisé, conserver par prudence le noyau par défaut fourni par Debian.

Notes :
a) Si vous connaissez des sites Internet permettant d'aider les francophones (fâchés avec la langue anglaise) à choisir (ou non) telle ou telle options, n'hésitez pas à les proposer. Il fut un temps où le site http://www.traduc.org/ proposait une traduction de l'aide pour les noyaux 2.2 ou 2.4 (je ne sais plus) mais ce projet a semblè passer à la trappe... :-(
b) A moins qu'on soit un fanatique de l'Initrd...
c) Sur un serveur, il est cependant préférable d'éviter la "modularisation" et d'opter pour un noyau monolithique pur pour des raisons de performance et, surtout, de sécurité.
d) La compilation proprement dite peut prendre de 10~15 minutes (avec un double-cœurs à 3 GHz et une RAM DDR2 de 8 Go) à plusieurs jours (avec un 386 à 16 MHz complètement dépassé et une RAM SIMM de 8 Mo datant de l'époque de l'Homme de Néandertal... - bon d'accord, j'exagère un peu).

Enfin, quelques lectures suggérées :
- (FAQ Debian GNU/Linux) http://www.debian.org/doc/manuals/debian-faq/ch-kernel.fr.html
- (Manuel d'installation) http://www.debian.org/releases/stable/amd64/ch08s06.html.fr
- (Référence Debian) http://www.debian.org/doc/manuals/debian-reference/ch09.fr.html
- (Wiki Debian) https://wiki.debian.org/fr/KernelFAQ
- (Debian Linux Kernel Handbook - /!\, c'est en anglais) http://kernel-handbook.alioth.debian.org/ch-common-tasks.html
La plupart de ces pages précédentes complètent les informations et les conseils que j'ai listés ci-dessus... ;-)

Cordialement et à bientôt,

Stéphane.



Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net


Reply to: