Bug#507889: mdadm: initramfs-tools script is broken, system with root on RAID won't boot

Laszlo Marai debian-bugs at atleta.hu
Fri Dec 5 15:12:24 UTC 2008


Package: mdadm
Version: 2.6.2-2
Severity: critical
Tags: patch
Justification: breaks the whole system


The /usr/share/initramfs-tools/scripts/local-top/mdadm script is broken and
thus an initrd regeneration will render the whole system unbootable. The
problem is with line 65: 
mkdir --parent /dev/md 
as the (busybox version of) mkdir
included on the initrd.img does only handle short options (-p and -m). The
fix is simple, just replace the offending line with:
mkdir -p /dev/md

  Laszlo / atleta

-- Package-specific info:
--- mount output
/dev/md0 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/dev/md1 on /var/scratch type ext3 (rw,errors=remount-ro)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

--- mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=96c1e743:afc9bd83:efd039c2:83ed30f9
ARRAY /dev/md1 level=raid0 num-devices=2 UUID=87af0ee8:ce156e06:2e2c6960:77f4c898
MAILADDR root

--- /proc/mdstat:
Personalities : [raid1] [raid0] 
md1 : active raid0 hdc2[0] hdd2[1]
      47857408 blocks 64k chunks
      
md0 : active raid1 hdc1[0] hdd1[1]
      170899328 blocks [2/2] [UU]
      
unused devices: <none>

--- /proc/partitions:
major minor  #blocks  name

  22     0  195360984 hdc
  22     1  170899438 hdc1
  22     2   23928817 hdc2
  22     3     530145 hdc3
  22    64  195360984 hdd
  22    65  170899438 hdd1
  22    66   23928817 hdd2
  22    67     530145 hdd3
   9     0  170899328 md0
   9     1   47857408 md1

--- initrd.img-2.6.22.5:
24880 blocks
etc/mdadm
etc/mdadm/mdadm.conf
lib/modules/2.6.22.5/kernel/drivers/md/md-mod.ko
lib/modules/2.6.22.5/kernel/drivers/md/linear.ko
lib/modules/2.6.22.5/kernel/drivers/md/multipath.ko
lib/modules/2.6.22.5/kernel/drivers/md/raid0.ko
lib/modules/2.6.22.5/kernel/drivers/md/raid1.ko
lib/modules/2.6.22.5/kernel/drivers/md/xor.ko
lib/modules/2.6.22.5/kernel/drivers/md/raid456.ko
lib/modules/2.6.22.5/kernel/drivers/md/raid10.ko
sbin/mdadm
scripts/local-top/mdadm

--- /proc/modules:
raid0 7360 1 - Live 0xf8b44000
dm_snapshot 15652 0 - Live 0xf8bcb000
dm_mirror 19904 0 - Live 0xf8b4c000
dm_mod 51200 2 dm_snapshot,dm_mirror, Live 0xf8b2a000
raid1 21184 1 - Live 0xf88d5000
md_mod 70420 6 raid0,raid1, Live 0xf890b000

--- volume detail:

--- /proc/cmdline
auto BOOT_IMAGE=Old ro root=900

--- lilo:
root=/dev/md0


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (700, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.22.5 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages mdadm depends on:
ii  debconf [debconf-2.0]         1.5.22     Debian configuration management sy
ii  libc6                         2.7-10     GNU C Library: Shared libraries
ii  lsb-base                      3.2-11     Linux Standard Base 3.2 init scrip
ii  makedev                       2.3.1-88   creates device files in /dev

Versions of packages mdadm recommends:
ii  exim [mail-transport-agent]   3.36-18.2  An obsolete MTA (Mail Transport Ag
ii  module-init-tools             3.4-1      tools for managing Linux kernel mo

mdadm suggests no packages.

-- debconf information:
* mdadm/initrdstart: /dev/md0
  mdadm/initrdstart_msg_errexist:
* mdadm/warning:
* mdadm/start_daemon: true
* mdadm/mail_to: root
  mdadm/initrdstart_msg_errmd:
* mdadm/autocheck: true
* mdadm/autostart: true
  mdadm/initrdstart_notinconf: false
  mdadm/initrdstart_msg_intro:
  mdadm/initrdstart_msg_errblock:
  mdadm/initrdstart_msg_errconf:
-------------- next part --------------
--- mdadm.orig	2008-12-05 16:10:30.000000000 +0100
+++ mdadm	2008-12-05 16:10:45.000000000 +0100
@@ -62,7 +62,7 @@
 fi
 
 # handle /dev/md/X nodes
-mkdir --parent /dev/md
+mkdir -p /dev/md
 
 CONFIG=/etc/mdadm/mdadm.conf
 # in case the hook failed to install a configuration file, this is our last


More information about the pkg-mdadm-devel mailing list