Bug 377921

Summary: F10 Beta install to qla but no firmware there to boot after install
Product: [Fedora] Fedora Reporter: Patrick C. F. Ernzer <pcfe>
Component: mkinitrdAssignee: Peter Jones <pjones>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 10CC: dcantrell, hdegoede, madko, pjones, rdoty, wtogami
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-15 10:29:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
replacement initrd.img with qlogic firmware built in
none
x86_64 version of the updated image none

Description Patrick C. F. Ernzer 2007-11-12 15:19:29 UTC
Description of problem:
as we now have ql*-firmware rpms, the qla2xxx (and other qla modules as well I'd
venture) is not usable on it's own (c.f. Bug #329511) that is a nice cleanup,
but we seem to have forgotten to update the install media.

Version-Release number of selected component (if applicable):
Fedora 8

How reproducible:
always

Steps to Reproduce:
1. have hardware that only has disks connected through a qla2xxx HBA
2. boot images/pxeboot/* from the install media (can only test like this as the
machines in question are blades without access to an optical drive, but as the
initrd is identical to isolinux/initrd.img that's OK)
3. try to access the disks in either install or rescue mode
  
Actual results:
no disks accessible. Looking in dmesg one sees (I have 2 HBA per blade):
Logic Fibre Channel HBA Driver
qla2xxx 0000:02:01.0: Found an ISP2312, irq 24, iobase 0xf8810000
qla2xxx 0000:02:01.0: Configuring PCI space...
qla2xxx 0000:02:01.0: Configure NVRAM parameters...
qla2xxx 0000:02:01.0: Verifying loaded RISC code...
qla2xxx 0000:02:01.0: Firmware image unavailable.
qla2xxx 0000:02:01.0: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.0: Failed to initialize adapter
qla2xxx 0000:02:01.1: Found an ISP2312, irq 25, iobase 0xf8810000
qla2xxx 0000:02:01.1: Configuring PCI space...
qla2xxx 0000:02:01.1: Configure NVRAM parameters...
qla2xxx 0000:02:01.1: Verifying loaded RISC code...
qla2xxx 0000:02:01.1: Firmware image unavailable.
qla2xxx 0000:02:01.1: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.1: Failed to initialize adapter


Expected results:
initrd.img to include the firmwares from
  ql2100-firmware-1.19.38-1.fc8.1.noarch.rpm
  ql2200-firmware-2.02.08-1.fc8.1.noarch.rpm
  ql23xx-firmware-3.03.20-1.fc8.1.noarch.rpm
  ql2400-firmware-4.00.27-1.fc8.1.noarch.rpm
so that we do not regress against earlier versions of Fedora which can use the
disks just fine on QLA-only equipped blades

Additional info:

Comment 1 Peter Jones 2007-11-12 18:42:24 UTC
Created attachment 255551 [details]
replacement initrd.img with qlogic firmware built in

Comment 2 Peter Jones 2007-11-12 19:17:18 UTC
Created attachment 255621 [details]
x86_64 version of the updated image

Comment 3 Patrick C. F. Ernzer 2007-11-12 19:57:56 UTC
confirm that the initrd attached to Comment #1 allows installation.
Due to lack of an x86_64 machine with QLA HBA I can not test the initrd attached
to Comment #2

(for those following this bug, please do not that the fact that the system does
not boot after installation is a different bug. See Bug 378651 for that)

Comment 5 Patrick C. F. Ernzer 2007-11-13 17:08:00 UTC
small note: the firmware blob rpms do get installed (even though this bug and
378651 still apply, but at least they do end up on disk) bith in my kickstart
install and in a manual install
from rescue:
sh-3.2# rpm -qf /lib/firmware/ql* 
ql2100-firmware-1.19.38-1.fc8.1
ql2200-firmware-2.02.08-1.fc8.1
ql23xx-firmware-3.03.20-1.fc8.1
ql23xx-firmware-3.03.20-1.fc8.1
ql2400-firmware-4.00.27-1.fc8.1

Comment 6 Patrick C. F. Ernzer 2008-02-07 20:58:56 UTC
It would seem that Fedora 9 alpha has the same problem.

A system that has as only disks QLAxxxx attached drives claims that it cannot
find any disks when I try to install F9 alpha.

Strangely enough there is no text at all with the string 'qla' printed at bootup
of the F9 alpha anaconda.

What do you require me to test or collect so that we can make sure F9 release is
installable on these machines?

Comment 7 Janne Karhunen 2008-02-08 19:29:39 UTC
makeinitrd() in anaconda scripts/mk-images lacks support for qla completely.
Three liner patch I presume..

Comment 8 Jeremy Katz 2008-02-08 22:42:06 UTC
Added

Comment 9 Patrick C. F. Ernzer 2008-03-26 19:42:10 UTC
Jeremy,
did that fix make it into F9 beta?
If it did, then we have a problem as I still do not see any disks.

janne: it's a CPI1-A that I used for this test

In rescue mode I get (machine has 2 QLA HBAs):
# dmesg |grep qla
qla2xxx 0000:02:01.0: Found an ISP2312, irq 24, iobase 0xf88a4000
qla2xxx 0000:02:01.0: Configuring PCI space...
qla2xxx 0000:02:01.0: Configure NVRAM parameters...
qla2xxx 0000:02:01.0: Verifying loaded RISC code...
qla2xxx 0000:02:01.0: Firmware image unavailable.
qla2xxx 0000:02:01.0: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.0: Failed to initialize adapter
qla2xxx 0000:02:01.1: Found an ISP2312, irq 25, iobase 0xf88a4000
qla2xxx 0000:02:01.1: Configuring PCI space...
qla2xxx 0000:02:01.1: Configure NVRAM parameters...
qla2xxx 0000:02:01.1: Verifying loaded RISC code...
qla2xxx 0000:02:01.1: Firmware image unavailable.
qla2xxx 0000:02:01.1: Firmware images can be retrieved from:
ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.1: Failed to initialize adapter


and in lspci -vvv I see them as:
02:01.0 Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA
(rev 02)
        Subsystem: QLogic Corp. Unknown device 0101
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr+
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 24
        Region 0: I/O ports at 2000 [size=256]
        Region 1: Memory at fe600000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [4c] PCI-X non-bridge device
                Command: DPERE- ERO+ RBC=4096 OST=3
                Status: Dev=02:01.0 64bit+ 133MHz+ SCD- USC- DC=simple
DMMRBC=4096 DMOST=3 DMCRS=32 RSCEM- 266MHz- 533MHz-
        Capabilities: [54] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3
Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [64] CompactPCI hot-swap <?>

02:01.1 Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA
(rev 02)
        Subsystem: QLogic Corp. Unknown device 0101
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr+
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin B routed to IRQ 25
        Region 0: I/O ports at 2400 [size=256]
        Region 1: Memory at fe601000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [4c] PCI-X non-bridge device
                Command: DPERE- ERO+ RBC=4096 OST=3
                Status: Dev=02:01.1 64bit+ 133MHz+ SCD- USC- DC=simple
DMMRBC=4096 DMOST=3 DMCRS=32 RSCEM- 266MHz- 533MHz-
        Capabilities: [54] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3
Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [64] CompactPCI hot-swap <?>


Comment 10 Patrick C. F. Ernzer 2008-03-26 20:05:45 UTC
in addition to Comment #9
problem also exists on CPI1 (just tested one of those)
no surprise as it uses exactly the same HBA

Comment 11 Patrick C. F. Ernzer 2008-04-17 11:40:51 UTC
as of today this is still broken in rawhide

Comment 12 Jeremy Katz 2008-04-17 15:43:19 UTC
The firmware is in the initrd; something seems unhappy with the firmware loading
aspect

Comment 13 Peter Jones 2008-04-17 19:11:16 UTC
The kernel uevent API for firmware silently changed *again*.  This should work
again in anaconda-11.4.0.74-1 .

Comment 14 Patrick C. F. Ernzer 2008-04-23 17:58:32 UTC
damn, F9-Preview still has anaconda-11.4.0.73-2 so still broken there

my local rawhide mirror has anaconda-11.4.0.75-1 and that works fine as expected

so as long as anaconda-11.4.0.74-1 or later makes it into F9 final we're good.

Comment 15 Bug Zapper 2008-05-14 03:52:31 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 16 Patrick C. F. Ernzer 2008-06-13 21:36:05 UTC
Hmm, I can install a machine with F9 release just fine, but something is still
going wrong as after install it will not boot :-(

looks like the firmware blobs did not make it into the initrd.

What do you need from me to debug this?

Comment 17 Patrick C. F. Ernzer 2008-10-06 17:17:18 UTC
(In reply to comment #16)
> Hmm, I can install a machine with F9 release just fine, but something is still
> going wrong as after install it will not boot

Same problem under F10 Beta, machine installs but does not come up after install nagging that firmware is missing.

What can I do to help getting this fixed before F10 final?

Comment 18 Patrick C. F. Ernzer 2008-10-06 18:32:20 UTC
just to be complete, here's what I get on the serial console when booting after install.

0000:02:01.0: Firmware image unavailable.
qla2xxx 0000:02:01.0: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.1: Firmware image unavailable.
qla2xxx 0000:02:01.1: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
  Reading all physical volumes.  This may take a while...
  Volume group "VolGroup01" not found
Unable to access resume device (/dev/VolGroup01/LogVol01)
mount: error mounting /dev/root on /sysroot as ext3: No such file or directory
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
Mount failed for selinuxfs on /selinux:  No such file or directory
switchroot: mount failed: No such file or directory

Comment 19 Patrick C. F. Ernzer 2008-10-10 06:50:23 UTC
hmm, odd, when I unpack the initrd as follows
zcat /boot/initrd-2.6.27-0.398.rc9.fc10.i686.img.new | cpio -id
 or 
zcat /boot/initrd-2.6.27-0.352.rc7.git1.fc10.i686.img | cpio -id

the firmware is there
# ls -l firmware/
total 660
-rw-r--r-- 1 root root  76802 2008-10-10 09:37 ql2100_fw.bin
-rw-r--r-- 1 root root  84566 2008-10-10 09:37 ql2200_fw.bin
-rw-r--r-- 1 root root 123170 2008-10-10 09:37 ql2300_fw.bin
-rw-r--r-- 1 root root 132978 2008-10-10 09:37 ql2322_fw.bin
-rw-r--r-- 1 root root 228056 2008-10-10 09:37 ql2400_fw.bin

so why does it not find it? Looking at the initrd used to boot the installer I'd guess because the kernel expects them to be in lib/firmware and not firmware on the initrd.

mkinitrd-6.0.65-1.fc10.i386

initrd-2.6.27-0.398.rc9.fc10.i686.img.new was made in a rescue boot
initrd-2.6.27-0.352.rc7.git1.fc10.i686.img is the post install one.

Guess I should change the componen from anaconda to mkinitrd

Comment 21 Patrick C. F. Ernzer 2008-10-20 15:55:59 UTC
this is still present in rawhide today (not my mirror may lag by up to two days).
installs today use anaconda 11.4.1.50

Comment 22 Russell Doty 2008-10-20 16:03:32 UTC
Raised the priority and severity. Should the status be changed from "modified" to "fails QA", since this is reported as not working?

Comment 24 Patrick C. F. Ernzer 2008-10-30 16:09:48 UTC
latest test round with

anaconda-11.4.1.52-1
kernel-2.6.27.4-58.fc10
mkinitrd-6.0.68-1.fc10
pykickstart-1.46-1.fc10

still fails with the usual
qla2xxx 0000:02:01.0: Firmware image unavailable.
qla2xxx 0000:02:01.0: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
qla2xxx 0000:02:01.1: Firmware image unavailable.
qla2xxx 0000:02:01.1: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.

and then of course not mounting roots FS

do you need anything else or should I just continue testing 1-2 times a week and report back?

Comment 25 Patrick C. F. Ernzer 2008-11-04 15:19:29 UTC
mkinitrd-6.0.69-1.fc10

bug still present, can obviously work around it by unpacking initrd, moving the directory firmware to lib/firmware but mkinitrd should really be putting it in the right place. (or is the qla2xxx kmod lookign in the wrong place?)

Comment 26 Peter Jones 2008-11-04 20:18:30 UTC
Should be fixed in mkinitrd-6.0.70-1 .

Comment 27 Russell Doty 2008-11-04 21:29:03 UTC
Is mkinitrd-6.0.70-1 included in the Fedora 10 preview?

Comment 28 Patrick C. F. Ernzer 2008-11-05 13:13:53 UTC
(In reply to comment #27)
nope, F10 preview still has mkinitrd-6.0.69-1.fc10

Comment 30 Patrick C. F. Ernzer 2008-11-10 14:33:24 UTC
confirm this works with mkinitrd-6.0.70-1

system is bootable after rawhide install, looking inside initrd the firmwares are now in lib/firmware of the initrd and making a new initrd from the booted system gives the same result.

Thank you Peter.

Comment 31 Bug Zapper 2008-11-26 02:03:03 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 32 Patrick C. F. Ernzer 2008-12-08 15:49:33 UTC
(In reply to comment #30)
> confirm this works with mkinitrd-6.0.70-1

This bug remains fixed in F10 final. (mkinitrd-6.0.71-2.fc10)

System is bootable after installation. Unpacking the initrd created during install shows the firmwares being where they should be

Bug can be closed.

Comment 33 Hans de Goede 2008-12-15 10:29:44 UTC
(In reply to comment #32)
> (In reply to comment #30)
> > confirm this works with mkinitrd-6.0.70-1
> 
> This bug remains fixed in F10 final. (mkinitrd-6.0.71-2.fc10)
> 
> System is bootable after installation. Unpacking the initrd created during
> install shows the firmwares being where they should be
> 
> Bug can be closed.

Good, closing!

Comment 34 Hans de Goede 2008-12-15 10:31:57 UTC
*** Bug 466091 has been marked as a duplicate of this bug. ***