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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org