[Debian] Version sources différentes

Résolu
Bonjour à tous,

Afin d'installer les drivers ATI, j'ai besoin (vous le savez surement) de recompiler le noyau.
Mon souci, c'est qu'il me met un message comme quoi les sources que j'ai telechargées n'ont pas la bonne version, d'après le fichier version.h
En fait, j'ai installé la Debian en mode EXPERT24 (donc noyau 2.4), mais a l'origine, c'est un noyau 2.6. Mais ce dernier ne supportait pas mon disque SATA, voila pourquoi j'ai installé le noyau 2.4.
Or dans le version.h, j'ai ca :
#define UTS_RELEASE "2.6.0-test7"
#define LINUX_VERSION_CODE 132608
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

Je suppose que c'est pour ca qu'il me retourne cette erreur. Mais comment résoudre ca ?

Merci à tous !

--

Moins le blanc est intelligent, plus le noir lui parait bête

5 réponses

  1. Modérateur
    Le SATA marche en 2.6, je le fais marcher avec un 2.615-1 (debian etch).

    A priori il te faut des drivers pour un noyau 2.4, ou bien passer en 2.6. Je suis un peu surprise qu'il n'y ait pas de drivers binaires tout prêts, tu es sûr d'avoir rajouté les miroirs ati dans /etc/apt/sources.list ?

    Bonne chance
    0
    1. Moi aussi j'etais assez étonné que la 2.6 ne supporte pas le SATA.
      J'ai installé le kernel 2.6.8-2-686... Je sais que c'est udev qui gère le SATA pour la 2.6, alors qu'en 2.4, c'est un pilote SCSI qui emule de l'IDE.
      Donc il faut changer le menu.lst : hda en sda pour la 2.6. Enfin, ca ne marche pas non plus, il me sort un Kernel panic!
      Je vais essayer de creuser pour passer sous la 2.6, mais il ne me semble pas qu'il y ait des drivers binaires. Mes sources sont juste mes 2 DVDs. Tu penses que je devrais rajouter des miroirs ?
      0
  2. Contributeur
    Ce ne serait pas un pb de version des sources/headers qui ne correespondrait pas à celle du noyau installé?!
    Regarder aussi du coté de la version de gcc par defaut: il faut qu'elle correpond à celle avec lequel le noyau a été compiler.
    0
    1. Si, c'est très probablement ca !
      Mais comment ca se fait qu'il m'ait installé un noyau et copié les sources d'un autre noyau ? Il est beste, celui la !
      Et comment faire pour remplacer les sources ? Suffit juste de les copier dans le bon repertoire ?
      Pour gcc, je ne pense pas qu'il y ait de problème, mais je garde a l'esprit que ca peut venir de la aussi.
      0
  3. Modérateur
    Personnellement j'irai télécharger des sources de noyau 2.6.15 (celui là je suis sûre qu'il marche bien) sur https://www.kernel.org/

    A mon avis un 2.6.8 est trop ancien si tu as des disques SATA "dernier cri". Attention a bien mettre le SATA en dur dans le noyau, pas en module.

    Si tu as un kernel panic c'est probablement qu'il manque des choses importantes dans ton noyau. Il faudrait voir à quel moment il plante (cf message au boot).

    Pour compiler ton noyau, vu que tu as une debian, je te conseille d'utiliser la commande make-kpkg qui génère un paquet .deb. Tu installes ce paquet avec un dpkg -i et il te corrigeras ton grub tout seul.

    Si tu préfères utiliser une image déjà prête (linux_image...) il faut alors passer par des headers comme te propose Zempachi.

    Les versions de headers et d'image dont tu disposes dépendent des mirroirs que tu as mis dans /etc/apt/sources.list, notamment si tu es en testing, stable etc...

    Par exemple chez moi (je suis en testing) :
    #
    # deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060112)]/ etch main
    #deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060112)]/ etch main
    deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
    deb-src http://ftp.fr.debian.org/debian/ etch main
    
    deb https://www.debian.org/security/ etch/updates main
    deb-src https://www.debian.org/security/ etch/updates main
    
    deb ftp://ftp.nerim.net/debian-marillat etch main

    J'utilise la linux_image 2.6.15-1 pour architecture 486 et le SATA marche directement...

    Bonne chance
    0
    1. Oui, juste avant que tu me dise ca, j'ai telechargé les dernieres sources du noyau 2.6. Mais qu'entends tu par
      Attention a bien mettre le SATA en dur dans le noyau, pas en module.
      Il faut creer le package avec une option spécifique ?
      Merci de ton aide, et désolé de mon ignorance... J'ai l'impression de reapprendre linux a chaque fois que je me lance dans une nouvelle distrib !
      0
      1. Modérateur
        Si tu fais un noyau toi même tu as la possibilité de l'intégrer au noyau (<*>) ou de le compiler en module (<m>) lorsque tu fais :
        make menuconfig

        L'intérêt du module c'est que tu peux charger / décharger à volonté le module. Par contre si cette partie de noyau est cruciale pour le boot, ton module n'étant pas chargé au début du démarrage, tu auras un kernel panic. C'est pour ça que moi je préfères mettre en dur.

        Concrètement si tu fais un module tu vas avoir des .ko dans /lib/modules/... alors que sinon ce sera directement dans ton noyau.

        I) De manière générale un noyau s'installe comme suit, apres avoir mis les sources dans /usr/src :

        A) Décompresser les sources

        cd /usr/src
        tar xzvf monkernel.tgz
        ln -s monkernel linux
        

        Le lien /usr/linux pointe vers les sorces de ton nouveau noyau.

        B) Préparer la compilation


        1) Si c'est ton premier noyau fait maison :
        cd /usr/src/linux
        make menuconfig

        A partir de là tu règles tout (attention c'est assez long et assez fastidieux. En cas de doute cf l'aide.

        2) Sinon tu peux récupérer la configuration de ton ancien noyau :
        cd /usr/src/linux
        cp /usr/src/linux/monanciennoyau/.config .
        make oldconfig

        C) Compiler

        make
        make modules
        make modules_install

        D) Puis intaller les sources

        cp /usr/src/linux/arch/i386/boot/bzImage /boot/ma_bzImage

        Corriger /boot/grub/menu.lst ou /etc/lilo.conf en conséquence. Si tu as lilo ne pas oublier :
        /sbin/lilo


        II) Mais dans ton cas, comme tu as une debian ...

        Il suffit de faire les étapes A) et B) puis d'utiliser make-kpkg :
        cd /usr/src/linux
        make-kpkg --revision --revision=mon.noyau.0.1 kernel_image
        Un .deb est généré dans /usr/src :
        cd ..
        dpkg -i kernel-image-2.6-15_mon.noyau.0.1_i386.deb
        

        Tu pourras ainsi installer désinstaller ce noyau via apt-get ou aptitude comme un paquet classique. Le grub est mis à jour tout seul, il n'y a plus qu'a rebooter.

        Bonne chance
        0
        1. Woah ! C'est parfait !
          Je vais essayer de me débrouiller avec ca !
          Merci beaucoup mamiemando !
          0