Depuis quelques années, j'ai l'habitude de compiler les sources du noyau dans /usr/src/linux avec néanmoins un soupçon de mauvaise conscience à cause du message d'un certain Linus Torvalds qu'une moule chevelu(e) et barbu(e) m'avait signalé :
http://lists.insecure.org/linux-kernel/2000/Jul/4404.html(...)
Or donc, en faisant le ménage dans mes signets, je suis retombé (boum !) sur ce message écrit en californien de bas étage mais bon, c'est un travailleur émigré, on ne va pas lui sucrer sa gree card pour ça.
La question qui se pose est de savoir si le risque signalé par ce Linus Torvalds (ah ça, ma bonne Germaine, c'est pas un nom bien de chez nous !) est avéré. En effet, je n'ai, jusqu'à ce jour, constaté aucun problème.
Y'a-t-il dans l'assistance une moule (barbu(e) et chevelu(e) comme il se doit) qui pourrait éclairer ma lanterne ? Me remettre dans le droit chemin de l'obéissance stricte du dogme ?
# Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par Ph Husson (site web personnel) . Évalué à 1.
Les noyaux recents ( 1ans peut-etre plus) font un lien dans le repertoire des modules vers les sources.
Ainsi chaque 'truc' que tu veux ajouter au noyau peut sans te le demander aller voire dans les sources.
Mais c'est mon avis perso.
# Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par Florent C. . Évalué à 1.
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par kapouik . Évalué à 3.
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par Florent C. . Évalué à 1.
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par Rénald Casagraude . Évalué à 1.
J'ai toujours utilisé make-kpkg en décompressant dans /tmp/ ou dans ma maison :-) en tant qu'utilisateur non privilégier les sources du noyau, je n'ai jamais eu de problème en rapport avec cela :-)
R.
# Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par kapouik . Évalué à 5.
Quand tu compiles ta glibc, elle utilise les entêtes de la version installé du noyau : les entêtes dans /usr/src/linux/include (sauf si tu as utilisé le paramètre "--with-headers" lors du "./configure") sont utilisés. Certaines distributions incluent donc un lien /usr/include/asm qui pointe vers /usr/src/linux/include/asm (et aussi un lien /usr/include/linux qui pointe vers /usr/src/linux/include/linux).
Or si tu installes un nouveau noyau dans /usr/src/linux, le nouveau contenu de /usr/src/linux/include/{asm,linux} ne correspond pas forcément à l'ancien contenu : des structures ont pu radicalement changer. Ainsi, si tu compiles un programme sur ton système, il utiliseras les nouvelles structures avec les appels systèmes de la libraries C qui s'attendent à recevoir l'ancienne version de la structure : évidemment, ce n'est pas correct.
La solution ? Normalement, une distribution bien faite doit copier les entêtes du noyau utilisés pour la compilation de la glibc dans /usr/include : ainsi, sur une architecture ix86, le lien /usr/include/asm doit être un dossier ou un lien qui pointe sur le dossier /usr/include/asm-i386 (dossier qui contient une copie des entêtes du noyau linux utilisé lors de la compilation de la glibc). De même pour /usr/include/linux qui doit être un dossier et non pas un lien vers /usr/src/include/linux.
Pour information, Linux Slackware (depuis la version 9.x au moins) n'est pas concernée par ce problème dans la mesure ou les entêtes utilisés pour la compilation de la glibc sont regroupés dans leur propres paquetage (kernel-headers) et ils sont installés dans /usr/include sans aucun lien symbolique avec /usr/src/linux/include.
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par TyrandO . Évalué à 1.
Je vais aller acheter un tube d'aspirines et potasser ! :-)
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par Sagittarius (site web personnel) . Évalué à 1.
Après vérification, cela semble être aussi le cas sous Mandrake grâce au paquetage glibc-devel : "This package also includes the C header files for the Linux kernel. The header files define structures and constants that are needed for building most standard programs. The header files are also needed for rebuilding the kerne".
[^] # Re: Compiler son kernel dans /usr/src/linux, c'est mal ?
Posté par TyrandO . Évalué à 1.
In n'y a donc aucun lien avec les en-têtes actuels du noyau.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.