[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

recompilation noyau problèmatique



Bonjour à tous,

Sous Debian 3.1 (Sarge), j'ai besoin de recompiler un noyau afin d'en exclure la prise en charge du son. Mais voilà plusieurs jours que je suis là dessus, et ce ne sont que des échecs. Autrefois, sous RedHat 7.2, cela ne posait pas autant de problèmes.

Il faut préciser que je suis en RAID1. Ma partition '/boot' est en /dev/md0 et en clair (ext3), montée à partir de /dev/sda1 (miroir /dev/sdb1). Ma partition '/' est montée à partir de /dev/sda2 et en miroir /dev/sdb2, sur /dev/md1 au format LVM2, et cela apparaît comme /dev/mapper/vg00-root. Cela fonctionne ainsi depuis des années sans problème.

Le plus simple serait sans doute que je recompile mon noyau d'origine '2.6.20-16-386' en ne modifiant que la prise en charge du son dans le noyau ; pour la config, partir du fichier /boot/config-2.6.20-16-386 avec make oldconfig. Malheureusement, je n'y arrive pas, car ensuite 'make' retourne un message d'erreur que j'ai oublié, en rapport avec des fonctions non déclarées... Comme la compil fonctionne sans erreur avec des noyaux plus récents, j'en déduis que, dans mon répertoire /usr/src/linux-2.6.20-16-386, la Makefile est 'buggy', ou alors la version de 'make' dont je dispose n'est plus compatible avec cette Makefile là. J'avoue avoir sans doute un peu trop abusé des apt-get install sans avoir désactivé dans mon /etc/apt/sources.list les lignes en rapport avec des répertoires 'testing' et autres imprudences.

Donc, je ne réussis pas à recompiler mon noyau 2.6.20-16-386. J'ai téléchargé le 2.6.20-17-386, mais j'obtiens les mêmes échecs. Alors qu'avec 2.6.26.2 çà compile sans erreur... à ceci près que je n'arrive pas à booter le noyau ainsi obtenu ! Ma méthode de compilation ne générant pas de initrd-img, j'ai dû en générer une à l'aide de mkinitrd, et je l'ai mise dans /boot/grub/menu.lst avec l'image du kernel... Voici ce que j'obtiens à la tentative de boot :

le boot commence, tout défile très vite à l'écran comme à l'habitude, et pas moyen de lire grand chose jusqu'à ce que çà s'arrète... et, comme çà plante avant la fin, aucune logfile à consulter... Lorsque çà se bloque, je lis ceci :

md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
device mapper................
.........................................
no filesystem could mount root. Tried: cramfs
kernel panic - not syncing: VFS unable to mount root fs on unknown block(0,0)

Alors j'ai refait une compil en désactivant raid0 dans la config, ne laissant que raid1... mais c'est le même plantage au final.

Quelqu'un pourrait il me dire ce que je devrais sélectionner dans la config pour obtenir un nouveau noyau qui boot avec mon architecture RAID ?

Je sais qu'il existe d'autres façons de compiler des noyaux pour Debian, notamment avec 'make-kpkg' mais cela ne fonctionne pas chez moi, sans doute à cause d'une version trop récente ou trop ancienne ; il m'est précisé qu'il me manque des paramètres, alors que les howto que j'ai vus n'en font pas mention. Alors je me cantonne à make menuconfig, make, ensuite su et make install, puis make modules_install.

Au fait, j'ai remarqué que les initrd.img que j'obtiens avec mkinitrd sont environ 5 fois plus grosses que celle qui sert à booter mon noyau habituel. Je ne suis pas bien certain d'utiliser correctement mkinitrd ; je tape :

mkinitrd -o initrd.img-2.6.26.2 2.6.26.2

ceci, à partir du répertoire /boot. Et là j'obtiens un message me précisant que cette image ne pourra pas prendre en compte le RAID et, par conséquent, elle ne pourra pas monter root.

Si je tape la même commande en étant dans le répertoire /usr/src/linux-2.6.26.2 je n'obtiens aucune erreur, mais cela ne fonctionne pas non plus.

Merci d'avance pour votre aide.


Reply to: