Package: cryptsetup Version: 2:1.1.3-4squeeze2 Severity: normal Tags: patch
Given a vg with multiple encrypted pvs, only one of which contains the root lv, the initramfs-hook will only pull in the pv that actually holds the root lv. Any other pvs in the same vg are not set up to be decrypted at boot, so the vg remains incomplete and cannot start, rendering the system unbootable in turn. The dependencies of an lvm volume should probably not be determined via dmsetup deps - maybe something along the lines of: ================ UNTESTED, USE AT YOU OWN RISK ================ --- cryptroot.stock 2011-07-17 01:10:26.000000000 +0200 +++ cryptroot 2011-07-17 02:01:32.000000000 +0200 @@ -141,16 +141,16 @@ return 1 fi - if ! deps=$(dmsetup deps "$node" 2> /dev/null | sed 's/[^:]*: *//;s/[ (]//g;s/)/ /g'); then + if ! deps=$(vgs --noheadings -o pv_name $(echo "$node" | cut -d '-' -f1)); then echo "cryptsetup: WARNING: failed to find deps for $node" >&2 return 1 fi # We should now have a list of major,minor pairs, e.g. "3,2 3,3" for dep in $deps; do - maj=$(echo ${dep%,*} | sed -e "s/^[ \t]*//g") - min=$(echo ${dep#*,} | sed -e "s/[ \t]*$//g") - depnode=$(dmsetup ls | sed -n "s/\\([^ ]*\\) *($maj, $min)/\\1/p" | sed -e "s/[ \t]*$//") +# maj=$(echo ${dep%,*} | sed -e "s/^[ \t]*//g") +# min=$(echo ${dep#*,} | sed -e "s/[ \t]*$//g") + depnode=$(dmsetup info -c --noheadings -o name "$dep") if [ -z "$depnode" ]; then continue fi ================ CUT HERE ================ Cheers, C. -- Package-specific info: -- /proc/cmdline root=/dev/mapper/mohammed-root ro acpi_enforce_resources=lax -- /etc/crypttab # <target name> <source device> <key file> <options> md1_crypt /dev/md1 none luks md2_crypt /dev/md2 none luks -- lsmod Module Size Used by cn 4563 1 acpi_cpufreq 5571 1 cpufreq_powersave 902 0 cpufreq_stats 2659 0 cpufreq_userspace 1992 0 cpufreq_conservative 5162 0 binfmt_misc 6431 1 ext4 288318 2 jbd2 67015 1 ext4 crc16 1319 1 ext4 ext2 52905 1 k10temp 2715 0 lm85 18993 0 hwmon_vid 1828 1 lm85 coretemp 4325 0 ipmi_msghandler 26634 0 snd_pcm 60503 0 snd_timer 15582 1 snd_pcm snd 46526 2 snd_pcm,snd_timer soundcore 4598 1 snd i2c_i801 7830 0 snd_page_alloc 6249 1 snd_pcm i2c_core 15819 2 lm85,i2c_i801 pcspkr 1699 0 psmouse 49937 0 container 2389 0 button 4650 0 serio_raw 3752 0 evdev 7352 3 i3200_edac 2671 0 edac_core 29261 2 i3200_edac shpchp 26264 0 pci_hotplug 21203 1 shpchp processor 29935 1 acpi_cpufreq ext3 106630 2 jbd 37085 1 ext3 mbcache 5050 3 ext4,ext2,ext3 sha256_generic 8692 4 aes_x86_64 7340 4 aes_generic 25714 1 aes_x86_64 cbc 2539 2 dm_crypt 10664 2 dm_mod 53706 20 dm_crypt raid456 44500 1 async_raid6_recov 5170 1 raid456 async_pq 3479 2 raid456,async_raid6_recov raid6_pq 77179 2 async_raid6_recov,async_pq async_xor 2478 3 raid456,async_raid6_recov,async_pq xor 4380 1 async_xor async_memcpy 1198 2 raid456,async_raid6_recov async_tx 1734 5 raid456,async_raid6_recov,async_pq,async_xor,async_memcpy raid10 17809 1 raid1 18431 1 md_mod 73872 6 raid456,raid10,raid1 sd_mod 29921 20 crc_t10dif 1276 1 sd_mod uhci_hcd 18521 0 sata_sil24 11185 8 ahci 32534 8 ehci_hcd 32081 0 libata 133760 2 sata_sil24,ahci e1000e 110063 0 scsi_mod 126517 2 sd_mod,libata thermal 11674 0 thermal_sys 11942 2 processor,thermal usbcore 122498 3 uhci_hcd,ehci_hcd nls_base 6377 1 usbcore -- System Information: Debian Release: 6.0.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores) Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages cryptsetup depends on: ii dmsetup 2:1.02.48-5 The Linux Kernel Device Mapper use ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib ii libdevmapper1.02.1 2:1.02.48-5 The Linux Kernel Device Mapper use ii libpopt0 1.16-1 lib for parsing cmdline parameters ii libuuid1 2.17.2-9 Universally Unique ID library cryptsetup recommends no packages. Versions of packages cryptsetup suggests: ii busybox 1:1.17.1-8 Tiny utilities for small and embed pn dosfstools <none> (no description available) ii initramfs-tools [linux-initra 0.98.8 tools for generating an initramfs ii udev 164-3 /dev/ and hotplug management daemo -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org