# [grub/raid] erreur au boot [RESOLU]

## colito

bonjour à tous

j'ai un problème bien fatigant au boot suite à une nouvelle install après changement de disques durs...

j'ai une mobo asus p5wdh avec un fakeraid intel ich7r sur lequel j'ai configuré un raid 0 bios sur 2 disques western de 160 Go. sur les2 autres ports sata du controleur (ez RAID désactivé==> libération d'un port supplémentaire intel), j'ai 2x500go sur lesquels j'ai mis en place un raid1 logiciel.

à l'install, aucun souci, mais au boot, c'est le drame: 

 *Quote:*   

> 
> 
> no filesystem couldmount root, tried ext3 ext2.....
> 
> kernel panic - not syncing: VFS:unable to mount root fs on unknown-block (8,3)
> ...

 

pourtant, j'ai suivi à la lettre la doc d'install sur raid bios du wiki, mon kernel a le support raid compilé en dur, grub est a priori correctement configuré (j'ai bien la splash image qui apparait, donc grub peut entrer dans/boot,qui est sur le raid en question...

j'ai trouvé un nombre assez incalculable de posts sur ce message d'erreur, mais rien qui ne solutionne mon souci...

quelqu'un serit-il s'il vous plait en mesure de m'assister? j'avoue que je commence à sécher un peu...

Merci d'avance à ceux qui se donneront la peine de me répondre...si vous avez besoin du contenu de certainsfichiers, je vous les posterai  :Wink: Last edited by colito on Thu May 01, 2008 6:07 pm; edited 1 time in total

----------

## colito

voici mon grub.conf:

 *Quote:*   

> 
> 
> # Boot automatically after 30 secs.
> 
> timeout 30
> ...

 

et voilà mon .config:

 *Quote:*   

> 
> 
> #
> 
> # Automatically generated make config: don't edit
> ...

 

voilà en outre lerésultat d'un fdisk -l:

 *Quote:*   

> 
> 
> Disk /dev/sda: 160.0 GB, 160041885696 bytes
> 
> 255 heads, 63 sectors/track, 19457 cylinders
> ...

 

et dans /dev/mapper, j'ai 

 *Quote:*   

> 
> 
> lrwxrwxrwx  1 root root     16 May  1 17:30 control -> ../device-mapper
> 
> brw-rw----  1 root disk 253, 0 May  1 17:30 isw_cheaaebdbj_RAID_SYSTEME
> ...

 

j'ai bien installé device-mapper, peut-être faut-il l'activer au boot???[/quote]Last edited by colito on Thu May 01, 2008 2:15 pm; edited 1 time in total

----------

## dapsaille

on pourrais voire ton /etc/fstab ?

EdIt = damned tu t'es inscrit sur le forum le lendemain de mon inscription ... ouais OSEF mais bon ^^

----------

## colito

 *Quote:*   

> 
> 
> /dev/dm-1               /boot           ext2            noauto,noatime  1 2
> 
> /dev/dm-3               /               ext3            noatime         0 1
> ...

 

à noter que les /dev/dm* sont comme ceci

 *Quote:*   

> 
> 
> ls -al /dev/dm*
> 
> lrwxrwxrwx 1 root root 34 May  1 17:30 /dev/dm-0 -> mapper/isw_cheaaebdbj_RAID_SYSTEME
> ...

 

mais je ne pense pas que le noyau en soit encore à lire là fstab là où ça plante...mais peut être me trompé-je;)

à moind que grub n'arrive pas à ouvrirmon kernel? comment vérifier ceci?

----------

## dapsaille

Humm .. je ne voudrais pas dire de bêtises mais ou est ton initrd la dedans ??

 Pour lvm et/ou dmraid il me semble que l'initrd est indispensable ....

----------

## colito

alors il faudrait obligatoirement un initrd??? 

mais je n'en utilise pas, dans la mesure où je ne mesers pas de genkernel...

aurais-tu plus de précisions sur la chose???

sinon, je n'ai pas de device.map pour grub...peut-être devrais-je en créer une? 

merci de ton aide en tous cas...

----------

## dapsaille

 *colito wrote:*   

> alors il faudrait obligatoirement un initrd??? 
> 
> mais je n'en utilise pas, dans la mesure où je ne mesers pas de genkernel...
> 
> aurais-tu plus de précisions sur la chose???
> ...

 

Bah j'ai envie de dire .. que pour valider ...

 cp .config /etc/kernels/kernel-config-x86TAVERSION

puis genkernel --menuconfig --dmraid all .. te permettrais de valider ou d'écarter cette hypothèse ..

 Quand je suis en raid je genkernelise une fois pour avoir l'initrd ensuite je le garde pour la série de compilos manuelles qui suivent ...

----------

## anigel

Salut.

Tu es tombé sur mon problème préféré : bien tordu  :Wink: . Si j'ai bien compris tu as ta partition racine à cheval sur 2 disques, en RAID-0 ?

Si oui alors c'est normal que ça ne marche pas : grub travaille avec des disques physiques, et toi tu as créé un filesystem sur une partition logicielle. Si tu regarde un de tes disques, les données que tu trouvera dessus n'ont rien à avoir avec un filesystem ext3, puisque tout a été "réparti" sur 2 disques.

Dans ces cas-là je fais simple : je crée toujours un /boot de 32 Mo sur une partition séparée, que je mets en mirroring (mais ça c'est parceque je suis un maniaque). En fait je vais même plus loin : à l'usage, il s'avère que l'écart de performances entre un RAID-0 et un RAID-1 est ridicule en lecture, et marqué seulement en écriture. Mais... écrit-on souvent sur une partition racine ? Normalement non. Alors je fais toujours un / en mirroring, qui m'apporte la sécurité, y compris sur mon OS, toujours disponible, et la rapidité d'accès à mes applis (via la lecture parallélisée dans le module md en mode 1). Je fais ensuite un /var/portage et un /usr/portage sur des partitions LVM en RAID-0, qui me donnent la rapidité lorsque j'en ai besoin. Alors le seul inconvénient résiduel de ce système est celui de l'écriture des fichiers lors de la mise à jour. Autrement dit : même pas 1H de perdue sur une année complète.

Si c'est pas clair (c'est bien possible), alors je ré-explique  :Wink: .

----------

## colito

@Dapsaille

arf, ça y est, j'ai genkernelisé et effectivement, avec l'initrd ça marche comme sur des roulettes...le souci c'est que maintenant au boot, mes partitions raid1 logicielles ne  sont pas détectées et qu'il faut que j'active les arrays  une fois connecté...mais bon, je suis dessus, je vais bien trouver une solution  :Wink: 

reste que je ne comprends absolument pas pourquoi j'ai besoin d'un initrd pour que grub retrouve ses petits....et surtout, est-ce que je vais pouvoir recompiler à la main peinard comme d'hab en gardant l'initrd que je viens de faire (a priori d'après ce que tu dis ça se fait)? 

ou est-ce que je pourrai faire un nouvel initrd à partir d'un kernel compilé à la main sans repasser par cette saloperie de genkernel??

mes compétences en la matière sont assez limitées  :Sad: 

un grand merci en tous cas pour ton assistance, j'aurais pu chercher très longtemps...

@anigel

je pense voir où tu veux en venir, mais à ce niveau là, on frôle le masochisme  :Smile:  reste que techniquement ta solution est intéressant et que je m'y mettrai surement dans quelques temps, quand mon fils me prendra moins de temps  :Wink: 

dans l'immédiat, j'ai pu parer au plus pressé avec Dapsaille je verrai par la suite, mais merci du tuyau

----------

## anigel

 *colito wrote:*   

> @anigel
> 
> je pense voir où tu veux en venir, mais à ce niveau là, on frôle le masochisme  reste que techniquement ta solution est intéressant et que je m'y mettrai surement dans quelques temps, quand mon fils me prendra moins de temps 
> 
> dans l'immédiat, j'ai pu parer au plus pressé avec Dapsaille je verrai par la suite, mais merci du tuyau

 

Huhu, non non, rien de maso là-dedans. Simplement j'ai du mal à l'exprimer sans faire un dessin. En fait ma solution est très largement plus simple que celle de dapsaille, à l'usage. Mais elle demande à être mise en place dès l'installation. Des années d'emmerdements pour concevoir ce type d'architecture   :Laughing:  ! ceci dit ça a au moins le mérite de me prouver qu'il faut vraiment que je documente ça un peu mieux : ce n'est pas la première fois que j'en parle, et encore une fois visiblement mes explications ne sont pas très claires   :Arrow:  je vais mettre dans mes papiers de faire un dessin xD.

----------

## dapsaille

 *anigel wrote:*   

>  *colito wrote:*   @anigel
> 
> je pense voir où tu veux en venir, mais à ce niveau là, on frôle le masochisme  reste que techniquement ta solution est intéressant et que je m'y mettrai surement dans quelques temps, quand mon fils me prendra moins de temps 
> 
> dans l'immédiat, j'ai pu parer au plus pressé avec Dapsaille je verrai par la suite, mais merci du tuyau 
> ...

 

Bah j'ai trouvé ca plutot clair moi ...

----------

## colito

mais c'est tout à fait clair, mais je disais juste qu'il faut du tempspour mettre tout ceci enplace, chosedontjesuis pour l'instant assez dépourvu, malheureusement  :Wink: 

----------

## NEOxAKIRA

pour le raid par dmraid il y a un autre fichier que /etc/fstab pour activer le raid automatiquement au boot /etc/dmtab je crois (je suis pas sur je peux pas verifier) et dans en commentaire il y a une commande pour le remplir automatiquement une fois que ton raid est reconnu qui est du style dmraid --setup >> /etc/dmtab

moi ça me reconnais mon raid 0 sur ICH9R sans aucun problème, par contre gentoo est installé sur un autre disque dur...

et ensuite dans fstab j'ai mit juste le dernier disk present dans ls -l /dev/mapper/ (celui avec le plus grand chiffre au bout)

----------

## colito

alors en ce qui me concerne, j'ai réussi hier soir en configurant les arrays qui vont bien dans /etc/mdadm.conf

puis en lançant mdadm au boot (rc-update add mdadm boot)...quanr il démarre, il fait un mdadm --monitor --scan en s'appuyant sur ce qui est renseigné dans ce fichier pour le raid logiciel. Maintenant, tout monte correctement au boot  :Wink: 

j'ai cependant encore un petit point qui me tracasse: est-ce que je peux compiler un kernel à la main et créer manuellement un initrd qui va bien après? ou est-ce que ça ne présente aucun intérêt et que je peux recompiler mon kernel comme je le sens en continuant d'utiliser mon initrd actuel pour grub??? 

j'avoue ne pas très bien saisir l'utilité de l'initrd ni à quoi ça sert réellement, et si donc il est nécessaire de le refaire à chaque recompil pour qu'il corresponde exactement au kernel actif ou pas... 

quelqu'un aurait-il des précisions sur le sujet???

J'ai trouvé la commande 

 *Quote:*   

> 
> 
> mkinitrd --fstab=/etc/fstab <nom image> <kernel-version>
> 
> 

 

Est-ce que l'initrd généré à partir de ça correspond à l'initrd généré par genkernel??? est-ce que ça peut résoudre ma question? ai-je une réelle valeur ajoutée à en générer un comme ceci plutôt qu'à continuer à utiliser l'initrd originel tout en recompilant mon noyau à la main?

----------

