[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#536644: initramfs-tools: Boot failure from software-RAID1 with debian Lenny



Subject: initramfs-tools: Boot failure from software-RAID1 with debian Lenny
Package: initramfs-tools
Version: 0.92o
Severity: critical
Justification: breaks the whole system

*** Please type your report below this line ***

On a newly built system, the boot sequence has been frequently failing as follows:

-----
initrd  /initrd.img-2.6.26-2-686
  [Linux-initrd @ 0x378d1000, 0x71ee7b bytes] 


Decompressing Linux... Parsing ELF... done.
Booting the kernel.
[    0.420026] PCI: Not using MMCONFIG.
Loading, please wait...
[    5.494772] ata2: ACPI get timing mode failed (AE 0x300d)
Discovering multipaths...
mdadm: no devices found for /dev/md0
Segmentation fault
mount: mounting /dev/md1 on /root failed: No such device
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't have /sbin/init.
No init found. Try passing init= bootarg. 


BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)
:
:
(initramfs) mdadm --assemble --scan
mdadm: no devices found for /dev/md0
mdadm: /dev/md1 has been started with 1 drive (out of 2)
(initramfs)  
-----

Note that the mdadm --assemble --scan works from within the initramfs.

The above sample is only one mode of failure. Sometimes, the system will come
up, but with reduced raidsets. Only once in a while does it come up OK. This is
seemingly a timing problem -- the most frequent failure mode is for md1 (the
root device) to assemble with one member and md0 to fail to assemble at all.

If I add 'debug' to the boot parameters, it introduces enough delay to come up
correctly almost every time. -- The rootdelay parameter does nothing to affect
this problem -- settings between 5 and 30 have been tried with no results.

I did find a workaround though: I have adjusted my local system to get a
reliable boot by editing /usr/share/initramfs-tools/scripts/mdadm and
/usr/share/initramfs-tools/scripts/multipath like this:

1) mdadm: right after 'maybe_break pre-mdadm'
   add '/bin/sleep 1'

2) mdadm: right after 'echo 1 > /sys/module/md_mod/parameters/start_ro'
   add '/bin/sleep 1'

3) multipath: after the last modprobe
   add '/bin/sleep 1'

4) multipath: After the call to /sbin/multipath'
   add '/bin/sleep 1'

Obviously not a good, nor a proposed solution, but perhaps a place to
start in identifying the timing problem. From here, it looks like the
mdadm --assemble --scan is fired off before device mapper has finished
stabilizing things.

For reference, my hardware configuration is:
  Intel motherboard DG41RQ
  Core2 quad 6700
  2xST31500341AS (seagate 1.5T)

-- Package-specific info:
-- /proc/cmdline
root=/dev/md1 rootdelay=5 ro quiet

-- /proc/filesystems
	ext3

-- lsmod
Module                  Size  Used by
i915                   25280  0 
drm                    65192  1 i915
kvm_intel              31168  0 
kvm                   106492  1 kvm_intel
ppdev                   6500  0 
parport_pc             22500  0 
lp                      8164  0 
parport                30988  3 ppdev,parport_pc,lp
ipv6                  235364  47 
loop                   12748  0 
snd_hda_intel         325688  0 
rng_core                3940  0 
i2c_i801                7920  0 
video                  16432  0 
i2c_core               19828  1 i2c_i801
button                  6096  0 
output                  2912  1 video
snd_pcm_oss            32832  0 
snd_mixer_oss          12320  1 snd_pcm_oss
intel_agp              22556  1 
agpgart                28776  3 drm,intel_agp
iTCO_wdt                9508  0 
snd_pcm                62596  2 snd_hda_intel,snd_pcm_oss
snd_seq_dummy           2660  0 
snd_seq_oss            24992  0 
snd_seq_midi            5728  0 
snd_rawmidi            18528  1 snd_seq_midi
snd_seq_midi_event      6432  2 snd_seq_oss,snd_seq_midi
snd_seq                41456  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              17800  2 snd_pcm,snd_seq
snd_seq_device          6380  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd                    45604  9 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
pcspkr                  2432  0 
soundcore               6368  1 snd
snd_page_alloc          7816  2 snd_hda_intel,snd_pcm
evdev                   8000  4 
ext3                  105512  2 
jbd                    39444  1 ext3
mbcache                 7108  1 ext3
dm_mirror              15104  0 
dm_log                  8484  1 dm_mirror
dm_snapshot            14340  0 
raid1                  18016  2 
md_mod                 67068  3 raid1
dm_round_robin          2656  1 
dm_emc                  4384  0 
dm_multipath           14920  3 dm_round_robin,dm_emc
dm_mod                 46184  18 dm_mirror,dm_log,dm_snapshot,dm_multipath
ide_cd_mod             27652  0 
cdrom                  30176  1 ide_cd_mod
sd_mod                 22200  2 
usbhid                 35904  0 
hid                    33184  1 usbhid
ff_memless              4392  1 usbhid
ata_generic             4676  0 
piix                    6568  0 [permanent]
ata_piix               14180  4 
libata                140416  2 ata_generic,ata_piix
scsi_mod              129324  2 sd_mod,libata
dock                    8304  1 libata
uhci_hcd               18672  0 
floppy                 47748  0 
ehci_hcd               28396  0 
ide_pci_generic         3908  0 [permanent]
ide_core               96136  3 ide_cd_mod,piix,ide_pci_generic
usbcore               118224  4 usbhid,uhci_hcd,ehci_hcd
r8169                  23684  0 
thermal                15228  0 
processor              32544  1 thermal
fan                     4164  0 
thermal_sys            10856  4 video,thermal,processor,fan

-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-grub
postrm_hook   = update-grub

-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
BOOT=local
DEVICE=eth0
NFSROOT=auto


-- System Information:
Debian Release: 5.0.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages initramfs-tools depends on:
ii  cpio                      2.9-13         GNU cpio -- a program to manage ar
ii  findutils                 4.4.0-2        utilities for finding files--find,
ii  klibc-utils               1.5.12-2       small utilities built with klibc f
ii  module-init-tools         3.4-1          tools for managing Linux kernel mo
ii  udev                      0.125-7+lenny1 /dev/ and hotplug management daemo

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

initramfs-tools suggests no packages.

-- no debconf information




Reply to: