Erreur kernel panic après recompilation du noyau

Je suis complètement bloqué, mais temporairement. J’ai une Ubuntu 11.10 en bon état, dans celui que j’ai installé VirtuelBox. J’ai installé sur VirtuelBox que Pressez Ghest Debian avec le noyau 2.6.32-5-686. ja 'essayé de recompiler mon noyau pour effacer toutes pilote composont puis j’ai allumé la configuration actuelle du pilote nécessaire à l’exploitation des Ghest Debian. Étapes à suivre pour compiler et installer le noyau sont les suivantes:

[quote]root login

nano /etc/apt/sources.list

apt-get update

apt-get install debconf-utils debhelper dpkg-dev build-essential kernel-package libncurses5-dev

uname-r

2.6.32-5-686

wget kernel.org/pub/linux/kernel/ … .5.tar.bz2

tar xvjf linux-2.6.32.5.tar.bz2

mv linux-2.6.32.5/ /usr/src/

cd /usr/src/linux-2.6.32.5/

cp /boot/config-2.6.32-5-686. config

make allnoconfig##

make menuconfig

we selected the penultimate year Load Alternate Configuration File
you exit the menu while watching

make-kpkg - append-to-version “-tango” - initrd buildpackage-us-uc

the image is now in /usr/src/

dpkg-i linux-image-2.6.32.5-tango-tango-2.6.32.5-10.00Custom_i386.deb[/quote]

an error when starting the first line from Grub kernel panic not syncing vfs Unable to mount root fs on unknown-block 0 0


After recompilation on booting from older kernel (ligne 3) on Grub:

Aider moi svp :blush:
:happy-bouncygreen: :happy-bouncycyan: :happy-bouncymulticolor: :happy-bouncyred: :happy-bouncymagenta: :happy-bouncyredfire: :happy-bouncyredfire: :happy-bouncyredfire: :happy-bouncyredfire:

Recommence en choisissant des options à l’étape

make menuconfig

tout particulièrement celles des systèmes de fichiers et des supports mémoire.

Ce qui expliquerait l’échec :

cp /boot/config-2.6.32-5-686. config

à corriger en

cp /boot/config-2.6.32-5-686 .config

Sans quoi le .config qui sert de base à la compilation sera celui que tu crées par

make allnoconfig

allno = NON à tout ce qu’il est possible d’ignorer

README du noyau

        "make config"      Plain text interface.
        "make menuconfig"  Text based color menus, radiolists & dialogs.
        "make nconfig"     Enhanced text based color menus.
        "make xconfig"     X windows (Qt) based configuration tool.
        "make gconfig"     X windows (Gtk) based configuration tool.
        "make oldconfig"   Default all questions based on the contents of
                           your existing ./.config file and asking about
                           new config symbols.
        "make silentoldconfig"
                           Like above, but avoids cluttering the screen
                           with questions already answered.
                           Additionally updates the dependencies.
        "make defconfig"   Create a ./.config file by using the default
                           symbol values from either arch/$ARCH/defconfig
                           or arch/$ARCH/configs/${PLATFORM}_defconfig,
                           depending on the architecture.
        "make ${PLATFORM}_defconfig"
                          Create a ./.config file by using the default
                          symbol values from
                          arch/$ARCH/configs/${PLATFORM}_defconfig.
                          Use "make help" to get a list of all available
                          platforms of your architecture.
        "make allyesconfig"
                           Create a ./.config file by setting symbol
                           values to 'y' as much as possible.
        "make allmodconfig"
                           Create a ./.config file by setting symbol
                           values to 'm' as much as possible.
        "make allnoconfig" Create a ./.config file by setting symbol
                           values to 'n' as much as possible.

C’est vrai que des précisions sur les actions effectuées seraient bienvenues.
La commande “make allnoconfig” est-elle en commentaire ou a-t-elle réellement été exécutée ? Dans ce dernier cas alors recopier la configuration du noyau en place juste avant ne servait à rien puisqu’elle est écrasée par le make allnoconfig.
Qu’est-ce qui a été modifié avec “make menuconfig” ?

Aussi, je n’arrive pas à voir grand chose sur les deux premières images, c’est trop petit.

A mon avis, le message d’erreur signifie que l’initramfs n’a pas pu être monté, peut-être parce que les options nécessaire au support de l’initramfs/initrd n’ont pas été activées.

Note: le noyau 2.6.32.5 de kernel.org est une très vieille version contenant des bugs et des failles connues. Il ne faut pas le confondre avec le noyau 2.6.32-5 de Debian Squeeze qui est basé sur une version beaucoup plus récente. Il vaut mieux soit récupérer les sources du noyau Debian avec le paquet linux-source-2.6.32 ou bien les sources les plus récentes de la série 2.6.32 sur kernel.org (2.6.32.52 à l’heure où j’écris)

