--- /genkernel-3.4.45/gen_initramfs.sh 2012-11-06 07:32:57.000000000 +0100 +++ /genkernel-3.4.45-fixed/gen_initramfs.sh 2013-01-04 03:54:40.159969193 +0100 @@ -301,38 +301,40 @@ fi cd ${TEMP} mkdir -p "${TEMP}/initramfs-lvm-temp/bin/" + mkdir -p "${TEMP}/initramfs-lvm-temp/sbin/" mkdir -p "${TEMP}/initramfs-lvm-temp/etc/lvm/" - if false && [ -e '/sbin/lvm.static' ] + if [ -e '/sbin/lvm.static' ] then print_info 1 ' LVM: Adding support (using local static binary /sbin/lvm.static)...' - cp /sbin/lvm.static "${TEMP}/initramfs-lvm-temp/bin/lvm" || + cp /sbin/lvm.static "${TEMP}/initramfs-lvm-temp/sbin/lvm" || gen_die 'Could not copy over lvm!' # See bug 382555 if [ -e '/sbin/dmsetup.static' ] then - cp /sbin/dmsetup.static "${TEMP}/initramfs-lvm-temp/bin/dmsetup" + cp /sbin/dmsetup.static "${TEMP}/initramfs-lvm-temp/sbin/dmsetup" fi - elif false && [ -e '/sbin/lvm' ] && LC_ALL="C" ldd /sbin/lvm|grep -q 'not a dynamic executable' + elif [ -e '/sbin/lvm' ] && LC_ALL="C" ldd /sbin/lvm|grep -q 'not a dynamic executable' then print_info 1 ' LVM: Adding support (using local static binary /sbin/lvm)...' - cp /sbin/lvm "${TEMP}/initramfs-lvm-temp/bin/lvm" || + cp /sbin/lvm "${TEMP}/initramfs-lvm-temp/sbin/lvm" || gen_die 'Could not copy over lvm!' # See bug 382555 if [ -e '/sbin/dmsetup' ] && LC_ALL="C" ldd /sbin/dmsetup | grep -q 'not a dynamic executable' then - cp /sbin/dmsetup "${TEMP}/initramfs-lvm-temp/bin/dmsetup" + cp /sbin/dmsetup "${TEMP}/initramfs-lvm-temp/sbin/dmsetup" fi else print_info 1 ' LVM: Adding support (compiling binaries)...' compile_lvm /bin/tar -jxpf "${LVM_BINCACHE}" -C "${TEMP}/initramfs-lvm-temp" || gen_die "Could not extract lvm binary cache!"; - mv ${TEMP}/initramfs-lvm-temp/sbin/lvm.static ${TEMP}/initramfs-lvm-temp/bin/lvm || + # See bug 448156 + rm -rf ${TEMP}/initramfs-lvm-temp/{lib,share,man,include,sbin/{lvm,dmsetup}} + mv ${TEMP}/initramfs-lvm-temp/sbin/lvm.static ${TEMP}/initramfs-lvm-temp/sbin/lvm || gen_die 'LVM error: Could not move lvm.static to lvm!' - # See bug 382555 - mv ${TEMP}/initramfs-lvm-temp/sbin/dmsetup.static ${TEMP}/initramfs-lvm-temp/bin/dmsetup || + mv ${TEMP}/initramfs-lvm-temp/sbin/dmsetup.static ${TEMP}/initramfs-lvm-temp/sbin/dmsetup || gen_die 'LVM error: Could not move dmsetup.static to dmsetup!' - rm -rf ${TEMP}/initramfs-lvm-temp/{lib,share,man,include,sbin/{lvm,dmsetup}} + fi if [ -x /sbin/lvm -o -x /bin/lvm ] then --- /genkernel-3.4.45/defaults/initrd.scripts 2012-11-06 07:32:57.000000000 +0100 +++ /genkernel-3.4.45-fixed/defaults/initrd.scripts 2013-01-04 02:33:20.179996268 +0100 @@ -672,17 +672,17 @@ if [ "${USE_LVM_NORMAL}" = '1' ] then - if [ -e '/bin/lvm' ] + if [ -e '/sbin/lvm' ] then for dev in ${RAID_DEVICES} do setup_md_device "${dev}" done - # This is needed for /bin/lvm to accept the following logic - lvm_commands="#! /bin/lvm" + # This is needed for /sbin/lvm to accept the following logic + lvm_commands="#! /sbin/lvm" - # If there is a cahe, update it. Unbreak at least dmcrypt + # If there is a cache, update it. Unbreak at least dmcrypt [ -d /etc/lvm/cache ] && lvm_commands="${lvm_commands} \nvgscan" # To activate volumegroups on all devices in the cache @@ -695,7 +695,7 @@ # And finally execute it all (/proc/... needed if lvm is compiled without readline) good_msg "Scanning for and activating Volume Groups" - printf "%b\n" "${lvm_commands}" | /bin/lvm /proc/self/fd/0 + printf "%b\n" "${lvm_commands}" | /sbin/lvm /proc/self/fd/0 else bad_msg "vgscan or vgchange not found: skipping LVM volume group activation!" fi