IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Pourquoi compiler le noyau Linux ?


Sujet :

Administration système

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 25
    Points
    25
    Par défaut Pourquoi compiler le noyau Linux ?
    Bonjour

    J'ai une question...
    Quel est l'intéret de compiler son linux ???
    A quoi ca sert ?
    Et pourquoi le faire ?

    merci.

  2. #2
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    ça sert a optimiser son noyau et ses applications pour son processeur.

    dans la gamme x86, il y'as ce que l'on appelle "compatibilité ascendante";
    c'est a dire que chaque nouveau processeur dois pouvoir faire fonctionner le code (code asm) de l'ancien modele.
    le probleme avec un systeme d'exploitation, c'est qu'on ne peux pas le distribuer pour un processeur donné, alors on distribue des binaires compatibles avec le plus grand nombre: c'est a dire compatible avec les plus vieux processeurs

    l'interet de compiler, c'est d'etre compatible seulement avec ton processeur a toi, et donc optimiser le code générée (code asm toujours) par le compilateur pour profiter des specificités de ton processeur.

    ex: ton processeur as 3 pipelines de plus que les anciens modeles. avec les binaires "standards", tu ne les utiliseras pas de maniere tres efficace; par contre, en compilant le code pour ton processeur, le code seras fait pour utiliser ces 3 pipelines en plus, d'ou un gain d'efficacité important

    les gains de perfs dependent des applis utilisés.
    j'ai vut des gains de perfs ENORMES sur un solver de sudoku (methode brute force), ou les gains etaient de plus de 300% (3x plus vite)
    maintenant il faut relativiser, et sur certaines applis, les gains ne sont pas evidents a voir.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Merci, mais quelle est la methode à suivre pour compiler son linux ?
    Comment faire ?
    Quel est le code à taper ?

  4. #4
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    ça depend de ta distribution.
    sur gentoo, tu es obligé de tout compiler (pas de binaires distribués)
    sur des distributions a base de debian, je n'en ai pas la moindre idée, je ne pense pas que ce soit prevut pour.

  5. #5
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Citation Envoyé par Dark_Ebola
    ça depend de ta distribution.
    sur gentoo, tu es obligé de tout compiler (pas de binaires distribués)
    sur des distributions a base de debian, je n'en ai pas la moindre idée, je ne pense pas que ce soit prevut pour.
    Toutes les ditributions permettent de recompiler le noyau à leur propre sauce.

  6. #6
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    le noyau oui (et heuresement ...)
    mais pas les applis.

    j'ai rien vut dans apt (qui d'ailleurs est un outil que j'aime pas) qui permette de recompiler tout le systeme en -03 -march=...

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    il est possible de recompiler entièrement sa debian à la gentoo. L'outil utilisé est apt-build.
    et extraire un deb de doc debian-fr (à chercher sur debian.org) devrait être à même de mieux vous renseiger.

  8. #8
    Membre confirmé Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Points : 489
    Points
    489
    Par défaut
    Salut,
    L'intérêt de compiler le noyau, c'est de l'optimiser pour répondre à un besoin précis, ou un matériel précis. Par défaut, le noyau est fourni avec quantité de drivers, dont on n'a pas forcément besoin comme par exemple des drivers wifi, des drivers carte son de quantité de fabricants, de téléphonie, de scanners, des systèmes de fichiers dont on ne se servira jamais ... D'ou hop une petite configuration des modules internes du noyau (make menuconfig, quelle que soit la distro) pour virer tout ce qui est inutile ou indésirable puis bam la compilation.

    Autre illustration: certaines entreprises virent tous les drivers USB pour éviter qu'un employé ne copie des données sur une clé USB (pour les vendre aux concurrents, va savoir).

    Un noyau optimisé, avec peu de modules internes, chargera plus vite et sera probablement plus fiable. Il prendra aussi moins d' espace disque et accessoirement, compilera plus vite.

    Enfin, l'intérêt numéro un de la recompilation du noyau est de bénéficier du plus récent, voir kernel.org. Sous debian ça crée un joli deb bien pratique. Mais recompiler le noyau est une tâche relativement longue et complexe qui ne se fait pas tous les jours.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    Oui l'amélioration du jeu d'instruction pour mieux coller aux capacités du constructeur n'est pas seule en jeu.
    Obtenir des applications plus légères et plus ciblées fait partie des avantages de compiler ses applications.
    Dans les distributions "binaires", tous les logiciels sont compilés avec le support pour toutes les libs et toutes les application possibles.
    Au contraire, dans gentoo par exemple, la recompilation fait appel à des paramètres qui permettent de définir si tel ou tel support du logiciel sera compilé. Ça évite par exemple de compiler le support d'un pilote quelconque pour le port série alors que c'est un matériel USB, où le support pour gnome d'un logiciel alors qu'on est un utilisateur fanatique de kde.

  10. #10
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Citation Envoyé par Dark_Ebola
    ça depend de ta distribution.
    sur gentoo, tu es obligé de tout compiler (pas de binaires distribués)
    sur des distributions a base de debian, je n'en ai pas la moindre idée, je ne pense pas que ce soit prevut pour.
    Juste un rappel : Linux, c'est le noyau. Les applications autour que sont bash...etc n'ont rien a voir avec Linux

    Citation Envoyé par Lunixinclar
    Salut,
    L'intérêt de compiler le noyau, c'est de l'optimiser pour répondre à un besoin précis, ou un matériel précis. Par défaut, le noyau est fourni avec quantité de drivers, dont on n'a pas forcément besoin comme par exemple des drivers wifi, des drivers carte son de quantité de fabricants, de téléphonie, de scanners, des systèmes de fichiers dont on ne se servira jamais ... D'ou hop une petite configuration des modules internes du noyau (make menuconfig, quelle que soit la distro) pour virer tout ce qui est inutile ou indésirable puis bam la compilation.

    Autre illustration: certaines entreprises virent tous les drivers USB pour éviter qu'un employé ne copie des données sur une clé USB (pour les vendre aux concurrents, va savoir).

    Un noyau optimisé, avec peu de modules internes, chargera plus vite et sera probablement plus fiable. Il prendra aussi moins d' espace disque et accessoirement, compilera plus vite.

    Enfin, l'intérêt numéro un de la recompilation du noyau est de bénéficier du plus récent, voir kernel.org. Sous debian ça crée un joli deb bien pratique. Mais recompiler le noyau est une tâche relativement longue et complexe qui ne se fait pas tous les jours.
    Je te plussoie.
    De plus, rien ne sert de mettre le dernier noyau si ton noyau satisfait largement tes besoins.
    Je préfère voir un vieux 2.2 tourné tranquillement qu'avoir plein de problème après la recompilation du dernier kernel "qui déchire"
    Quant à la pénibilité de l'action, la recompilation n'est plus si complexe qu'avant mais ca sert strictement à rien de le recompiler 14 fois par jour

  11. #11
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    Citation Envoyé par Katyucha
    Juste un rappel : Linux, c'est le noyau. Les applications autour que sont bash...etc n'ont rien a voir avec Linux
    ça c'est ce que j'appelle de l'enculage de diptères... (oui je fait remonter un vieux topic pour ne rien ajouter d'interressant)
    de plus, je vois pas où j'ai fait cet affreux amalgame qui pourrait remettre en cause le fonctionnement du disque monde.

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    Pour poursuivre l'opération, je dirais que un connaisseur aurait parlé du noyau linux et non pas de linux tout court, sachant déjà que cela prêtait à confusion. D'ailleurs on dit "je suis développeur noyau" si on travaille sur les sources du Linux Kernel je crois.

    Ça c'est spécial pour "Ne me prends pas la tête"

Discussions similaires

  1. Compilation du noyau linux kernel
    Par dawiid71 dans le forum Administration système
    Réponses: 0
    Dernier message: 02/12/2010, 16h12
  2. Erreur asm/socket.h lors de la compilation du noyau linux
    Par renardho dans le forum Administration système
    Réponses: 3
    Dernier message: 12/09/2008, 13h13
  3. compiler un noyau linux
    Par philou_rt dans le forum Administration système
    Réponses: 2
    Dernier message: 07/05/2008, 16h05
  4. Gérération d'un filesystem à la compilation du noyau pour linux embarqué
    Par fabpomme dans le forum Administration système
    Réponses: 1
    Dernier message: 14/04/2007, 16h59
  5. Dans quel cas doit on compiler le noyau d'une distribution Linux ? et Comment?
    Par jlassiramzy dans le forum Administration système
    Réponses: 14
    Dernier message: 23/02/2007, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo