Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb de recompilation noyau sous debian

6 réponses
Avatar
dj38
Bonjour,

j'essaye de compiler un nouveau noyau adapt=E9 =E0 mon PC (un P4) mais en
vain.
j'utilise une debian sarge (kernel 2.6.8-2) et j'ai essay=E9 les 2
m=E9thodes de compilation
(la classique avec make bzImage et la m=E9thode d=E9bian avec make-kpkg).

j'ai bien suivi toutes les =E9tapes indiqu=E9es par diff=E9rentes doc mais
ca ne marche toujours pas.
j'ai aussi essay=E9 3 kernels diff=E9rents (2.6.8-2, 2-6.16-14 et le
dernier 2-6.16-16)

en compilant avec le kernel-package de debian j'ai un =E9cran noir (sans
aucun message) apr=E8s le menu de grub.
avec le make standard j'ai un kernel-panic avec les messages suivant:
- VFS: can not open root device "<NULL>" or unknown-block (3,3)
- Please append a correct "root=3D" boot option
- kernel panic - not syncing: VFS: unable to mount root fs on
unknown-block(3,3)

Et pourtant la ligne root=3D est la m=EAme que pour l'ancienne
installation
j'ai aussi cod=E9 en dur les fs ext2 et ext3 (j'ai meme essay=E9 de les
int=E9grer en tant que modules).

=E0 votre avis c'est quoi le probl=E8me ?
merci de votre aide.

6 réponses

Avatar
Emmanuel Fleury
dj38 wrote:

j'utilise une debian sarge (kernel 2.6.8-2) et j'ai essayé les 2
méthodes de compilation
(la classique avec make bzImage et la méthode débian avec make-kpkg).

j'ai bien suivi toutes les étapes indiquées par différentes doc mais
ca ne marche toujours pas.
j'ai aussi essayé 3 kernels différents (2.6.8-2, 2-6.16-14 et le
dernier 2-6.16-16)

en compilant avec le kernel-package de debian j'ai un écran noir (sans
aucun message) après le menu de grub.
avec le make standard j'ai un kernel-panic avec les messages suivant:
- VFS: can not open root device "<NULL>" or unknown-block (3,3)
- Please append a correct "root=" boot option
- kernel panic - not syncing: VFS: unable to mount root fs on
unknown-block(3,3)

Et pourtant la ligne root= est la même que pour l'ancienne
installation
j'ai aussi codé en dur les fs ext2 et ext3 (j'ai meme essayé de les
intégrer en tant que modules).

à votre avis c'est quoi le problème ?


Si c'est "can not open root device".

Il est possible que tu n'as pas mis dans ton noyau tous les éléments
nécessaire au boot de ta machine (le plus souvent il s'agit du système
de fichier, mais cela peut aussi être la gestion du S-ATA ou autre).
Soit tu veux le laisser en module et il te faudra constituer un initrd
(solution compliqué et pas utile à mon humble avis), soit tu inclus les
fonctionnalités directement en dur dans ton noyau.

Si c'est un "unknown-block"

Il est possible que l'installeur debian ait changé les partitions de
boot de façon un peu bizarre (cela m'est déjà arrivé). Le mieux serait
que lorsque le menu grub s'affiche tu rentres en mode 'edit' (en
pressant 'e') et que tu modifies les paramètres de boot jusqu'à ce que
tu trouves les bons. Ensuite, il faudra que tu les mettes en dur dans le
fichier /boot/grub/menu.lst

Amicalement
--
Emmanuel Fleury | Office: 211
Associate Professor, | Phone: +33 (0)5 40 00 35 24
LaBRI, Domaine Universitaire | Fax: +33 (0)5 40 00 66 69
351, Cours de la Libération | email:
33405 Talence Cedex, France | URL: http://www.labri.fr/~fleury

Avatar
Haikai Nemo
Le Fri, 12 May 2006 03:10:06 -0700, dj38 a écrit :

