Bug#607565: initramfs-tools: initramfs fails to assemble Intel RAID array

December 19th, 2010 - 03:00 pm ET by Rainmaker | Report spam
Package: initramfs-tools
Version: 0.98.6
Severity: grave
Tags: patch
Justification: renders package unusable

I just installed Debian (Sid) on my PC and was in for a nasty surprise; the
system wouldn't boot after install.

I have 2 disks setup in an ICH9R raid set, which devides these 2 disks in 2
arrays; 1 is a RAID0 array, and 1 is a RAID1 array. This is a completely valid
configuration for an Intel RAID set.

I installed Debian on a LVM setup, using a partition in the RAID0 set as a PV.
The /boot partition is also an LV.

As I found out, the Intel RAID system works with a "container", which contains
the arrays. The container was assembled during boot, but the arrays fail to
assemble, giving a "device or resource busy". The problem is almost exactly the
same as seen in this URL: http://www.linux-archive.org/debian...54103-how-
recreate-dmraid-raid-array-mdadm.html

I did, however find a different workaround. Removing the /etc/mdadm/mdadm.conf
and running mdadm -Ss && mdadm -As also assembles the arrays correctly.

For people stumbling into the same problem; here are steps to work around this
problem:
- Wait for the ramdisk to put you in a (initramfs) shell.
- mdadm -Ss
- rm /etc/mdadm/mdadm.conf
- mdadm -As
- lvm vgscan
- vgchange -ay

Now, mount the boot partition to a directory, e.g. /root
- mount /dev/vgMain/lvBoot /root
- mkdir /root/temp
- cd /root/temp
- gunzip ../<initrd image> | cpio -i
- rm etc/mdadm/mdadm.conf
- find . | cpio -H newc -o > ../initrd.new
- cd ..
- gzip -9 initrd.new
- cd
- umount /root
- reboot

And use the "edit" option in grub to select /initrd.new.gz as your new initrd
image.

Some information on my particulair configuration:
root@Medusa:~# mdadm -E -s
ARRAY metadata=imsm UUID=5a17be47:4c36e982:9fd7aa92:6b23c688
ARRAY /dev/md/BootEnBackup container=5a17be47:4c36e982:9fd7aa92:6b23c688
member=0 UUID=9e351111:67d59d42:043dbdde:fe757582
ARRAY /dev/md/Data container=5a17be47:4c36e982:9fd7aa92:6b23c688 member=1
UUID=8a981b80:aa2c2f06:e4ec50a5:9045f323
root@Medusa:~# mdadm -E /dev/sda /dev/sdb
/dev/sda:
Magic : Intel Raid ISM Cfg Sig.
Version : 1.2.00
Orig Family : b68e12bc
Family : b68e12bc
Generation : 00008053
UUID : 5a17be47:4c36e982:9fd7aa92:6b23c688
Checksum : 7f6d2eb4 correct
MPB Sectors : 2
Disks : 2
RAID Devices : 2

Disk00 Serial : S13PJDWS255231
State : active
Id : 00000000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)

[BootEnBackup]:
UUID : 9e351111:67d59d42:043dbdde:fe757582
RAID Level : 1
Members : 2
Slots : [UU]
This Slot : 0
Array Size : 66056192 (31.50 GiB 33.82 GB)
Per Dev Size : 66056456 (31.50 GiB 33.82 GB)
Sector Offset : 0
Num Stripes : 258032
Chunk Size : 64 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

[Data]:
UUID : 8a981b80:aa2c2f06:e4ec50a5:9045f323
RAID Level : 0
Members : 2
Slots : [UU]
This Slot : 0
Array Size : 3774918656 (1800.02 GiB 1932.76 GB)
Per Dev Size : 1887459592 (900.01 GiB 966.38 GB)
Sector Offset : 66060552
Num Stripes : 7372888
Chunk Size : 128 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

Disk01 Serial : S13PJDWS255348
State : active
Id : 00010000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)
/dev/sdb:
Magic : Intel Raid ISM Cfg Sig.
Version : 1.2.00
Orig Family : b68e12bc
Family : b68e12bc
Generation : 00008053
UUID : 5a17be47:4c36e982:9fd7aa92:6b23c688
Checksum : 7f6d2eb4 correct
MPB Sectors : 2
Disks : 2
RAID Devices : 2

Disk01 Serial : S13PJDWS255348
State : active
Id : 00010000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)

[BootEnBackup]:
UUID : 9e351111:67d59d42:043dbdde:fe757582
RAID Level : 1
Members : 2
Slots : [UU]
This Slot : 1
Array Size : 66056192 (31.50 GiB 33.82 GB)
Per Dev Size : 66056456 (31.50 GiB 33.82 GB)
Sector Offset : 0
Num Stripes : 258032
Chunk Size : 64 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

[Data]:
UUID : 8a981b80:aa2c2f06:e4ec50a5:9045f323
RAID Level : 0
Members : 2
Slots : [UU]
This Slot : 1
Array Size : 3774918656 (1800.02 GiB 1932.76 GB)
Per Dev Size : 1887459592 (900.01 GiB 966.38 GB)
Sector Offset : 66060552
Num Stripes : 7372888
Chunk Size : 128 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

Disk00 Serial : S13PJDWS255231
State : active
Id : 00000000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)



-rw-r--r-- 1 root root 9.9M Dec 19 19:26 /boot/initrd.img-2.6.32-5-amd64
BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=/dev/mapper/vgLocal-lvRoot ro

RESUME=/dev/mapper/vgLocal-lvSwap
ext4
ext2
fuseblk

Module Size Used by
parport_pc 18855 0
ppdev 5030 0
lp 7462 0
parport 27954 3 parport_pc,ppdev,lp
sco 7209 2
bridge 39630 0
stp 1440 1 bridge
bnep 9427 2
rfcomm 29597 0
l2cap 24736 6 bnep,rfcomm
bluetooth 41827 6 sco,bnep,rfcomm,l2cap
cpufreq_userspace 1992 0
cpufreq_conservative 5162 0
cpufreq_powersave 902 0
cpufreq_stats 2659 0
binfmt_misc 6431 1
fuse 50369 1
ext2 52969 2
loop 11799 0
firewire_sbp2 11514 0
arc4 1274 2
ecb 1841 2
snd_hda_codec_analog 64562 1
rtl8187 29050 0
snd_hda_intel 19987 1
snd_hda_codec 54244 2 snd_hda_codec_analog,snd_hda_intel
mac80211 137340 1 rtl8187
snd_hwdep 5380 1 snd_hda_codec
led_class 2433 1 rtl8187
snd_pcm_oss 32591 0
nouveau 353128 2
snd_mixer_oss 12606 1 snd_pcm_oss
snd_pcm 60503 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
cfg80211 101496 2 rtl8187,mac80211
ttm 39986 1 nouveau
snd_seq_midi 4400 0
drm_kms_helper 20065 1 nouveau
snd_rawmidi 15515 1 snd_seq_midi
drm 142359 4 nouveau,ttm,drm_kms_helper
i2c_i801 7830 0
snd_seq_midi_event 4628 1 snd_seq_midi
rfkill 13044 4 bluetooth,cfg80211
snd_seq 42881 2 snd_seq_midi,snd_seq_midi_event
i2c_algo_bit 4225 1 nouveau
snd_timer 15582 2 snd_pcm,snd_seq
eeprom_93cx6 1335 1 rtl8187
snd_seq_device 4493 3 snd_seq_midi,snd_rawmidi,snd_seq
i2c_core 15712 5 nouveau,drm_kms_helper,drm,i2c_i801,i2c_algo_bit
asus_atk0110 7686 0
evdev 7352 10
joydev 8459 0
processor 29935 0
snd 46446 13 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 4598 1 snd
snd_page_alloc 6249 2 snd_hda_intel,snd_pcm
pcspkr 1699 0
button 4650 1 nouveau
ext4 289033 2
mbcache 5050 2 ext2,ext4
jbd2 67015 1 ext4
crc16 1319 2 l2cap,ext4
dm_mod 53754 15
raid1 18431 1
raid0 5517 1
md_mod 73808 4 raid1,raid0
hid_logitech 6326 0
ff_memless 3692 1 hid_logitech
sg 18744 0
usbhid 33292 1 hid_logitech
hid 63193 2 hid_logitech,usbhid
sd_mod 29889 2
crc_t10dif 1276 1 sd_mod
sr_mod 12602 0
cdrom 29415 1 sr_mod
ata_generic 3047 0
uhci_hcd 18521 0
pata_jmicron 2280 0
firewire_ohci 19676 0
ehci_hcd 31151 0
firewire_core 36848 2 firewire_sbp2,firewire_ohci
crc_itu_t 1307 1 firewire_core
floppy 49087 0
ahci 32374 6
sky2 40755 0
libata 133632 3 ata_generic,pata_jmicron,ahci
scsi_mod 122149 5 firewire_sbp2,sg,sd_mod,sr_mod,libata
usbcore 122034 5 rtl8187,usbhid,uhci_hcd,ehci_hcd
nls_base 6377 1 usbcore
thermal 11674 0
thermal_sys 11942 2 processor,thermal


# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
do_bootloader = no
do_initrd = yes
link_in_boot = no

MODULES=most
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
BOOT=local
DEVICENFSROOT=auto

update_initramfs=yes
backup_initramfs=no

Personalities : [raid0] [raid1]
md125 : active (read-only) raid1 sda[1] sdb[0]
33028096 blocks super external:/md127/0 [2/2] [UU]

md126 : active raid0 sda[1] sdb[0]
1887459328 blocks super external:/md127/1 128k chunks

md127 : inactive sdb[1](S) sda[0](S)
4514 blocks super external:imsm

unused devices: <none>

/etc/initramfs-tools/hooks/:

/usr/share/initramfs-tools/hooks:
busybox
dmsetup
keymap
klibc
lvm2
mdadm
thermal
udev


Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages initramfs-tools depends on:
ii cpio 2.11-4 GNU cpio -- a program to manage ar
ii findutils 4.4.2-1+b1 utilities for finding files--find,
ii klibc-utils 1.5.20-1 small utilities built with klibc f
ii module-init-tools 3.12-1 tools for managing Linux kernel mo
ii udev 164-3 /dev/ and hotplug management daemo

Versions of packages initramfs-tools recommends:
ii busybox 1:1.17.1-8 Tiny utilities for small and embed

Versions of packages initramfs-tools suggests:
ii bash-completion 1:1.2-3 programmable completion for the ba




To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 1 replyReplies Make a reply

Replies

#1 maximilian attems
December 19th, 2010 - 03:20 pm ET | Report spam
reassign 607565 mdadm
stop

On Sun, Dec 19, 2010 at 08:47:28PM +0100, Rainmaker wrote:
Package: initramfs-tools
Version: 0.98.6
Severity: grave
Tags: patch
Justification: renders package unusable



No, not booting on a specific setup is bad, but doesn't render it
unusable for the big X nr of boxes, where it does work.
Please reread the severity explanations.

I just installed Debian (Sid) on my PC and was in for a nasty surprise; the
system wouldn't boot after install.

I have 2 disks setup in an ICH9R raid set, which devides these 2 disks in 2
arrays; 1 is a RAID0 array, and 1 is a RAID1 array. This is a completely valid
configuration for an Intel RAID set.

I installed Debian on a LVM setup, using a partition in the RAID0 set as a PV.
The /boot partition is also an LV.

As I found out, the Intel RAID system works with a "container", which contains
the arrays. The container was assembled during boot, but the arrays fail to
assemble, giving a "device or resource busy". The problem is almost exactly the
same as seen in this URL: http://www.linux-archive.org/debian...54103-how-
recreate-dmraid-raid-array-mdadm.html

I did, however find a different workaround. Removing the /etc/mdadm/mdadm.conf
and running mdadm -Ss && mdadm -As also assembles the arrays correctly.

For people stumbling into the same problem; here are steps to work around this
problem:
- Wait for the ramdisk to put you in a (initramfs) shell.
- mdadm -Ss
- rm /etc/mdadm/mdadm.conf
- mdadm -As
- lvm vgscan
- vgchange -ay

Now, mount the boot partition to a directory, e.g. /root
- mount /dev/vgMain/lvBoot /root
- mkdir /root/temp
- cd /root/temp
- gunzip ../<initrd image> | cpio -i
- rm etc/mdadm/mdadm.conf
- find . | cpio -H newc -o > ../initrd.new
- cd ..
- gzip -9 initrd.new
- cd
- umount /root
- reboot

And use the "edit" option in grub to select /initrd.new.gz as your new initrd
image.

Some information on my particulair configuration:
:~# mdadm -E -s
ARRAY metadata=imsm UUID=5a17be47:4c36e982:9fd7aa92:6b23c688
ARRAY /dev/md/BootEnBackup container=5a17be47:4c36e982:9fd7aa92:6b23c688
member=0 UUID=9e351111:67d59d42:043dbdde:fe757582
ARRAY /dev/md/Data container=5a17be47:4c36e982:9fd7aa92:6b23c688 member=1
UUID=8a981b80:aa2c2f06:e4ec50a5:9045f323
:~# mdadm -E /dev/sda /dev/sdb
/dev/sda:
Magic : Intel Raid ISM Cfg Sig.
Version : 1.2.00
Orig Family : b68e12bc
Family : b68e12bc
Generation : 00008053
UUID : 5a17be47:4c36e982:9fd7aa92:6b23c688
Checksum : 7f6d2eb4 correct
MPB Sectors : 2
Disks : 2
RAID Devices : 2

Disk00 Serial : S13PJDWS255231
State : active
Id : 00000000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)

[BootEnBackup]:
UUID : 9e351111:67d59d42:043dbdde:fe757582
RAID Level : 1
Members : 2
Slots : [UU]
This Slot : 0
Array Size : 66056192 (31.50 GiB 33.82 GB)
Per Dev Size : 66056456 (31.50 GiB 33.82 GB)
Sector Offset : 0
Num Stripes : 258032
Chunk Size : 64 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

[Data]:
UUID : 8a981b80:aa2c2f06:e4ec50a5:9045f323
RAID Level : 0
Members : 2
Slots : [UU]
This Slot : 0
Array Size : 3774918656 (1800.02 GiB 1932.76 GB)
Per Dev Size : 1887459592 (900.01 GiB 966.38 GB)
Sector Offset : 66060552
Num Stripes : 7372888
Chunk Size : 128 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

Disk01 Serial : S13PJDWS255348
State : active
Id : 00010000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)
/dev/sdb:
Magic : Intel Raid ISM Cfg Sig.
Version : 1.2.00
Orig Family : b68e12bc
Family : b68e12bc
Generation : 00008053
UUID : 5a17be47:4c36e982:9fd7aa92:6b23c688
Checksum : 7f6d2eb4 correct
MPB Sectors : 2
Disks : 2
RAID Devices : 2

Disk01 Serial : S13PJDWS255348
State : active
Id : 00010000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)

[BootEnBackup]:
UUID : 9e351111:67d59d42:043dbdde:fe757582
RAID Level : 1
Members : 2
Slots : [UU]
This Slot : 1
Array Size : 66056192 (31.50 GiB 33.82 GB)
Per Dev Size : 66056456 (31.50 GiB 33.82 GB)
Sector Offset : 0
Num Stripes : 258032
Chunk Size : 64 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

[Data]:
UUID : 8a981b80:aa2c2f06:e4ec50a5:9045f323
RAID Level : 0
Members : 2
Slots : [UU]
This Slot : 1
Array Size : 3774918656 (1800.02 GiB 1932.76 GB)
Per Dev Size : 1887459592 (900.01 GiB 966.38 GB)
Sector Offset : 66060552
Num Stripes : 7372888
Chunk Size : 128 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean

Disk00 Serial : S13PJDWS255231
State : active
Id : 00000000
Usable Size : 1953520654 (931.51 GiB 1000.20 GB)




rassigning to mdadm as md is responsible for it's boot hooks.
already removed the patch tag, as no patch relative to those boot hooks was given.
please talk to the mdadm people what needs to be done to improve the situation.

thanks for the feedback.

maks



To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact

Similar topics