Package: initramfs-tools
Version: 0.120
Severity: normal
Dear Maintainer,
copying a Jessie installation from a server with hardware raid to a
system with software raid /dev/md* I found that the system would not
start on the new machine and would get stuck in initramfs.
Looking at /proc/mdstat and using blkid I found that all software raid
devices were available and their UUID could be found. Only symlinks to
the devices in /dev/disk/by-uuid/ were missing.
Setting the missing symlink to the root-filesystem manually and exiting
initramfs shell led to normal system boot.
Looking into the problem I found that in file
/usr/share/initramfs-tools/hooks/udev a wrong filename prevents
/lib/udev/rules.d/63-md-raid-arrays.rules from being copied to the
initramfs.
A temporary solution without edditing files owned by the package is
putting the following script into e.g.
/etc/initramfs-tools/hooks/udev-fix-md-boot:
=========================== cut here ============================
#!/bin/sh -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
mkdir -p $DESTDIR/lib/udev/rules.d/
rules=63-md-raid-arrays.rules
if [ -e /etc/udev/rules.d/$rules ]; then
cp -p /etc/udev/rules.d/$rules $DESTDIR/lib/udev/rules.d/
elif [ -e /lib/udev/rules.d/$rules ]; then
cp -p /lib/udev/rules.d/$rules $DESTDIR/lib/udev/rules.d/
fi
=========================== cut here ============================
For a final fix a change of /usr/share/initramfs-tools/hooks/udev is needed:
=========================== cut here ============================
--- /usr/share/initramfs-tools/hooks/udev 2015-06-18 08:52:45.217944318
+0200
+++ udev 2015-06-18 11:52:38.896375650 +0200
@@ -35,7 +35,7 @@
mkdir -p $DESTDIR/lib/udev/rules.d/
for rules in 50-firmware.rules 50-udev-default.rules
60-persistent-storage.rules \
80-drivers.rules \
- 64-md-raid.rules 60-persistent-storage-lvm.rules \
+ 63-md-raid-arrays.rules 60-persistent-storage-lvm.rules \
55-dm.rules 60-persistent-storage-dm.rules; do
if [ -e /etc/udev/rules.d/$rules ]; then
cp -p /etc/udev/rules.d/$rules $DESTDIR/lib/udev/rules.d/
=========================== cut here ============================
With either solution after rebuilding initramfs with 'update-initramfs
-k all -u' the system booted without problems using the software-raid
/dev/mdX as root filesystem identified by its UUID.
-- System Information:
Debian Release: 8.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/6 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages initramfs-tools depends on:
ii busybox 1:1.22.0-9+deb8u1
ii cpio 2.11+dfsg-4.1
ii klibc-utils 2.0.4-2
ii kmod 18-3
ii udev 215-17+deb8u1
Versions of packages initramfs-tools recommends:
ii busybox 1:1.22.0-9+deb8u1
Versions of packages initramfs-tools suggests:
ii bash-completion 1:2.1-4
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org