Bonjour,

Bonjour,


j'essaye de compiler un nouveau noyau adapté à mon PC (un P4) mais en
vain.


Si c'est un P4, le noyau précompilé kernel-image*-686 ne vous convient
pas ?

j'utilise une debian sarge (kernel 2.6.8-2) et j'ai essayé les 2
méthodes de compilation
(la classique avec make bzImage et la méthode débian avec make-kpkg).

j'ai bien suivi toutes les étapes indiquées par différentes doc mais
ca ne marche toujours pas.
j'ai aussi essayé 3 kernels différents (2.6.8-2, 2-6.16-14 et le
dernier 2-6.16-16)

Mmm, avez-vous essayer l'option --initrd avec la méthode debian ? (penser

alors à mettre en dur CONFIG_BLK_DEV_INITRD et CONFIG_CRAMFS).

en compilant avec le kernel-package de debian j'ai un écran noir (sans
aucun message) après le menu de grub. avec le make standard j'ai un
kernel-panic avec les messages suivant: - VFS: can not open root device
"<NULL>" or unknown-block (3,3) - Please append a correct "root=" boot
option - kernel panic - not syncing: VFS: unable to mount root fs on
unknown-block(3,3)

Et pourtant la ligne root= est la même que pour l'ancienne installation
j'ai aussi codé en dur les fs ext2 et ext3 (j'ai meme essayé de les
intégrer en tant que modules).

Si votre système de fichier est en ext2/3, en dur c'est mieux je pense.

Avez-vous également songer à mettre en dur le support IDE/ATA ? (si
votre DD est de ce type). Auquel cas l'option --initrd ne devrait plus
être utile.

à votre avis c'est quoi le problème ? merci de votre aide.


J'espère que mes indications pourront vous être utiles, bonne chance.

Avatar
dj38
merci pour votre réponse Nemo

Ce que je ne comprend pas c'est que j'ai essayé de compiler avec
exactement la même config qui est installée (copié le fichier
/boot/config-2.6.8-2-386 dans .config ) et au démarrage j'ai un écran
noir !
bizzare! non ?

Si c'est un P4, le noyau précompilé kernel-image*-686 ne vous convien t pas ?


probablement oui, mais je voulais un contôle plus fin sur les modules
et les drivers inclus et non seulement le type de CPU.
en plus des raisons d'aprentissage je voulais tester le dernier kernel.

Mmm, avez-vous essayer l'option --initrd avec la méthode debian ? (pens er
alors à mettre en dur CONFIG_BLK_DEV_INITRD et CONFIG_CRAMFS).


oui je voulais profiter de la modularité du noyau alors je n'ai pas
oublié l'option initrd

Si votre système de fichier est en ext2/3, en dur c'est mieux je pense.
Avez-vous également songer à mettre en dur le support IDE/ATA ? (si
votre DD est de ce type). Auquel cas l'option --initrd ne devrait plus
être utile.


mon fs est de type ext3 et je l'ai mise en dur ainsi que ext2 (par
précaution au cas ou ca poserait problème !!!)
par contre le support IDE/ATA je l'ai choisi en module. peut etre c'est
ca qui pose problème !!!
je vais la mettre en dur et je vous tiendrais au courant.
d'après ce que j'ai compris l'option initrd est indisdensable dès
qu'on a choisi des options en tant que modules !
n'est ce pas?

J'espère que mes indications pourront vous être utiles, bonne chance.


merci beaucoup.

Avatar
Eric Belhomme
"dj38" wrote in news:1147428606.178776.221150
@i39g2000cwa.googlegroups.com:

en compilant avec le kernel-package de debian j'ai un écran noir (sans
aucun message) après le menu de grub.
avec le make standard j'ai un kernel-panic avec les messages suivant:
- VFS: can not open root device "<NULL>" or unknown-block (3,3)
- Please append a correct "root=" boot option
- kernel panic - not syncing: VFS: unable to mount root fs on
unknown-block(3,3)


