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

Re: SPARC SunBlade 2000 fails to find disks: ql2200_fw.bin not found, "Firmware image unavailable." (kernel 2.6.26, Debian lenny)



Op Wed  3 Feb 2010 om 11:08:44 +0100 schreef Joost van Baal:
> Op Wed  3 Feb 2010 om 09:52:57 +0000 schreef Jurij Smakov:
> > On Wed, Feb 03, 2010 at 10:48:47PM +0100, Joost van Baal wrote:
> > > Op Wed  3 Feb 2010 om 10:22:15 +0100 schreef Joost van Baal:
> > > > Op Wed  3 Feb 2010 om 07:36:50 +0000 schreef Jurij Smakov:
> > > > > On Wed, Feb 03, 2010 at 06:23:03PM +0100, Joost van Baal wrote:
> > > > > > 
> > > > > > I'm installing Debian lenny on a SunBlade 2000 sparc for demo-ing at the FOSDEM
> > > > > > conference debian booth.  ql2200_fw.bin is not found by my kernel, while it
> > > > > > _is_ included in the initrd.  Booting the system from a Debian installer CD,
> > > > > > and supplying ql2200_fw.bin via an USB-stick works just fine: I've installed
> > > > > > the complete OS on the system's disks this way.
> > > > > > 
> > > > > > The kernel on disk is vmlinuz-2.6.26-2-sparc64 from
> > > > > > linux-image-2.6.26-2-sparc64 package, version 2.6.26-21.
> > > > > > /usr/sbin/update-initramfs is from initramfs-tools (0.92o).
> > > > > > 
> > > > > > Any clues on how to get this system to find it's disks is very much
> > > > > > appreciated.  Unfortunately little time is left for me: the conference is gonna
> > > > > > happen in 3 days, while the system is scheduled to get shipped there even
> > > > > > earlier....
> > > > > 
> > > > > Can you check that the firmware file actually makes it to the initrd? 
> > > > > It's just a gzipped cpio archive, you can extract it like that (in a 
> > > > > temp directory):
> > > > > 
> > > > > cp /boot/initrd-<version> initrd.gz
> > > > > gzip -d initrd.gz
> > > > > cpio -i < initrd
> > > > 
> > > > Yes, it is included in the initrd:
> > > > 
> > > > ~ # mount /dev/sdb1 /mnt
> > > > ~ # for i in proc sys dev dev/pts; do mount --bind /$i /mnt/$i ;done
> > > > ~ # chroot /mnt
> > > > sh-3.2# mount /usr
> > > > sh-3.2# mount /tmp
> > > > sh-3.2# cd /tmp
> > > > sh-3.2# zcat /boot/initrd.img | cpio -i
> > > > 18477 blocks
> > > > sh-3.2# ls -l lib/firmware/ql2*
> > > > -rw-r--r-- 1 root root  76802 Feb  3 21:19 lib/firmware/ql2100_fw.bin
> > > > -rw-r--r-- 1 root root  84566 Feb  3 21:19 lib/firmware/ql2200_fw.bin    <- the right one
> > > > -rw-r--r-- 1 root root 123170 Feb  3 21:19 lib/firmware/ql2300_fw.bin
> > > > -rw-r--r-- 1 root root 132978 Feb  3 21:19 lib/firmware/ql2322_fw.bin
> > > > -rw-r--r-- 1 root root 227884 Feb  3 21:19 lib/firmware/ql2400_fw.bin
> > > > -rw-r--r-- 1 root root 198044 Feb  3 21:19 lib/firmware/ql2500_fw.bin
> > > > 
> > > > I'll reboot once more and will record the exact kernel error messages.
> > > > Perhaps that'll help...
> > > 
> > > Some of the boot messages:
> > > 
> > >  [...] QLogic Fiber Channel HBA Driver: 8.02.01-k4
> > >  [...] qla2xxx 0001:00:04.0: Found an ISP2200, irq 22, iobase 0x00....
> > >  [...] qla2xxx 0001:00:04.0: Configuring PCI space...
> > >  [...] qla2xxx 0001:00:04.0: Configure NVRAM parameters...
> > >  [...] qla2xxx 0001:00:04.0: Inconsistent NVRAM detected: checksum=0x0 id=<4>qla2xxx 0001:00:04.0: Falling back to functioning (yet invalid -- WWPN) defaults.
> > >  [...] qla2xxx 0001:00:04.0: Verifying loaded RISC code...
> > >  [...] firmware: requesting ql2200_fw.bin
> > >  [...] qla2xxx 0001:00:04.0: Firmware image unavailable.
> > >  [...] qla2xxx 0001:00:04.0: Firmware images can be retreived from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
> > >  Failed to initialize adapter
> > >  done.
> > >  Begin: Running /scripts/init-premount ... done.
> > >  ....
> > >  Waiting for root filesystem ... done.
> > >  Gave up waiting for root device. Common problems:
> > >  ...
> > >  ALERT! /dev/sdb1 does not exist. Dropping to a shell!
> > 
> > Do you see the firmware on the initrd after it drops you into the 
> > initrd shell?
> 
> Can't check now: just found out my USB keyboard is not working in this shell.
> I'll reboot tomorrow with an old school VT terminal, or try to rebuild the
> initrd with usb-support.

