CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Compiler un noyau ?

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 01:43:45

Bonjour :)

J'aimerais savoir à quoi ça sert de compiler un noyau.
Et comment fait-on ? :(
J'ai regardé la dix de Debian, mais je trouve cela peu claire
J'aimerais essayer pour en savoir plus sur Linux.
Merci d'avance pour vos réponses

godrik
godrik
Niveau 30
02 novembre 2013 à 02:14:17

De nos jour, pour un utilisateur non developpeur, ca sert plutot a rien.

Google_Bot
Google_Bot
Niveau 14
02 novembre 2013 à 02:25:14

« J'aimerais savoir à quoi ça sert de compiler un noyau. »
Si tu utilises une distribution de GNU/Linux (autre que Linux From Scratch, si tant est qu'on peut appeler ça une distribution), il y a de fortes chances pour que tu utilises un noyau compilé et empaqueté par les développeurs de ta distro. Ces noyaux sont faits pour couvrir un maximum d'utilisations, mais parfois il peut te manquer des options, par exemple une fonctionnalité qui a été complètement désactivée (et même pas modularisée).
A côté de ça, tu peux aussi vouloir une version plus récente que celle(s) disponible(s) dans les dépôts de ta distribution. C'est mon cas pour Debian Stable, car les modules dédiés au WiFi ont subi un patch qui m'intéresse depuis la version 3.3, or Wheezy ne dispose que d'un noyau 3.2 par défaut.

Mais tu peux très bien vouloir compiler ton noyau pour voir un peu comment se passe une configuration de noyau, par curiosité. Ou pour spécialiser ton noyau pour ton matériel, l'optimiser pour l'utilisation que tu en fais, etc... les raisons sont nombreuses en fait.

« Et comment fait-on ? :(
J'ai regardé la dix de Debian, mais je trouve cela peu claire »
Je n'ai regardé que très brièvement la documentation de Debian au sujet de la compilation de son propre noyau, mais pour une fois je suis d'accord, ça pourrait être un peu plus détaillé.
Pour ma part, la première fois que j'ai voulu compiler un noyau j'ai suivi les grandes lignes de ce qui est donné ici:
http://linuxg.net/compilee-kernel-3-9-on-debian-wheezy/
J'ajouterai cependant quelques détails:

  • Dans cet article, c'est le noyau 3.9 qui est choisi en exemple, donc la commande wget récupère cette version. Mais tu dois choisir toi-même ta version, sur https://www.kernel.org/ (là, tout est guidé pour comprendre ce que signifient les différentes "appellations" associées aux noyaux, etc.)
  • `make oldconfig` (précédé de la copie de ta config actuelle au bon endroit, évidemment) est ce que je recommande fortement, mais je te conseille aussi très fortement, une fois le make oldconfig terminé, de passer un coup de `make menuconfig`. Tu pourras naviguer dans la hiérarchie des options, et ajuster des réglages que tu aurais foiré durant le make oldconfig, ou tout simplement qui ne te convenaient pas dans ta config actuelle
  • Pour la compilation, tu n'as _PAS BESOIN_ d'être root, ni d'utiliser sudo. Là, ce que l'auteur du blog recommande est très con: sudo fakeroot. Rien qu'à la lecture, on voit que c'est con. =devenir root, puis utiliser un programme... qui simule l'environnement de root (car oui, make-kpkg a besoin de l'_environnement_ rootesque, d'où le fakeroot). En clair, oublie sudo (et ne te fais pas chier à devenir root avec `sudo su -` non-plus), garde le reste de la commande à partir de time. N'oublie pas, comme précisé, d'ajuster le nombre accolé à l'option -j au nombre de coeurs virtuels que tu souhaites impliquer dans la compilation. (si tu souhaites continuer à utiliser ta machine durant la compilation, je te conseille de laisser au moins un coeur libre)

C'est une très bonne expérience pour comprendre le principe du noyau Linux. (je n'irais pas jusqu'à dire "le fonctionnement", mais au moins les grandes lignes)

Google_Bot
Google_Bot
Niveau 14
02 novembre 2013 à 02:27:49

« godrik Voir le profil de godrik
Posté le 2 novembre 2013 à 02:14:17 Avertir un administrateur
De nos jour, pour un utilisateur non developpeur, ca sert plutot a rien. »

Oui, comparé à il y a quelques années, les cas où une compilation du noyau est nécessaire voire indispensable sont vraiment rares pour les "gens normaux"...
Mais même moi, qui ne suis pourtant ni un développeur ni un über-bricoleur (juste un-peu-bricoleur, on va dire), j'ai eu besoin de compiler mon propre noyau au moins deux fois dans mes expériences Linuxiennes, pour les raisons expliquées plus haut entre autres. :o))

Google_Bot
Google_Bot
Niveau 14
02 novembre 2013 à 02:33:16

Un autre exemple de "gens qui compilent" (bon ok, ce sont pas des gens lambdas non-plus): OVH. (et probablement tous les hébergeurs qui ont du matos spécifique / assez custom)
Comme ils ont la main sur le matos de leurs machines et les applications potentielles des distros GNU/Linux de stock qu'ils proposent, ils savent ce qui est nécessaire dans les noyaux à fournir. (modules adaptés au hardware, options propres à la virtualisation, toussa)

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 12:57:09

Merci pour ta réponse :)
Donc, je vais encore me renseigner un peu, et je vais essayer :)

Caletlog
Caletlog
Niveau 10
02 novembre 2013 à 12:59:39

Selon moi le plus gros avantage (et on en a longuement discuté ici) de compiler son noyau, c'est de pouvoir dire à tes potes "Non, je suis pas sorti ce week-end, j'ai compilé mon kernel :cool: "

:oui:

Nh3xus
Nh3xus
Niveau 10
02 novembre 2013 à 15:38:23

Oui, mais quand t'utilise une Debian stable c'est très probable de devoir utiliser un noyau custom.

Surtout si ton matos a été acheté récemment.

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 16:48:31

Voila, la compilation est en cour, mon processeur a l'air de bosser énormément :)
Apparemment tout ce passe bien, mais il y a tellement de chose qui défile, difficile de lire :(

Caletlog
Caletlog
Niveau 10
02 novembre 2013 à 16:55:13

Si t'as une erreur (et pas juste des avertissements qui sont fréquents et normaux), ça va de toute façon couper net la compilation et retourner un statut d'erreur. Il va pas te laisser compiler un noyau s'il risque d'être corrompu.

Google_Bot
Google_Bot
Niveau 14
02 novembre 2013 à 16:55:15

Monolithique :d) L'astuce, c'est de rediriger la sortie standard vers un fichier, et la sortie d'erreur vers un autre fichier.
Sous la forme:

macommande 1> stdout.log 2> stderr.log

Tu peux aussi garder un affichage sur l'écran ET envoyer vers un fichier, en utilisant le programme tee (cf. `man tee`).

macommande |tee fichier.log

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 16:59:05

Compilation terminé, maintenant j'installe :)
Merci Google_Bot, je connaissais pas cette astuce :)

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 17:05:31

C'est bon, j'ai installé la dernière version du kernel, ce fut sympas :)

Pseudo supprimé
Pseudo supprimé 02 novembre 2013 à 17:06:12

Tu porte bien ton pseudo sachant que le noyau linux est monolithique. :-)))

godrik
godrik
Niveau 30
02 novembre 2013 à 17:18:37

ahah, j'avais hesite a ajouter "et admin systeme". Parceque dans les data center ca arrive de devoir pondre un noyau perso pour des trucs a la con.

La compilation du noyaux c'est un truc plutot difficile et casse couille. C'est pour ca qu'il ne vaut mieux pas compiler. Il faut faire attention a harmoniser le compilateur du noyau et des modules (et de la libc peut etre).

La compilation du noyau c'est plein d'option mystique que tu sais pas ce que ca fait. Et certaines il faut les garder, d'autres ne servent a rien pour toi. Une fois que tu as installe ton noyau a toi, ca veut dire que le noyau va pas se mettre a jour (ou alors ce que tu as fais ca sert a rien). De nos jours les differences de performances sont negligeable sur une machine personnelle. Et le seul interet est le support materiel. Mais la plupart du temps, c'est un module noyau a installer et pas de recompilation n'est necessaire. (sauf materiel au support nouveau comme google_bot l'a raconte).

Google_Bot
Google_Bot
Niveau 14
02 novembre 2013 à 17:23:42

« La compilation du noyaux c'est un truc plutot difficile et casse couille. »
Euh... j'ai pas l'impression qu'on parle de la même chose là. make-kpkg simplifie la création de .deb à partir du noyau obtenu, donc l'installation à proprement parler, mais la compilation en elle-même est damn-simplifiée avec les Makefile livrés dans les archives de kernel.org...

« Mais la plupart du temps, c'est un module noyau a installer et pas de recompilation n'est necessaire. »
Oui, sauf quand le module pue grave dans ta version actuelle du noyau, alors qu'il a été patché deux versions plus tard. :oui: :vécu:
Mais globalement, c'est clair qu'à part "pour le sport" ou "par curiosité", un end-user ne devrait plus avoir à compiler son propre noyau depuis quelques années maintenant.

Nh3xus
Nh3xus
Niveau 10
02 novembre 2013 à 17:26:39

J'ai vu par ci par là sur le net, que par exemple, sous Debian Stable, passer d'un noyau 3.2 à plus récent a permis au gars d'obtenir une bien meilleure autonomie par exemple :oui:

C'est pas du bashing mais, avoir un 3.2 sur un poste client aujourd'hui c'est quand même antédiluvien :noel:

Knakis
Knakis
Niveau 10
02 novembre 2013 à 17:26:56

Il y a des gens qui ne veulent pas un noyau de 80 Mo, c'tout.

C'est pas compliqué en soit, c'est juste long et, comme godrik l'a dit, plein d'options obscures. Y'a des trucs tout con dedans que t'as pas besoin mais que sans elles ça fonctionne pas.

Monolithique
Monolithique
Niveau 10
02 novembre 2013 à 17:27:37

Difficile ?
Je ne voie pas en quoi c'est difficile, franchement :(
Peut être que j'avais pas forcement besoin de la faire, mais au moins, je sais le faire désormais, c'est toujours de la connaissance.

Nh3xus
Nh3xus
Niveau 10
02 novembre 2013 à 17:32:38

J'ajoute que dans de rares cas, un noyau "officiel" peut ne pas voir tous les cores du CPU.

C'est souvent le cas pour les gens qui ont un proc à 8 cores par exemple.

Ou encore sur certains serveur avec du Xeon bi-socket :noel:

Une recompilation est alors nécessaire. :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment