Initramfs, lvm et debian lenny

Bonjour,

Je viens de procéder à l’installation d’une nouvelle machine avec Debian Lenny pour amd64, en utilisant un système de fichier sous lvm. Je n’utilise pas de raid.

L’installation s’est déroulée sans histoire. Le redémarrage est plus problématique.

Description du problème :

J’ai un problème avec le script initramfs. Il semble que celui ci ne se déroule pas correctement, et il en résulte que le volume group n’est pas reconnu automatiquement. Le système attend alors 180s en espérant que celui ci arrive (le répertoire /root est sur un logical volume). Au bout de ces 180s, le kernel rend la main à une console busybox.

Il met alors possible très simplement de lancer le script /scripts/local-top/lvm2
ce qui a pour effet de monter immédiatement le volume group désiré, ainsi que les logicals volumes associés.

Je n’ai plus qu’à sortir de la console busybox par exit pour terminer correctement le démarrage de la machine.

Tentative de résolution du problème :

J’ai essayé de modifier plusieurs choses dans mon initramfs.

1 )
J’ai tout d’abord modifié les fichiers /usr/share/initramfs/scripts/local-top/lvm et lvm2 de façon à supprimer les PREREQS faisant référence à mdadm et mdrun. Je me suis dit que je n’utilisé par de couche RAID, et que je n’avais pas de raison d’exécuter de script mdadm et mdrun. Script qui n’existe d’ailleurs pas sur mon initramfs.
Après mise à jour par un update-initramfs -u et redémarrage, force est de constater que rien n’a changé…

2 )
J’ai alors regardé un peu le script /usr/share/initramfs/scripts/local et j’y ai vu une commande wait_for_udev 10
J’ai donc pensé qu’il pouvait être possible que mes disques ne soit pas disponible instantanément. J’ai par curiosité pousser la tempo à 30 seconde.
Mais après redémarrage, aucune amélioration notable.

Appel à l’aide :

Maintenant, je suis un peu à court d’idée… Je suis donc preneur de toute suggestion qui vous viendrez à l’esprit.

Debianement,
Patdef.

Mes références machines :

Je ne joins pas le contenu de dmesg, car il semble que tout ce qui a lieu pendant la phase initramfs n’y est pas.

J’ai aussi essayer de logger la partie initramfs en ajoutant le parametre debug à la commande de lancement du noyau. J’obtiens bien un log dans /tmp/initramfs.debug mais je ne sais pas le sortir de la machine.
J’ai bien essayer de le copier dans un répertoire que j’ai créé, mais il disparait également. J’ai aussi essayer de monter une clef usb, mais la commande mount -t vfat /dev/sdb1 /mnt/usbkey me refuse la clef. Elle est reconnu par udev et elle est visible dans /dev…

[code]###############################################################################

uname -a

Linux hpml150 2.6.24-1-amd64 #1 SMP Sat May 10 09:28:10 UTC 2008 x86_64 GNU/Linux

###############################################################################

lspci

00:00.0 Host bridge: Intel Corporation E7320 Memory Controller Hub (rev 0c)
00:02.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A (rev 0c)
00:03.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A1 (rev 0c)
00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02)
00:1d.0 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02)
00:1d.1 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02)
00:1d.4 System peripheral: Intel Corporation 6300ESB Watchdog Timer (rev 02)
00:1d.5 PIC: Intel Corporation 6300ESB I/O Advanced Programmable Interrupt Controller (rev 02)
00:1d.7 USB Controller: Intel Corporation 6300ESB USB2 Enhanced Host Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a)
00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
03:04.0 SCSI storage controller: Adaptec AIC-7901 U320 (rev 10)
04:04.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

###############################################################################

/lib/udev/vol_id -t /dev/sda1

ext3
###############################################################################

/lib/udev/vol_id -t /dev/sda2

LVM2_member

###############################################################################

cat /etc/fstab

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/mapper/hpml150-root / ext3 errors=remount-ro 0 1
/dev/sda1 /boot ext3 defaults 0 2
/dev/mapper/hpml150-home /home ext3 defaults 0 2
/dev/mapper/hpml150-tmp /tmp ext3 defaults 0 2
/dev/mapper/hpml150-usr /usr ext3 defaults 0 2
/dev/mapper/hpml150-var /var ext3 defaults 0 2
/dev/mapper/hpml150-swap_1 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

###############################################################################
$ df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/hpml150-root
268M 125M 130M 49% /
tmpfs 251M 0 251M 0% /lib/init/rw
udev 10M 76K 10M 1% /dev
tmpfs 251M 0 251M 0% /dev/shm
/dev/sda1 236M 32M 192M 15% /boot
/dev/mapper/hpml150-home
57G 340M 54G 1% /home
/dev/mapper/hpml150-tmp
380M 11M 350M 3% /tmp
/dev/mapper/hpml150-usr
4,7G 2,3G 2,3G 50% /usr
/dev/mapper/hpml150-var
2,9G 772M 2,0G 29% /var

###############################################################################

fdisk -l

Disk /dev/sda: 72.8 GB, 72839168000 bytes
255 heads, 63 sectors/track, 8855 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x90569056

Device Boot Start End Blocks Id System
/dev/sda1 * 1 31 248976 83 Linux
/dev/sda2 32 8855 70878780 8e Linux LVM

Disk /dev/dm-0: 289 MB, 289406976 bytes
255 heads, 63 sectors/track, 35 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn’t contain a valid partition table

Disk /dev/dm-1: 5121 MB, 5121245184 bytes
255 heads, 63 sectors/track, 622 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn’t contain a valid partition table

Disk /dev/dm-2: 3074 MB, 3074424832 bytes
255 heads, 63 sectors/track, 373 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-2 doesn’t contain a valid partition table

Disk /dev/dm-3: 1572 MB, 1572864000 bytes
255 heads, 63 sectors/track, 191 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-3 doesn’t contain a valid partition table

Disk /dev/dm-4: 411 MB, 411041792 bytes
255 heads, 63 sectors/track, 49 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-4 doesn’t contain a valid partition table

Disk /dev/dm-5: 62.1 GB, 62109253632 bytes
255 heads, 63 sectors/track, 7551 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-5 doesn’t contain a valid partition table

###############################################################################

apt-cache policy initramfs-tools

initramfs-tools:
Installé : 0.92j
Candidat : 0.92j
Table de version :
*** 0.92j 0
500 http://mir1.ovh.net lenny/main Packages
100 /var/lib/dpkg/status[/code]

Edit : ajout des balises bb code

essaie :

update-initramfs -u

[quote=“ricardo”]essaie :

update-initramfs -u[/quote]

Bonjour ricardo,

J’ai déjà utilisé cette commande après modification des scripts /usr/share/initramfs/local , lvm et lvm2 pour mettre à jour l’image initramfs.
Cela ne règle pas mon problème. La commande fonctionne bien, car je peux vérifier que mes modifications des scripts ont bien été prises en compte dans ma nouvelle image.

Si je fais par exemple :

$ mkdir /tmp/initramfs $ cd ~/tmp/initramfs $ gunzip -c /boot/initrd.img-`uname -r` | cpio -i

Je peux vérifier que les scripts ont bien été modifiés.

Mais la modification de mes scripts ne règle pas mon problème de démarrage et de reconnaissance de mon système de fichier sous lvm.

Merci pour la réponse.

Pour info :
Le problème s’est résolu tout seul en ajoutant une carte extension usb 2. Il doit donc certainement y avoir un problème de timing dans mon script initramfs.

Pas très scientifique comme approche, mais ça marche. C’est bien le principal.