|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() |
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
|
|
|
10
|
|
|
#2 |
|
Membre Expert
![]() ![]() budget et contrôle de gestion Inscription : décembre 2006 Messages : 895 ![]() |
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 C'est en Linuxant qu'on devient .... geek ![]() Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo. Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing. Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing Ici un article de présentation de la distribution Gentoo http://winnt.developpez.com/tutoriel...tation-gentoo/ |
|
|
20
|
|
|
#3 |
|
Membre Expert
![]() |
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. |
|
|
10
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 538 ![]() |
Citation:
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... |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() |
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. |
|
|
01
|
|
|
#6 | |
|
Membre Expert
![]() ![]() budget et contrôle de gestion Inscription : décembre 2006 Messages : 895 ![]() |
Salut,
Citation:
J'utilise des modules (pas pour tout Par contre je ne connais aucun outil qui permette ce que tu demandes.
__________________
Winnt C'est en Linuxant qu'on devient .... geek ![]() Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo. Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing. Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing Ici un article de présentation de la distribution Gentoo http://winnt.developpez.com/tutoriel...tation-gentoo/ |
|
|
|
20
|
|
|
#7 |
|
Membre Expert
![]() |
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. |
|
|
01
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 538 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() |
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 Expert
![]() |
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 |
|
|
10
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 538 ![]() |
je crains hélas que là ça n'existe pas actuellement.
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
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. |
|
|
11
|
|
|
#13 | |
|
Membre Expert
![]() ![]() budget et contrôle de gestion Inscription : décembre 2006 Messages : 895 ![]() |
Salut,
Make menuconficg utilise le fichier .config situé dans le répertoire des sources. Citation:
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 C'est en Linuxant qu'on devient .... geek ![]() Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo. Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing. Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing Ici un article de présentation de la distribution Gentoo http://winnt.developpez.com/tutoriel...tation-gentoo/ |
|
|
|
20
|
|
|
#14 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com