Forum Linux.noyau Tout en built in ?

Posté par .
Tags : aucun
4
11
nov.
2010
Hello,

Depuis quelques années je compile des kernels pour des serveurs. J'ai pris l'habitude de compiler en mettant tous les drivers/fonctionnalités dont j'ai besoin en built-in, et de désactiver complètement la gestion des modules.

Tout a tendance à marcher impeccable.

Mais je me demandais si d'un point de vue théorique, c'était une mauvaise idée de faire comme ça (genre c'est pas bien d'avoir des drivers chargés s'ils sont inutiles, etc).


J'ai cherché un peu mais je n'ai jamais trouvé de réponse à cette question. Quelqu'un a un avis?

Merci :)
  • # Autrefois

    Posté par (page perso) . Évalué à 7.

    un kernel trop gros (1,44 Mo) ne bootait pas.
    Il fallait que ça puisse tenir sur une disquette.

    Faut croire que c'est plus le cas…

    Quand au code en dur, c'est juste des entrées supplémentaires dans le binaire.
    Si t'appelles pas le code, ben, c'est juste de la place perdue, ça n'a pas de raison de causer de ralentissement.
  • # Non

    Posté par (page perso) . Évalué à 2.

    Moi je fais pareil :-)

    D'ailleurs d'après la doc de la config du noyau, désactiver CONFIG_MODULES (plus exactement CONFIG_MODULE_UNLOAD) permet d'avoir un noyau plus petit et plus simple.
    • [^] # Re: Non

      Posté par (page perso) . Évalué à 4.

      Ce qui serait bien, c'est d'avoir un script qui regarde le noyau en fonctionnement à l'instant t (module chargé...) et construise un nouveau noyau avec juste ce qu'il faut compilé en statique.

      J'avoue avoir trop de serveur différent pour gérer la compilation de tous ses noyaux à la main sur mon parc.
      • [^] # genkernel

        Posté par . Évalué à 3.

        Il existe genkernel, un script qui regarde ce que tu as et compile des trucs en modules. Il sait aussi gérer un initrd. il est destiné à la première compilation de noyau sur une nouvelle machine lors de l'installation de gentoo : il donne l'assurance d'un noyau qui va booter, par la suite l'utilisateur a tout le temps d'éditer le .config généré et de décocher ce dont il n'a pas besoin.

        http://www.gentoo.org/doc/en/genkernel.xml
      • [^] # Re: Non

        Posté par . Évalué à 4.

        heu c'est pas ce que fait déjà l'option make localyesconfig ?
  • # Options des modules

    Posté par . Évalué à 3.

    Je vois 2 inconvénients:
    - ne pas pouvoir donner certaines options aux modules (ou alors c'est possible quand le module est en dur, mais je ne sais pas comment faire)
    - il est parfois utile de pouvoir retirer, et recharger un module (pour une carte raid par exemple, ou une caméra vidéo)
    • [^] # Re: Options des modules

      Posté par (page perso) . Évalué à 2.

      1) C'est possible au boot, en passant les arguments au noyau.
      2) Effectivement les modules évitent de rebooter le système.

      Système - Réseau - Sécurité Open Source

  • # Sécurité ?

    Posté par (page perso) . Évalué à 1.

    J'avais lu que le chargement de module peut poser des problèmes sécurités ; donc si on veut éviter ces problèmes il faudrait tout compiler en dur et supprimer la possibilité de charger des modules.

    La page wikipedia a ce sujet :
    http://en.wikipedia.org/wiki/Loadable_kernel_module#Security

    Après je ne sais pas si ça tient toujours.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.