Yes, I see it:

 (initramfs) ls lib/firmware
 ql2100_fw.bin ql2300_fw.bin ql2400_fw.bin
 ql2200_fw.bin ql2322_fw.bin ql2500_fw.bin

> > If it's there, what happens if you remove the module and 
> > then  reload it:
> > 
> > modprobe -r qla2xxx
> > modprobe qla2xxx

This works!

 [...] sda: sda1 sda2 sda3 sda4
 ...
 [...] sdb: sdb1 sdb2

However, after disks have been detected, I get:

 (initramfs) exit
 Begin: Running scripts/local-premount ... done
 mount: mounting /dev/sdb1 on /root failed: No such device

(It seems disks have been renamed from sdb, sdc to sda, sdb: An extra USB-stick
was present during initial installation.)

Hrm, should I hack some file in /etc/initramfs-tools/ now?  More hints are
appreciated.

Thanks again, Bye,

Joost

-- 
irc:joostvb@{OFTC,freenode} ∙ http://mdcc.cx/http://ad1810.com/


> > > Perhaps ql2200_fw.bin should not be installed as /lib/firmware/ql2200_fw.bin in
> > > the initrd, but at some other location?  (I'll inspect the installer's initrd
> > > tomorrow; first get some sleep now...)
> > > 
> > > Or maybe some needed modules are missing from the initrd?  (While installing
> > > I've chosen "custom", not "just include all modules".)
> > > 
> > > Or maybe the "Inconsistent NVRAM" is causing the troubles?
> 
> Or flaky hardware?
> 
> (FWIW: the initrd includes these modules:
> 
> ./lib/modules/2.6.26-2-sparc64/kernel/fs/jbd/jbd.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/fs/ext3/ext3.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/scsi/scsi_mod.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/scsi/scsi_tgt.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/scsi/scsi_transport_fc.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/scsi/sd_mod.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/base/firmware_class.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/ide/ide-disk.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/ide/ide-cd_mod.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/cdrom/cdrom.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/net/sunvnet.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/block/sunvdc.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/dm-mod.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/dm-snapshot.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/dm-log.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/dm-mirror.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/md-mod.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/linear.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/multipath.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/raid0.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/raid1.ko
> 
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/raid456.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/drivers/md/raid10.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/crypto/xor.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/crypto/async_tx/async_tx.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/crypto/async_tx/async_memcpy.ko
> ./lib/modules/2.6.26-2-sparc64/kernel/crypto/async_tx/async_xor.ko
> 
> )

Attachment: signature.asc
Description: Digital signature


Reply to: