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

Bug#420806: initramfs-tools incorrectly attempting to boot from usb drive rather than scsi



Package: initramfs-tools
Version: 0.85g
Severity: important


With the currently distributed initramfs-tools configuration specifically in /usr/share/initramfs-tools/hook-functions causes an initrd to be generated which results in dropping to the initrd busybox shell.  After some investigation it has become apparent that this is due to a USB drive connected for backups and the fact that this system boots from a local scsi raid.  This may be a side effect of the way usb drives are not recognized as being different from scsi drives however is inappropriate behavior for any server.

I have found that making the following configuration changes to /usr/share/initramfs-tools/hook-functions cause the system to function appropriately.

        # Dont need usb in initrd
        #for x in /sys/bus/usb/devices/*; do
        #     if [ -e "${x}/modalias" ]; then
        #             manual_add_modules $(cat "${x}/modalias")
        #     fi
        #done

	...

        #     for x in ehci-hcd ohci-hcd uhci-hcd usbhid usb-storage ext2 \
                for x in ext2 \

I also believe that moving the scsi module load before the usb module load might resolve this issue however because I have a production server that requires scheduled downtime I have not been able to test this.  If this is an effictive fix this should also allow the system to not fail in any case where a user is actually trying to boot from usb on a desktop system since they are more likely to have ide drives while on a server this will likely be a continuing problem as it is not possible to physically access the machine to remove usb devices for booting.

Another possible solution would be to treat usb drives differently from scsi drives, perhaps create a udX# device class and leave the sdX# class for real scsi, however that is probably too much to ask.

Regards,
Ian Corbett

-- Package-specific info:
-- /proc/cmdline
root=/dev/sda1 ro 

-- /proc/filesystems
	cramfs
	ext3
	xfs

-- lsmod
Module                  Size  Used by
tcp_diag                1888  0 
inet_diag              11208  5 tcp_diag
ipv6                  225984  149 
bonding                71528  0 
xfs                   475800  4 
tsdev                   7520  0 
usb_storage            71840  1 
ide_core              110504  1 usb_storage
floppy                 53156  0 
psmouse                35016  0 
parport_pc             32132  0 
parport                33256  1 parport_pc
rtc                    12372  0 
ohci_hcd               18276  0 
i2c_piix4               8140  0 
usbcore               112644  3 usb_storage,ohci_hcd
i2c_core               19680  1 i2c_piix4
pcspkr                  3072  0 
shpchp                 33024  0 
pci_hotplug            28704  1 shpchp
serio_raw               6660  0 
sworks_agp              9152  0 
agpgart                29896  1 sworks_agp
sg                     31292  0 
evdev                   9088  0 
sr_mod                 15876  0 
cdrom                  32544  1 sr_mod
ext3                  119240  2 
jbd                    52456  1 ext3
mbcache                 8356  1 ext3
dm_mirror              19152  0 
dm_snapshot            15552  0 
dm_mod                 50232  11 dm_mirror,dm_snapshot
sd_mod                 19040  8 
aic7xxx               150932  0 
scsi_transport_spi     22336  1 aic7xxx
e100                   32232  0 
mii                     5344  1 e100
aacraid                51424  4 
scsi_mod              124168  7 usb_storage,sg,sr_mod,sd_mod,aic7xxx,scsi_transport_spi,aacraid
thermal                13608  0 
processor              28840  1 thermal
fan                     4804  0 

-- kernel-img.conf
# Kernel Image management overrides
# See kernel-img.conf(5) for details
do_symlinks = Yes


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

Kernel: Linux 2.6.18-4-686 (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 initramfs-tools depends on:
ii  busybox                       1:1.1.3-4  Tiny utilities for small and embed
ii  cpio                          2.7-1      GNU cpio -- a program to manage ar
ii  klibc-utils                   1.4.34-1   small statically-linked utilities 
ii  module-init-tools             3.3-pre4-2 tools for managing Linux kernel mo
ii  udev                          0.105-4    /dev/ and hotplug management daemo

initramfs-tools recommends no packages.

-- no debconf information



Reply to: