Forum Linux.debian/ubuntu [KERNEL] ou sont les i586 et les K6-II

Posté par  .
Étiquettes : aucune
0
22
juil.
2004
Bonjour,
Je viens d'installer la Debian-Sarge. Pour l'instant j'ai le kernel 2.6.6-1-386. Cependant j'ai un AMD K6-II 3D-now 350 et je pense que mon noyau ne dois pas être très optimisé pour mon processeur. Or, dans la liste des package Debian, il y a bien les kernels pour 686 et K7 mais aucun pour k6 ni au pire 586.
Comment celà se fait-il ? Pourtant il me semble que ce type de processeur décuple ses performances si on utilise les instructions MMX (c'est flagrant lorsque l'on passe de ogle à ogle-mmx pour la lecture des dvd).
J'aurais donc voulu savoir s'il y avait un package .deb pour ce type de processeur quelque part ? Sinon, est-ce que si je recompile mon noyau, ce dernier sera alors optimisé pour mon architecture ? ou bien existe-t-il un quelconque moyen pour qu'il le soit ?

merci :)
  • # recompile

    Posté par  . Évalué à 1.

    Si tu es persuadé que les performances vont être "décuplées", tu peux télécharger les sources, récupérer le fichier de config de ton noyau actuel dans /boot, make gconfig, charger la config et cocher le proc qui te convient, sauvegarder et recompiler avec
    #make-kpkg --revision <rev_name> clean kernel-image
    puis:
    #dpkg -i kernel-image-2.6machin
    • [^] # Re: recompile

      Posté par  . Évalué à 2.

      Donc c'est bien ça :)
      Si je recompile le noyau en récupérant les source sur kernel.org, et que je le compile en lui précisant le type de mon processeur, il sera optimisé pour ce dernier.
      Bon ben je n'ai plus qu'a retrousser mes manche et à aller le compiler :)

      merci fantomaxe

      Mais c'est quand même bizarre que les noyau 2.4.x avait des packages pour K6 alors que les 2.6.x n'en ont pas ??
      • [^] # Re: recompile

        Posté par  . Évalué à 0.

        Je pense qu'il faut aussi optimiser les applications avec un truc du genre:
        export CFLAGS="-march i586 -O6 -mcpu i586"
        Je ne suis pas un spécialiste de l'optimisation de compilation, mais en cherchant un peu tu devrais trouver ce genre de how-to:
        http://re.a.la/howtos/compiling/(...)
        • [^] # Re: recompile

          Posté par  . Évalué à 0.

          J'oubliais, installe les sources debian, par exemple http://packages.debian.org/testing/devel/kernel-source-2.6.6(...)
          sinon tu vas avoir des problèmes si tu utilise initrd (debian utilise un patch cramfs un poeu difficile à trouver)
        • [^] # Re: recompile

          Posté par  . Évalué à 1.

          Je pense qu'il est hasardeux de dépasser -O3 pour GCC, la stabilité du résultat n'est pas garenti. Pourquoi utiliser -mcpu=i586, alors que si l'on cherche vraiment à faire de l'optimisation, cela serait plutôt march=i586.
          • [^] # Re: recompile

            Posté par  . Évalué à 2.

            Il me semble que si tu regardes la doc de gcc, tu verras que -march=i586 implique automatiquement -mcpu=i586
        • [^] # Re: recompile

          Posté par  . Évalué à 1.

          Ces options seront sélectionnable dans l'interface de compilation du noyau ou il faut que je créé des variable d'environemment ?

          (dsl je n'y connait pas grand chose en compilation C/C++ et je n'ai encore jamais compiler mon noyau....)

          N'y a t il pas une optimisation pour AMD-K6II qui possède le jeux d'instruction mmx plutot qu'une optimisation 586 générique ?

          merci en tout cas pour réponses :)
          • [^] # Re: recompile

            Posté par  . Évalué à 2.

            Voilà la méthode à utiliser. Je ne garantie pas le fonctionnement final, notamment sur le initrd qui doit être généré, il faut certains paquets que je ne connais pas tout à fait. Sinon la ligne d'option CFLAGS est la ligne conseillée pour compiler en optimisé pour un K6-II.

            $ su -
            <enter root passwd>
            root$ apt-get update
            root$ apt-get install fakeroot kernel-package cramfsprogs initrd-tools module-init-tools kernel-source-2.6.7 kernel-image-2.6.7-386
            root$ exit
            $ cd /usr/src/
            $ tar jxf kernel-source-2.6.7.tar.bz2
            $ cd kernel-source-2.6.7
            $ cp /boot/config-2.6.7-1-386 .config
            $ export CFLAGS=-march=pentium-mmx -O3 -pipe -fomit-frame-pointer
            $ fakeroot make-kpkg --append-to-version k6 --config menuconfig --initrd --bzimage kernel_headers kernel_image

            Tu devrais assez rapidement avoir un menu qui s'affiche en mode console (menuconfig). Là il va falloir bidouiller un peu pour trouver les options de config. qui vont bien avec ton processeur. C'est là qu'il faut aller « Processor Type and features > Processor Family » et sélectionner « K6/K6-II/K6-III ».

            Une fois ceci fait, il "suffit" de faire « exit » jusqu'à ce que qu'il te demande « do you wish to save your new kernel configuration ? » et où il faut bien entendu répondre « yes » ^^

            À partir de là, il faut laisser la machine tourner toute seule pendant... hum... longtemps. Vu la vitesse de ton processeur et le fait que l'on compile un énorme noyau made in debian, ça va prendre beaucoup de temps. Après ça va dépendre de ta mémoire aussi...

            Au final tu vas te retrouver avec deux jolis paquets debian dans /usr/src/. Il suffit de les installer :

            $ su -
            <enter root passwd>
            root$ cd /usr/src
            root$ dpkg -i kernel*.deb


            Enfin, un petit coup de nettoyage et ça devrait être bon :

            $ cd /usr/src/kernel-source-2.6.7
            $ make clean
            $ su -
            <enter root passwd>
            root$ apt-get --purge remove kernel-source-2.6.7
            root$ exit

            Normalement le noyau s'est de lui-même intégré à Grub / Lilo et donc il doit être possible de booter dessus. Sinon faut modifier sa config. Grub / Lilo à la mano.

            Voilà, ça devrait (normalement) marcher correctement.
            • [^] # Re: recompile

              Posté par  . Évalué à 1.

              merci beaucoup :)
              j'essayerai cette semaine ....
            • [^] # Re: recompile

              Posté par  . Évalué à 2.

              On peut même améliorer avec :

              $ export CHOST="i586-pc-linux-gnu"

              Il existe une page qui répertorie toutes les meilleures options à choisire pour GCC en fct° de son proc. et de son syst. mais je ne sais plus où elle est. J'aijuste noté ce qu'il me fallait pour mon K7 et mon K6-II...

Suivre le flux des commentaires

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