# [BOOT] Kernel-panic - not syncing: No init found (EN PAUSE)

## vonstorm

Bonsoir à tous!

Au bout d'un an, j'essaie d'installer Gentoo à nouveau...

Je lance l'install à partir d'un cd "minimal", crée mon / (hda1), mon /home (hda2) et mon swap (hda3), compile avec genkernel all (et oui... je ne me sens pas à l'aise), installe Grub, configure Grub.

Hier soir je me retrouve avec un kernel-panic - not syncing: VFS: Unable to mount root fs on unknown block (1,0).

Je modifie mon grub.conf après avoir glâné quelques infos.

Et aujourd'hui j'ai un : Failed to execute /linuxrc

                                 Kernel-panic - not syncing: No init found.

Après de multiples essais infructueux, je me permets de m'adresser au forum pour demander votre aide.

Voici mon grub.conf:

root (hd0,0)

kernel/boot/kernel-genkernel-x86-2.6.24-gentoo-r3 root=/dev/hda1 init=/linuxrc

init /boot/initramfs-genkernel-x86-2.6.24-gentoo-r3

Je précise que la ligne suivante (de mon grub.conf d'hier):

kernel/boot/kernel-genkernel-x86-2.6.24-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda1

se soldait par un: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block (1,0)

Donc, y'a du mieux aujourd'hui puisque je passe l'étape du montage de root.

Apparemment, il ne trouve pas /linuxrc et je dois dire que je ne sais pas où il se trouve ni même si c'est bien cette option que je dois utiliser pour init.

A vrai dire j'ai recopié la ligne telle que dans l'exemple du manuel d'installation avec genkernel.

Si vous pouviez me mettre sur la voie, ce serait cool   :Smile: 

Bonne soirée à tous !

PS: l'année passée, j'étais arrivé plus loin et puis j'ai abandonné suite à une galère pas possible avec xorg et ma carte ati 9200se. Je régresse on dirait...

----------

## CryoGen

vire le init=...

OUPS !! J'ai pas vu que tu utilisais genkernel...

 *doc wrote:*   

> Exemple de code 2.4 : Exemple de grub.conf avec genkernel
> 
> default 0
> 
> timeout 30
> ...

 

Toi tu as écris "init" au lieu de initrd (ou bien c'est une faute de recopie ?)

----------

## vonstorm

 *CryoGen wrote:*   

> vire le init=...
> 
> OUPS !! J'ai pas vu que tu utilisais genkernel...
> 
>  *doc wrote:*   Exemple de code 2.4 : Exemple de grub.conf avec genkernel
> ...

 

Bingo! Erreur de ma part dans le grub.conf

Maintenant mon grub.conf est:

root (hd0,0)

kernel/boot/kernel-genkernel-x86-2.6.24-gentoo-r3 root=/dev/hda1 

initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r3

Et j'arrive plus loin, mais à un moment, j'obtiens:

Mounting root

mknod: /newroot/dev/console: No such file or directory

mknod: /newroot/dev/tty1: No such file or directory

Booting (iniramfs)

switch_root: Bad console '/dev/console'

Kernel panic - not syncing: Attempted to kill init

----------

## geekounet

Salut et bienvenue !  :Smile: 

Peux-tu mettre ton titre du topic en conformité avec les conventions de notre forum s'il te plait ? Merci  :Smile: 

Et une petite recherche sur le forum te renverras des dizaines de cas similaires  :Wink: 

----------

## CryoGen

Utilise ton ancienne ligne  :Wink: 

```
root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda1
```

----------

## vonstorm

Bonjour et merci pour la réponse.

Quand je remets mon ancienne ligne, ça donne de nouveau:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block (1,0) 

Suivi ou précédé d'un autre message, mais je suis au taf jusque 17 heures, je posterai le message complet ce soir...

Bonne journée   :Smile: 

----------

## ghoti

 *vonstorm wrote:*   

> unknown block (1,0) 

 

==> signifie que la notion de "ramdisk" n'est pas connue!

As-tu activé l'option BLK_DEV_RAM en dur dans le kernel ?

Note : si tu veux absolument utiliser genkernel, c'est le genre de difficultés qui te pendent au nez !

Je te suggère de lire /usr/src/linux/Documentation/initrd.txt pour comprendre le prix à payer pour la sois-disante simplicité apportée par genkernel ...   :Rolling Eyes: 

----------

## vonstorm

 *ghoti wrote:*   

>  *vonstorm wrote:*   unknown block (1,0)  
> 
> ==> signifie que la notion de "ramdisk" n'est pas connue!
> 
> As-tu activé l'option BLK_DEV_RAM en dur dans le kernel ?
> ...

 

Bonjour.

Je peux contrôler si l'option est activée par un lsmod ??

Le choix de genkernel était basé sur l'explication du manuel disant que c'était plus simple, et comme je ne m'y connais pas en compilation de noyau... 

Maintenant, je ne suis pas entêté et suis tout disposé à passer à une compilation manuelle.

Je me demande d'ailleurs si je ne vais pas reprendre l'installation à partir de zéro, de toute façon je ne suis pas très avancé dans celle-ci.

Quels conseils me donneriez-vous au moment de la compilation du kernel sachant que j'ai une ATI 9200SE (Radeon 280 je pense) et une SB Live! (emu100k si je ne m'abuse). Je crains de ne pas activer les bons modules...   :Embarassed: 

Bref! Tout conseil, remarque est le bienvenu.

Merci   :Smile: 

----------

## CryoGen

Un petit guide se trouve dans la section Documentation de notre forum french  :Smile: 

https://forums.gentoo.org/viewtopic-t-555623.html

----------

## davidou2a

le support pour le fs de ton choix est il en dur dans le kernel???

----------

## vonstorm

 *davidou2a wrote:*   

> le support pour le fs de ton choix est il en dur dans le kernel???

 

Bonjour et merci pour ta réponse.

Après un lsmod, j'ai yes pour ext2 et pour ext3... donc je pense que oui.

Je précise que j'ai suivi le post d'un forumeur qui rencontrait le même problème mais avec Lilo au lieu de Grub et j'ai fais les actions proposées, à savoir: 

```
# mount -t ext2 /dev/hda2 /mnt/gentoo

# mount -t ext2 /dev/hda1 /mnt/gentoo/boot

# mount -t proc none /mnt/gentoo/proc

# mount -o bind /dev /mnt/gentoo/dev

# chroot /mnt/gentoo /bin/bash

# env-update && source /etc/profile 
```

Et je n'ai pas rencontré de problèmes. D'après ce post (https://forums.gentoo.org/viewtopic-t-525509-highlight-vfs+unable+mount.html), je peux dire que le chroot fonctionne (mais sans vraiment savoir ce que cela signifie   :Embarassed:  ).

Je ne sais pas si ça vous avance plus de le savoir, mais apparemment ça a l'air important...

Merci

----------

## davidou2a

 *vonstorm wrote:*   

>  *davidou2a wrote:*   le support pour le fs de ton choix est il en dur dans le kernel??? 
> 
> Bonjour et merci pour ta réponse.
> 
> Après un lsmod, j'ai yes pour ext2 et pour ext3... donc je pense que oui.

 

T'as donc les supports pour ext3 et ext2 en modules? cherches plus c'est ton probleme... faut les mettre en dur... tu dois pas les voir dans lsmod...

EX : ma sortie lsmod :

```
Tuxozoid davidou # lsmod 

Module                  Size  Used by

snd_seq_dummy           4740  0 

snd_seq_oss            33536  0 

snd_seq_midi_event      8448  1 snd_seq_oss

snd_seq                53872  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event

snd_seq_device          9356  3 snd_seq_dummy,snd_seq_oss,snd_seq

snd_pcm_oss            40576  0 

snd_mixer_oss          17792  2 snd_pcm_oss

sdricoh_cs             10504  0 

mmc_core               51716  1 sdricoh_cs

fuse                   50580  0 

nvidia               7825152  26 

snd_hda_intel         256028  3 

snd_pcm                73220  2 snd_pcm_oss,snd_hda_intel

snd_timer              24452  2 snd_seq,snd_pcm

snd_page_alloc         11272  2 snd_hda_intel,snd_pcm

snd_hwdep              10372  1 snd_hda_intel

snd                    55044  13 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_pcm,snd_timer,snd_hwdep

soundcore               9184  2 snd

ipw3945               111008  0 

tg3                   114692  0 

i2c_i801               10128  0 

i2c_core               25344  2 nvidia,i2c_i801
```

----------

## ghoti

 *vonstorm wrote:*   

>  *davidou2a wrote:*   le support pour le fs de ton choix est il en dur dans le kernel??? 
> 
> Après un lsmod, j'ai yes pour ext2 et pour ext3... donc je pense que oui.

 

Houlà, j'ai l'impression qu'il y a quelques petites confusions :

@davidou2a : si notre ami utilise genkernel, le support du fs n'a pas besoin d'être en dur : si le module est "séparé", il sera chargé à partir de l'image initrd ... (c'est l'intérêt fondamental du initrd !!!)

Néanmoins, ce n'est pas une erreur de le compiler en dur : au contraire, il vaut toujours mieux avoir le fs de "/" en dur ! (conviction personnelle  :Wink: )

@vonstorm : le lsmod liste les modules qui sont chargés en mémoire (ils ne sont donc pas en dur dans le kernel !)

Si tu exécutes cette commande à partir du liveCD, ce sont les modules chargés par le noyau du LiveCD qui sont listés et pas ceux de ton nouveau système !

En fait, cela n'a pas vraiment d'importance dans ton cas mais d'après ton premier message, il ressort que le filesystem de ta partition hda1 est bien compilée en dur :

 *vonstorm wrote:*   

> Et aujourd'hui j'ai un : Failed to execute /linuxrc
> 
>                                  Kernel-panic - not syncing: No init found.
> 
> Voici mon grub.conf:
> ...

 

Avec cette syntaxe de grub.conf, tu charges directement la partition racine (root=/dev/hda1), sans passer par l'image initrd. 

Si le fs n'était pas supporté, tu aurais eu un "Kernel panic - not syncing: VFS: Unable to mount root fs", comme dans ton autre syntaxe (mais avec le numéro de block (3,1) qui correspond à hda1

Le fait qu'il cherche /linuxrc indique que la partition est bien montée. 

Mais naturellement, il ne peut pas trouver /linuxrc puisque celui-ci est une fonctionnalité contenue dans l'image initrd ...

Donc, j'insiste : vérifie le support du ramdisk : que donne la commande "grep BLK_DEV_RAM /usr/src/linux/.config" ?

Et pour enfoncer le clou : avec un noyau peaufiné à la mimine, pas besoin de "init=" ni de "initrd=" : on peut monter directement la racine ! C'est plus simple, non ?  :Wink: 

----------

## davidou2a

@Ghoti : je connais pas trop initrd merçi de cette petite info je vais d'ailleurs de ce pas me renseigner  :Razz: 

----------

## polytan

J'ai déjà essuyé des erreurs comme ca.

As-tu fais un dossier initrd dans ton / ?

```
# mkdir /initrd (en root)
```

----------

## razer

 *ghoti wrote:*   

> 
> 
> Et pour enfoncer le clou : avec un noyau peaufiné à la mimine, pas besoin de "init=" ni de "initrd=" : on peut monter directement la racine ! C'est plus simple, non ? 

 

J'ajouterais : plus propre, plus rapide au chargement

Pour le reste très bonne contribution ghoti

----------

## ghoti

 *polytan wrote:*   

> As-tu fais un dossier initrd dans ton / ?
> 
> ```
> # mkdir /initrd (en root)
> ```
> ...

 

Le fichier initrd est chargé par le bootloader (grub, en l'occurence), tout comme le noyau et le splashscreen.

Par conséquent, pour la clarté et la simplicité, autant le mettre dans le répertoire /boot, qu'il soit sur la partition racine ou sur une partition distincte !

Après ça, rien ne t'empêche de créer un répertoire /boot/initrd ...  :Wink: 

----------

## polytan

Et comment force t-on le noyau à mettre les fichiers dans le dossier /boot/initrd et pas dans /initrd ?

----------

## ghoti

 *polytan wrote:*   

> Et comment force t-on le noyau à mettre les fichiers dans le dossier /boot/initrd et pas dans /initrd ?

 

Je crois qu'il y a maldonne : 

- en fait, le fichier-image initrd (portant un nom du genre "initramfs-genkernel-blabla.gz") peut se trouver n'importe où, pourvu que grub puisse y accéder. 

(Il me semble qu'avec genkernel, cette image est copiée automatiquement dans /boot)

- le répertoire initrd est utilisé lors du changement de racine pour copier le contenu de la racine courante (celle qui a été créée en ram au moyen du fichier initramfs_blabla) avant de passer la main à la nouvelle racine (réelle).

Donc, en fait, au temps pour moi : je n'avais pas saisi la portée de ta réponse   :Embarassed: 

Toutefois, dans le cas de vonstorm, le répertoire /initrd n'est pas encore concerné puisqu'il n'a même pas encore réussi à charger l'image initramfs en mémoire!

Le répertoire ne sera utilisé qu'après l'initialisation du noyau et le chargement des modules, au moment de l'exécution du pivot_root.

----------

## vonstorm

Bonsoir à tous !

Je viens de passer quelques heures à réinstaller proprement Gentoo à partir du cd minimal, je me suis penché sur la compilation du kernel "à la main" avec make menuconfig et en m'inspirant largement du manuel.

Après un make && install_modules, j'ai un message me disant que je dois enabler le "loading modules" dans mon kernel, je refais donc un make menuconfig et de nouveau un make && make install_modules et tout se passe bien...

Je continue la procédure comme décrit dans le manuel avec l'installation de Grub.

J'umount, je reboot et là: 

EXT3-fs: mounted filesystem with ordered data mode

VFS: mounted root (ext3 filesystem) readonly

Freeing unused...

Warning: Unable to open an initial console

Kernel panic - No Syncing: No init found. Try to pass init= option...

J'ai essayé avec la deuxième entrée de Grub, à savoir "rescue" qui contient un init=/bin/bb, même résultat!

Je suis dégouté    :Sad: 

Je ne me prends pas du tout pour un pro (loin de là), mais j'ai déjà installé une Debian Sid minimale à coup d'aptitude, de sources.list et sans passer par l'installation automatique d'un environnement de bureau...

Je ne dois pas avoir le chic avec Gentoo   :Crying or Very sad: 

Merci à ceux qui auront la patience de m'aider...

----------

## ghoti

@polytran: décidément, cette histoire de répertoire /initrd me chipotait car on n'en parle nulle part dans la doc   :Confused: 

Du coup, j'ai installé genkernel et j'ai créé un noyau de test en vitesse.

J'ai créé une entrée dans grub.conf en appliquant strictement les instructions du manuel.

Je n'ai pas créé de répertoire /initrd.

Résultat : je vous écrit depuis mon nouveau noyau !   :Razz: 

Conclusion : l'absence de /initrd n'empêche pas de booter !

Maintenant, quant à savoir si c'est encore vraiment utile ...   :Confused: 

----------

## ghoti

 *vonstorm wrote:*   

> Warning: Unable to open an initial console
> 
> Kernel panic - No Syncing: No init found. Try to pass init= option...[/b]

 

Tu n'as probablement pas indiqué la bonne partition pour la racine.

Tu peux faire voir ton nouveau grub.conf ?

----------

## vonstorm

 *Quote:*   

> 
> 
> Tu peux faire voir ton nouveau grub.conf ?

 

Avec plaisir:

```
default 0

timeout 5

root (hd0,0)

kernel /boot/kernel-2.6.24-gentoo-r3 root=/dev/hda1
```

Je précise que maintenant hda1 = /, hda2 = swap et hda3 = /home

----------

## ghoti

Bien bien, donc il ne sait pas ouvrir de console et ne sait pas lancer le programme init   :Confused: 

Mais si on en croit ton grub.conf, la partition racine est correctement renseignée.

Deux pistes :

1. Le répertoire /dev est vide avant le lancement de udev (peu probable si ta gentoo est récente, mais on ne sait jamais)

===> voir http://www.gentoo.org/doc/fr/udev-guide.xml#doc_chap3

2. Le package sys-apps/sysvinit n'est pas installé (as-tu un fichier /etc/inittab ?)

----------

## vonstorm

 *ghoti wrote:*   

> Bien bien, donc il ne sait pas ouvrir de console et ne sait pas lancer le programme init  
> 
> Mais si on en croit ton grub.conf, la partition racine est correctement renseignée.
> 
> Deux pistes :
> ...

 

1. Je vais jeter un coup d'oeil sur le lien

EDIT: 

Après avoir fait:

```
# mkdir test

# mount --bind / test

# cd test/dev

# ls
```

J'ai bien un null et un console

2. Oui, j'ai bien un /etc/inittab

Merci de ta patience   :Smile: 

----------

## ghoti

Ôte-moi un doute : toutes les commandes, tu les exécutes bien après le chroot ?

----------

## vonstorm

Salut et désolé pour la réponse tardive.

Euhhh, je crois que tu viens de mettre le doigt sur mon incompétence, je m'explique:

Je lance le cd minimal

Je choisis le clavier ('be')

Quand il est sur le prompt, je tape:

```
mount /dev/hda3 /mnt/gentoo

mount /dev/hda1 /mnt/gentoo/boot

cd /mnt/gentoo/boot/grub

nano -w grub.conf
```

D'après ce que je comprends, je loupe certainement une étape et c'est là que je foire je suppose ?!   :Embarassed: 

Merci de ton indulgence...

----------

## ghoti

 *vonstorm wrote:*   

> 
> 
> ```
> mount /dev/hda3 /mnt/gentoo
> 
> ...

 

Jusque là, ça va mais quand on parlait par exemple du répertoire /dev, il s'agissait de celui de ton nouveau système, c'est à dire /mnt/gentoo/dev.

Il est fondamental de pouvoir distinguer les deux systèmes en présence :

- d'une part, le système du CD minimal, dont la racine est montée en mémoire.

- d'autre part, le nouveau système que tu élabores sur le disque.

Comme il s'agit de deux systèmes Linux, ils sont semblables et on peut les confondre si on n'y prend pas garde !

Le chroot sert à changer d'environnement, c-à-d à sauter dans ton nouveau système sans rebooter, de sorte que le système minimal devienne invisible.

En d'autres termes, après le chroot, la racine de ton nouveau système devient "/" et plus /mnt/gentoo/ ! Tout le reste en découle...

Donc, lorsque tu appliques les instructions du manuel, il faut toujours que tu sois sûr de l'environnement dans lequel tu te trouves.

Dans un premier temps, je te conseillerais de vérifier ton nouveau système à l'aide du manuel en ayant constamment cette notion de "chroot" à l'esprit.

----------

## SlashRhumSlashNeisson

 *vonstorm wrote:*   

> Je précise que maintenant hda1 = /, hda2 = swap et hda3 = /home

 

 *vonstorm wrote:*   

> Code:
> 
> mount /dev/hda3 /mnt/gentoo
> 
> mount /dev/hda1 /mnt/gentoo/boot
> ...

 

Il n'y a pas comme un petit problème de syntaxe  :Idea: 

Peux tu poster ton fstab  :Wink: 

----------

## vonstorm

 *SlashRhumSlashNeisson wrote:*   

>  *vonstorm wrote:*   Je précise que maintenant hda1 = /, hda2 = swap et hda3 = /home 
> 
>  *vonstorm wrote:*   Code:
> 
> mount /dev/hda3 /mnt/gentoo
> ...

 

Bonjour.

Je réponds tard, mais j'ai bcp de taf pour le moment...

Voici ce que je fais actuellement juste après le boot du cd minimal une fois arrivé au prompt:

```
mount /dev/hda3 /mnt/gentoo

mount /dev/hda1 /mnt/gentoo/boot

cd /mnt/gentoo

mount -t proc none /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

export PS&="(chroot)$PS1"
```

Mon grub.conf est le même que dans mon précédent post.

Mon fstab est le suivant:

```

/dev/hda3        /home        ext3        defaults, noatime       1 2

/dev/hda1        /                ext3        noatime                    0 1

/dev/hda2        none          swap        sw                           0 0

shm                 /dev/shm   tmpfs       nodev,nosuid,noexec 0 0

prox                /prox         proc         nodev,nosuid,noexec 0 0
```

Pour le problème de syntaxe, je ne vois pas... J'utilise les commandes reprises dans le manuel d'installation.

----------

## CryoGen

heu tu es sur de ton fstab ?

Pour moi tu n'as pas de partition /home

/ est en /dev/hda3

/boot en /dev/hda1

----------

## SlashRhumSlashNeisson

Tu devrais donc avoir dans ton fstab

```

/dev/hda1               /boot           ext3          noauto,noatime          1 1

/dev/hda3               /               ext3          noatime                 0 1

/dev/hda2               none            swap          sw,noatime              0 0

```

/prox   :Question:   :Question: 

mets plutôt ça

```

none                      /proc         proc             defaults                0 0

```

Comme le précisait CryoGen tu n'as pas de partition /home séparée

----------

## vonstorm

Bonsoir.

Malgré les modifs conseillées, j'ai toujours le même message d'erreur.

Je crois que j'ai pas de bol avec Gentoo.

Vu que j'ai pas beaucoup de temps pour m'y consacrer pleinement, je crois que je vais laisser cette install en stand-by afin d'y revenir plus sérieusement par la suite...

Je tiens néanmoins à vous remercier pour les conseils, temps et patience que vous avez bien voulu m'accorder. C'est vraiment cool de votre part !   :Smile: 

Je vous souhaite une bonne nuit et vous dit à bientôt.

----------

