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

Matériel Discussion :

Outils pour générer un .config en fonction du matériel


Sujet :

Matériel

  1. #1
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut Outils pour générer un .config en fonction du matériel
    Bonjour à tous,
    J'aimerai savoir s'il existe un outil pour faire la configuration d'un kernel en fonction du matériel.
    En fait, je recompile souvent le kernel de mes linux pour les passer en monolithique, virer tout ce qui n'est pas utile à la machine et optimiser le kernel pour la bécanne. Et quand un nouveau kernel sort, je l'installe souvent très vite.

    Cependant, j'ai plusieurs machines complètement différentes en matériel et en utilisation. Du coup ça me prend très très longtemps de tout configurer, donc si je pouvais mâcher le boulot en virant automatiquement tout ce qui n'est pas utile en fonction du matos et passe tout ce qui peut l'être en monolithique, je n'aurais plus qu'a peaufiner les détails.
    Virer tout ce qui ne sert pas est aussi utile pour compiler le kernel beaucoup plus vite (passer de 1h30 à 10/20 minutes sur un de mes portable), sans compter les améliorations des performances que cela offre quand on compile avec les optimisations spécifiques au processeur et le gain en poids.

    J'ai rapidement cherché sur Google sans succès, je ne trouve que des tutos qui parlent des différentes interfaces de configuration du kernel ou de comment trouver les informations sur son matériel pour savoir ce qui doit être activé dans le kernel.

    Vous avez des pistes sur tout ça ?
    Merci de vos réponses

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    regarde http://kernel-seeds.org/ c'est un site utilisé par les utilisateurs de gentoo/funtoo.
    Cela devrait bien t'aider dans ta recherche d'optimisation.
    Un conseil laisse les drivers son en module si tu utilise le son.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Intéressant le site, surtout que je suis gentooiste (arch et debian a mes heures perdues également).

    Cependant ça ne correspond pas vraiment à ma question. Je voudrais un tool qui génère un .config qui désactive les pilotes inutiles et active ceux qui sont utiles en fonction de la bécanne sur laquelle je l'exécute. Le site va m'aider pour le peaufinnage mais pas pour le gros du boulot.

    Personnellement je met les drivers audio en monolithique justement, à chaque fois que j'ai tenté de les mettre en modules j'ai eu des problèmes de refus de chargement des modules (essentiellement sur les ordi portables, mon fixe ne me pose pas de problème de ce coté). Et puis j'aime bien me passer de l'initrd.

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par ctxnop Voir le message
    Intéressant le site, surtout que je suis gentooiste (arch et debian a mes heures perdues également).

    Cependant ça ne correspond pas vraiment à ma question. Je voudrais un tool qui génère un .config qui désactive les pilotes inutiles et active ceux qui sont utiles en fonction de la bécanne sur laquelle je l'exécute. Le site va m'aider pour le peaufinnage mais pas pour le gros du boulot.

    Personnellement je met les drivers audio en monolithique justement, à chaque fois que j'ai tenté de les mettre en modules j'ai eu des problèmes de refus de chargement des modules (essentiellement sur les ordi portables, mon fixe ne me pose pas de problème de ce coté). Et puis j'aime bien me passer de l'initrd.
    si tu parts d'une machine déjà installé, avec le noyau pas optimisé, tu peux tout simplement prendre modèle sur le /boot/grub/config-* correspondant à la version du noyau en cours.

    tu l'enregistres dans le répertoire sources pour la compilation tu n'as plus qu'à l'éditer et changer les modules par les intégration monolithiques, à l'exception bien sur des "sound & video, et de quelques autres" et bien sur de ce qui n'est chargé qu'au cas où comme les USBmassstorages etc...etc...

  5. #5
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Oui mais non ce n'est pas ça mon problème. Je sais très bien configurer le kernel à la main, choisir les drivers en fonction du matos, optimiser, faire les choix des options, etc...
    Mais justement, dans un kernel de base de la distribution, la majorité du temps tous les drivers sont activés sous forme de module, les options spécifiques à une famille de processeurs sont désactivées, etc...
    Du coup il faut passer deux heures dans "make menuconfig" (ou équivalent) à décocher tout ce qui sert à rien, en comparant avec un lspci pour savoir ce qu'il faut conserver.
    Moi je cherche un outil pour faire ça a ma place, ne pas avoir à passer deux heures entre menuconfig et lspci pour savoir quels drivers conserver. En soit ça n'a rien de compliquer, il suffit d'un d'index qui fait la relation entre la sortie de lspci et les drivers à activer.
    Un peu comme la base de ce site : http://kmuto.jp/debian/hcl/index.rhtmlx
    On lui passe la sortie d'un lspci et ça donne des infos à propos du support de ce matos. Bah il s'agirait juste ici de générer un .config en désactivant tous les drivers excepté ceux fournits par un lspci (ou autre commande genre lshw, peut importe).
    Comme ça en 10 secondes j'ai un .config qui compilera un kernel 20 fois plus vite car il n'y aura plus que le nécessaire, et j n'aurais plus qu'a le peaufiner à la main pour mettre les optimisations non déterminables automatiquement.

  6. #6
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    Citation Envoyé par ctxnop
    Et puis j'aime bien me passer de l'initrd.
    L'utilisation de l'initrd n'as rien à voir avec un noyau monolithique ou non.
    J'utilise des modules (pas pour tout ) et je n'ai pas d'initrd.

    Par contre je ne connais aucun outil qui permette ce que tu demandes.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  7. #7
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Euuhhh si si ça a un rapport ^^
    Le initrd c'est pour y mettre les modules indispensable au moment du boot. Evidemment, l'audio on s'en tamponne au moment du boot, donc on peut le mettre en module, sans pour autant l'avoir dans le initrd, il sera chargé via modprobe en automatique avec les fichiers de config qui vont bien.
    Par contre, si ton kernel est sur une partition, disons ext3, et que tu as mis le driver ext3 en module, tu ne bootera pas sans initrd car le kernel n'arrivera pas à lire la partition sur laquelle il est présent.
    La solution est donc de mettre ext3 en monolithique ou d'avoir un initrd.

    Sinon, vis à vis de ma demande, je suis tombé sur ça, a force de recherche, c'est un début mais c'est vieux donc je suis pas sur qu'il fonctionne encore, je testerai demain je pense.

  8. #8
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    je crois que si tu veux automatiser cette manipulation là il va falloir que tu écrives l'application toi même, car l'inverse doit exister, mais dans le sens où tu veux le faire je vois pas...


    D'ailleur pourquoi vouloir un monolithique ? Quel interêt y trouves tu (hormis de pas avoir des modules chargés) ? C'est pour une appli en particulier ? pour le fun ? pour l'expérimentation ?

    si tu veux une monolithe pourquoi ne pas prendre le problème dans l'autre sens, utiliser BSD et le réduire. Un peu comme dans debian-kfreebsd...tu auras un monolithique d'entrée qu'il suffira d'épurer. et là pas besoin d'outils complexes, suffit d'un script genre sed qui vire ce qui n'est pas en correspondance et recompile.

  9. #9
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Haaannn nan, je vais pas dev ce truc moi même, j'ai déjà 217 projets sur le feu qui n'avancent pas, je vais pas en rajouter. J'aurais vraiment cru qu'un tool existait...

    L'intérêt du monolithique pour moi c'est surtout une question de gout. Pas de config à faire, de blacklist, d'option pour modprobe, etc... tout est déjà dedans.
    Bien sur j'ai quelques options qui sont compilées sous forme de modules mais dans l'absolut, tout dans le kernel. Par expérience, moins j'ai de module et moins j'ai de problème.
    Mais l'objet de l'utilitaire n'est pas de faire un kernel monolithique. Ca je m'en fout.
    Le but est de désactiver les options inutiles, ce qui représente 50-70% du kernel afin que la compilation soit très rapide. Je compile mon kernel très souvent, je ne veux pas compiler les trucs dont je n'ai pas besoin, en les virant je compile 20 fois plus vite et du coup je compile un kernel en 10 minutes au lieu de 2h. C'est tout, je ne cherche pas plus loins pour le moment. Faire de l'optimisation je le ferai à la main.
    Mais désactiver tout ce qui est inutile prend un temps fou avec le risque de se planter alors qu'il serait si simple de générer la liste des drivers à inclure via un lspci.

  10. #10
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Vis à vis de BSD, c'est hors propos.
    Comme je disais au début, la problématique est la suivante :
    J'ai 15 ordis, tous différents matériellement, tous tournent sous linux, pas autre chose. Je ne cherche pas à remplacer le linux pour autre chose, mieux ou moins bien, ça n'a pas d'importance. Pour la majorité d'entre eux ce n'est pas moi qui ai choisit l'OS qui va dessus. Je ne fais que la maintenance.

    Du coup, sur tous ces ordis, je recompile le kernel fréquemment (mise à jour, patch, optimisations supplémentaires, etc...).

    Compiler un kernel ça prend énormément de temps si on le compile dans sa totalité. Pour ne compiler que ce qui est utile, il faut passer énormément de temps à créer un .config qui désactive les trucs inutiles tels que les pilotes de matériel non présent sur la machine. Pour désactiver ces pilotes il faut jouer avec lspci pour être sur de conserver les pilotes qui eux sont utiles, avec le risque d'erreur, etc...
    Moi ce que je cherche depuis le début c'est un outil (ou un site web a l'image de celui que j'ai linké plus haut) qui ferai cette opération de désactiver les drivers inutiles. Qu'il les mettes en modules ou en monolithique je m'en cogne. Ce n'est pas dur de faire un petit sed pour switcher d'un mode à l'autre.
    Comme ça, j'arrive sur une bécanne, deux petites commandes, et paf, j'ai un .config qui ne compile que les pilotes utiles. C'est tout ce que je veux moi

  11. #11
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    je crains hélas que là ça n'existe pas actuellement.

  12. #12
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Je vais peut être dire une bêtise, mais "make menu config" ne se sert pas du config-x.xx.xx existant normalement ?

    Et à défaut, ne peut-on pas s'en resservir ?
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  13. #13
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Salut,

    Make menuconficg utilise le fichier .config situé dans le répertoire des sources.
    Citation Envoyé par zipe31
    Et à défaut, ne peut-on pas s'en resservir ?
    On peut en effet réutiliser ce fichier. Il suffit de l'archiver sous un autre nom en dehors de l'arborescence des sources.
    Puis lorsque l'on installe de nouvelles sources faire un cp <nom_archive> .config (en ajustant la commande bien sûr).
    Une fois cela fait, dans le répertoire des sources lancer un make oldconfig pour intégrer les nouveautés.
    Il ne reste plus qu'à lancer un make menuconfig (pas indispensable si on désactive les nouveautés lors du make oldconfig).
    Ensuite un make && make install
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  14. #14
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Citation Envoyé par Winnt Voir le message
    Salut,

    Make menuconficg utilise le fichier .config situé dans le répertoire des sources.

    On peut en effet réutiliser ce fichier. Il suffit de l'archiver sous un autre nom en dehors de l'arborescence des sources.
    Puis lorsque l'on installe de nouvelles sources faire un cp <nom_archive> .config (en ajustant la commande bien sûr).
    Une fois cela fait, dans le répertoire des sources lancer un make oldconfig pour intégrer les nouveautés.
    Il ne reste plus qu'à lancer un make menuconfig (pas indispensable si on désactive les nouveautés lors du make oldconfig).
    Ensuite un make && make install
    Merchi bien
    $ man woman
    Il n'y a pas de page de manuel pour woman.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/02/2008, 13h45
  2. Quel outil pour générer de la documentation ?
    Par tnodev dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 14/11/2007, 11h04
  3. Réponses: 5
    Dernier message: 13/04/2007, 13h54
  4. meilleur outil pour générer xml
    Par rherrad dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 12/04/2007, 15h12
  5. Réponses: 1
    Dernier message: 18/05/2006, 21h22

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