Oui comme tu a dit j’ai un Debian squeeze avec noyau 2.6.32.5, j’ai trouvé ça lorsque je tappe #uname -r
qu’est ce que je doit faire pour cette point?
aussi, j’ai refait la compilation ( j’ai trouvé que make allnoconfig est une commande qui efface tout donc c’est incorrect d’utiliser)j’était planté au niveau du “#make menuconfig” dans ce menu je veut sélectionné [size=150]juste[/size] les pilotes hardware du ma machine virtuel [size=150]nécessaire[/size] pour le fonctionnement. c’est à dire les pilotes nécessaire pour la marche du machine.
j’ai fait quelques recherche sur internet, certains dit que pour reconnaît les pilotes à choisir dans menuconfig, il faut les retrouver depuis la commande #lsmod, d’autres dit les retrouver depuis #lspci et d’autres dit les retrouver depuis la commande #lscpu.
voici quelques exemples du solutions autrement dit d’idées:
wiki.linuxquestions.org/wiki/Con … nux_kernel
gentoo-quebec.org/wiki/index.php … n_du_noyau
bodhizazen.net/Tutorials/kernel#lspci

  • Ne pas oublier qu’un grand nombre d’options de configuration du noyau ne sont pas liées à des matériels mais à des fonctionnalités logicielles du noyau.
  • lspci ne montre pas tout le matériel car tous les matériels ne sont pas des périphériques PCI, notamment le clavier et la souris (USB ou PS/2).
  • lsmod ne montre pas tous les pilotes nécessaires non plus car certains peuvent avoir été compilés en dur et non en modules.

Au final, configurer un noyau est un art subtil difficile à décrire. Pour débuter, je pense qu’une bonne approche serait de partir d’une configuration connue (ex : celle du noyau Debian) et de désactiver le support des matériels dont on est sûr de ne pas avoir besoin (ATA, SCSI, USB, réseau, son…). Si on ne comprend pas une option malgré sa description, on n’y touche pas.

2.6.32.5 avec un point ou 2.6.32-5 avec un tiret ?

[code]après un petit recherche je trouve ça sur ce forum aussi est ce que c'est la solution que je cherche, ect ce que ça va conserver dans le noyau juste les pilotes nécessaire du machine [b]? [/b] :
http://www.debian-fr.org/how-to-patch-kernel-qui-boost-les-performances-t30651.html[/code]
[code]il utilise:
make oldconfig
et
make localmodconfig
quelle est la différence entre eux [b]?[/b][/code]

après un petit recherche je trouve ça sur ce forum aussi est ce que c'est la solution que je cherche, ect ce que ça va conserver dans le noyau juste les pilotes nécessaire du machine [b]? [/b] : http://www.debian-fr.org/how-to-patch-kernel-qui-boost-les-performances-t30651.html

il utilise: make oldconfig et make localmodconfig quelle est la différence entre eux [b]?[/b]

Tu copies simplement /boot/config-2.6.32-5-686 vers .config, tu l’allèges ou complémentes de ce que tu veux par

make menuconfig

Tu te centres sur tout ce qui est porté comme “NEW”, à sélectionner ou ignorer, lire “help”. Tu obtiendras un .config prêt à la compilation. Pas de promesses en l’air, “prêt à compiler” ne veut pas dire que ça ne plantera pas à la compilation ou au démarrage.

$ lscpu
détail du processeur, architecture

voir aussi
$ cat /proc/cpuinfo
$ uname -a
exemple
Linux sid1 3.1.6b #1 SMP Mon Jan 2 21:30:45 UTC 2012 i686 GNU/Linux
i686, 32 bits
SMP, processeur de plusieurs coeurs

$ lspci
liste du matériel
$ lspci -v
agrémenté de -v, il te donnera ce détail : "Kernel driver in use: nom"
retiens les noms des modules pour les valider dans menuconfig.

$ lsmod
liste des modules chargés
S’ils sont chargés, tu peux penser que tu en auras besoin pour ta compilation.
Tu peux aussi penser que ces modules doivent être supprimés pour alléger l’obèse.
Élimine-les dans menuconfig=NO; tu verras bien l’effet produit,ça passe ou ça casse.
Ça casse ? tu recommences …

/usr/src/linux-3.2/Documentation/kbuild/kconfig.txt

This file contains some assistance for using "make *config".

Use "make help" to list all of the possible configuration targets.

The xconfig ('qconf') and menuconfig ('mconf') programs also
have embedded help text.  Be sure to check it for navigation,
search, and other general help text.

======================================================================
General
--------------------------------------------------

New kernel releases often introduce new config symbols.  Often more
important, new kernel releases may rename config symbols.  When
this happens, using a previously working .config file and running
"make oldconfig" won't necessarily produce a working new kernel
for you, so you may find that you need to see what NEW kernel
symbols have been introduced.
...

$ make help

Configuration targets:
  config	  - Update current config utilising a line-oriented program
  nconfig         - Update current config utilising a ncurses menu based program
  menuconfig	  - Update current config utilising a menu based program
  xconfig	  - Update current config utilising a QT based front-end
  gconfig	  - Update current config utilising a GTK based front-end
  oldconfig	  - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
 ...

oldconfig se base sur l’ancien et l’adapte au nouveau
localmodconfig se base sur le noyau en cours d’utilisation en prenant en compte les
seuls modules qui soient chargés et en éliminant ceux qui ne sont pas chargés.

Le défaut de localmodconfig : tu pourrais à l’avenir utiliser un module qui n’était
pas chargé au moment de la compilation, un nouveau matériel …