à votre avis c'est quoi le problème ?
merci de votre aide.

le problème est clairement expliqué dans le message d'erreur : Le noyau

est incapable de monter sa partition root.
Il y a deux explications à cela :
- le support du filesystem de ta partition root (probablement ext3) n'est
pas activé dans ton noyau, dans ce cas, forcément, il risque pas de
pouvoir le monter !
- le support du fs est bien activé, mais en mode module. Dans ce cas, il
te faut créer une image initrd afin que kernel puisse charger le module
_avant_ d'avoir monté sa partition root

Pour la configuration de ton nouveau kernel, es-tu parti d'une
configuration pré-existante, ou d'une configuration "from scratch" ?

Sur Debian, une bonne idée est de partir du .config officiel de Debian,
et d'y apporter les modification que l'on souhaite :

# cp /boot/config-2.6.8-2-386 /usr/src/linux/.config
# cd /usr/src/linux
# make oldconfig
# make menuconfig

Ensuite pour compiler à la mode Debian :

# make-kpkg --us --uc --revision 1.moi --inird kernel_image

--
Rico

Avatar
Pascal Hambourg
Salut,

[...]
j'utilise une debian sarge (kernel 2.6.8-2) et j'ai essayé les 2
méthodes de compilation
(la classique avec make bzImage et la méthode débian avec make-kpkg).

j'ai bien suivi toutes les étapes indiquées par différentes doc mais
ca ne marche toujours pas.
j'ai aussi essayé 3 kernels différents (2.6.8-2, 2-6.16-14 et le
dernier 2-6.16-16)


Mmm, avez-vous essayer l'option --initrd avec la méthode debian ? (penser
alors à mettre en dur CONFIG_BLK_DEV_INITRD et CONFIG_CRAMFS).


Je pensais aussi à une histoire d'initrd, du genre noyau sans initrd et
bootloader configuré avec initrd ou vice versa.

[...]
Si votre système de fichier est en ext2/3, en dur c'est mieux je pense.
Avez-vous également songer à mettre en dur le support IDE/ATA ? (si
votre DD est de ce type). Auquel cas l'option --initrd ne devrait plus
être utile.


Sauf que si le bootloader est configuré pour aller chercher un initrd
inexistant ou ne correspondant pas au noyau, ça risque de ne pas bien
marcher. Donc vérifier la cohérence entre le nouveau noyau et le contenu
du fichier de configuration du bootloader. Pour ma part je dois toujours
repasser dans lilo.conf après l'installation d'un noyau empaqueté par
make-kpkg.

Pour info, il y a quelques jours pour tester un truc j'ai installé pour
la première fois sur ma Sarge un noyau 2.6 maison (sources 2.6.16.14 de
kernel.org) empaqueté avec make-kpkg sans initrd avec les pilotes disque
et système de fichiers de / en dur comme à mon habitude et ça s'est
apparemment déroulé sans histoire. J'avais juste par mégarde désactivé
le support du clavier (oups) mais comme j'accède à cette machine par le
réseau la plupart du temps ça ne m'a pas beaucoup gêné. :-)


Avatar
Denis Leger
Le 12 May 2006 04:01:45 -0700

[...]

mon fs est de type ext3 et je l'ai mise en dur ainsi que ext2 (par
précaution au cas ou ca poserait problème !!!)
par contre le support IDE/ATA je l'ai choisi en module. peut etre
c'est ca qui pose problème !!!
je vais la mettre en dur et je vous tiendrais au courant.
d'après ce que j'ai compris l'option initrd est indisdensable dès
qu'on a choisi des options en tant que modules !
n'est ce pas?


Non, initrd n'est pas toujours indispensable. Le seul truc vraiment
indispensable, c'est le support IDE/ATA et le système de fichier (mais
personnellement je le met en dur dans le noyau).

--
Denis Léger