Forum Linux.noyau Faire un kernel rapide au démarrage.

Posté par .
Tags : aucun
1
11
sept.
2009
Bonjour.

Actuellement, je travaille sur la compilation de kernel Linux, et je cherche le moyen de compiler un kernel pour qu'il se charge le plus vite possible, afin de réduire le temps de boot de ma debian (actuellement 18s). Que vaut-il mieux faire : tout compiler en dur, ou faire le plus de modules possibles?

Merci.
  • # pas évident

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

    ça apportera pas forcément grand chose...

    mais pas d'initrd et le minimum en dur, aucun module à charger lors du boot, c'est ce qu'il y a de mieux.

    évite aussi (et surtout, selon mes rapide tests sur arm/openmoko) tout ce qui est debug
    • [^] # Re: pas évident

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

      Pour ma part, je n'utilise pas du tout d'initrd. Sinon je compile le strict minimum en dur (de quoi booter et monter les partitions de l'OS, c'est tout) et je compile tout le reste en module (enfin juste ce dont j'ai besoin, et je ne charge évidement que les modules vraiment utiles.
      Tu peux aussi regarder si tu n'aurais pas des services inutiles qui se lancent au démarrage.
    • [^] # Re: pas évident

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

      Suivant la console, mettre un 'quiet' sur la ligne de commande permet de gagner grosso merdo une seconde.
      • [^] # Re: pas évident

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

        Je me souviens aussi de presetter les loops-per-jiffy, la légende urbaine parle d'une autre seconde qui peut être grattée
  • # Detection de la configuration

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

    Moi je me demande s'il est possible d'avoir un fichier de configuration déjà tout fait.

    Lorsque le noyau est chargé, il sait quelle partie sont utilisé (module chargé, module jamais chargé, périphérique connecté, type de processeur, ...). Est qu’il est possible à partir du noyau en marche d'extraire un fichier .config contenant uniquement ce qui est en cours d'utilisation. Ceci permettrait d'avoir un noyau réduit, mais plus rapidement (quitte à le tuner un peu ensuite).
    • [^] # Re: Detection de la configuration

      Posté par . Évalué à 2.

      Il y a bien le fichier /proc/config.gz si le support a été compilé dans le noyau... Mais je ne sait pas s'il s'agit de la configuration courante.

      Mais c'est vrai qu'avoir exactement le fichier .config correspondant à l'instant t serait une information très utile...
      • [^] # Re: Detection de la configuration

        Posté par . Évalué à 3.

        Le fichier /proc/config.gz est le fichier (compressé) .config contenant la configuration du noyau au moment de sa compilation et non de la configuration courante.
    • [^] # Re: Detection de la configuration

      Posté par . Évalué à 2.

      Je sais qu'il existe un prog Perl pour NetBSD qui fait ça (adjustkernel) .... Je serais surpris que ça n'existe pas pour Linux !!!
      • [^] # Re: Detection de la configuration

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

        Moi je serais surpris qu'un noyau linux soit aussi facile à ajuster qu'un noyau BSD.
        La conf n'a pas la même tête, l'interface avec le hard est différente (je pense à /dev), et c'est beaucoup plus facile de récupérer (une partie de) la conf d'un noyau BSD que celle d'un linux je crois bien.
  • # Attention ça va moiniser

    Posté par . Évalué à 0.

    Si tu es sur une CPU intel tu peut y gagner à utiliser icc plutôt que gcc.


    Je sais ça pu c'est pas libre, je sors…

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

Suivre le flux des commentaires

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