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: