Boot ko avec LVM [resolu]

bonsoir,

je veux installer ma distribution sur mon 2eme disque hda mais avec LVM. Cette distribution est opérationnelle sur mon autre disque sda mais sans LVM.
1)j’ai compilé en dur le kernel avec les options “multiple devices driver support” nécéssaire pour RAID et LVM et pour que LVM fonctionne il faut aussi activer “Device mapper support” (sur le sda)
2) j’ai généré le kernel avec l’option initrd : make-kpkg --initrd --append-to-version=-091107 kernel_image kernel_headers
3)j’ai fait un copie de la racine et de mon home du disque sda via partimage que j’ai restauré sur mon disque hda (dans les LV root et home). J’ai donc un backup de mon sda sur le hda mais avec l’option LVM.

j’ai l’erreur suivante :
"VFS: cannot open root device “TB/root” or unknown-block(0,0)
Please append a correct “root=” boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(0,0)"
une idée ?
merci

voici mes différentes saisies :
le boot n’est pas sous LVM, seule la racine et le home dans 2 LV différents, le nom du VG est TB

mount /dev/TB/root /mnt/TB_racine/
mount /dev/hda1 /mnt/TB_boot/
mount /dev/TB/home /mnt/TB_home/

coxygrue:/mnt# more TB_racine/etc/fstab

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/TB/root / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 /boot ext3 defaults 0 2
/dev/TB/home /home ext3 defaults 0 2
/dev/TB/swap none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

coxygrue:/mnt# more TB_boot/grub/menu.lst
default 0
timeout 5
color cyan/blue white/blue
title Debian GNU/Linux, kernel 2.6.18-091107
root (hd0,0)
kernel /vmlinuz-2.6.18-091107 root=/dev/TB/root ro
initrd /initrd.img-2.6.18-091107
savedefault


coxygrue:/mnt# fdisk /dev/hda

Disk /dev/hda: 82.3 GB, 82348277760 bytes
16 heads, 63 sectors/track, 159560 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 195 98248+ 83 Linux
/dev/hda2 196 159560 80319960 8e Linux LVM


coxygrue:/mnt# ls -la /dev/TB/
total 0
drwx------ 2 root root 100 2007-11-14 14:31 .
drwxr-xr-x 14 root root 13340 2007-11-14 14:32 …
lrwxrwxrwx 1 root root 19 2007-11-14 14:31 home -> /dev/mapper/TB-home
lrwxrwxrwx 1 root root 19 2007-11-14 14:31 root -> /dev/mapper/TB-root
lrwxrwxrwx 1 root root 19 2007-11-14 14:31 swap -> /dev/mapper/TB-swap
coxygrue:/mnt#


coxygrue:/mnt# vgdisplay
— Volume group —
VG Name TB
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 76,60 GB
PE Size 4,00 MB
Total PE 19609
Alloc PE / Size 6144 / 24,00 GB
Free PE / Size 13465 / 52,60 GB
VG UUID 74f7j8-QaxM-UuSt-ZIXK-eUjj-BWF0-zis5TO


coxygrue:/mnt# lvdisplay
— Logical volume —
LV Name /dev/TB/root
VG Name TB
LV UUID 5tOtzs-M7CA-OcRD-6ede-D3Pj-Rm7Z-IzV7hz
LV Write Access read/write
LV Status available

open 1

LV Size 12,00 GB
Current LE 3072
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 254:0

— Logical volume —
LV Name /dev/TB/home
VG Name TB
LV UUID gN50E1-XHuR-wQcV-YgSb-U3O9-P6y9-ZrdAHU
LV Write Access read/write
LV Status available

open 0

LV Size 10,00 GB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:1

— Logical volume —
LV Name /dev/TB/swap
VG Name TB
LV UUID 4oO7C7-uwSE-lpQH-6mN8-DLf3-2oOd-lB48aT
LV Write Access read/write
LV Status available

open 0

LV Size 2,00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:2

up !
j’ai le meme pb avec mon lvm2 sur mon server , impossible de se faire un mini kernel en dur , avec ou sans le initrd !

j’ai la meme erreur
"VFS: cannot open root device “server-debian” or unknown-block(0,0)
Please append a correct “root=” boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(0,0)"

laurent@virtual1:~$ df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Mont� sur
/dev/mapper/server–debian-root
268M 133M 122M 53% /
tmpfs 125M 0 125M 0% /lib/init/rw
udev 10M 36K 10M 1% /dev
tmpfs 125M 0 125M 0% /dev/shm
/dev/hda1 236M 20M 204M 9% /boot
/dev/mapper/server–debian-home
9,3G 833M 8,0G 10% /home
/dev/mapper/server–debian-tmp
380M 11M 350M 3% /tmp
/dev/mapper/server–debian-usr
4,7G 838M 3,7G 19% /usr
/dev/mapper/server–debian-var
2,9G 558M 2,2G 21% /var

:neutral_face:

un petit UP car je suis bloqué et je ne vois pas de solution…
l’erreur me fait penser que le device n’a pas été créé dans l’initrd,
si le driver device mapper est bien présent, c’est que:

  • soit l’initrd n’a pas scanné les disques LVM: vgscan -a
  • soit mdev/udev (suivant ce qu’il y a dans l’initrd) n’a pas fait sont
    boulot et n’a pas créé les bons noeuds dans /dev

comment checker ca ?

help !

bonjour,

J’ai trouve la solution pour faire fonctionner mon LVM. Les logs précédents montrent que le module supportant le LVM n’est pas lancé au boot. Cette remarque m’a obligé de comprendre le Lego sur initramfs, donc voici ce que j’ai compris :

  1. le bootloader depuis /boot charge le noyau
  2. le noyau boot avec le initramfs comme root
  3. le kernel charge initrd
  4. l’initrd initie les voluems dans le initramfs, il y a tout pour l’initialisation LVM
  5. une fois LVM initialisé, on fait le montage du futur rootfs sur un point de montage temporaire dans le initrd
  6. on fait le pivot-root et le root fs sur LVM devient vraiment le root filesystem
  7. initrd ok, access LVM ok, on charge les script d’init qui sont sur le root final.

J’ai donc modifié mon initrd pour mettre des traces dedans :
commande pour le deziper : gzip -dc initrd.img-2.6.18-091107 | cpio -id
commande pour le refaire : find ./ | cpio -H newc -o > initrd.cpio && gzip initrd.cpio && mv initrd.cpio.gz initrd.img

Mes traces ont montré que les modules n’etaient pas chargés. J’ai donc recompiler le noyau
avec LVM en modules et non integrés au noyau (logique quand on y pense)

Pour finir, dans le menu.lst de grub, je fais appel a /dev/mapper et non au lien sur mapper.
ce qui donne dans mon cas : /dev/mapper/TB-root
TB etant mon vg et root un de mes LV.

En esperant avoir ete clair et si cela peut aider qcq.