build initrd for qla2xxx firmware
Mark Haney
mhaney at ercbroadband.org
Fri May 23 17:25:22 UTC 2008
Rick Stevens wrote:
> Mark Haney wrote:
>> Okay, I'm still unable to build a correct initrd to include the QLogic
>> 2300 FC card I have in a couple of machines. I've tried several
>> methods (from scripts to cracking open the existing initrd) and
>> nothing seems to work. The firmware IS on the system (via an RPM) and
>> the qla2xxx module gets loaded, but I cannot get it to load on boot.
>> initrd complains about the firmware not being available.
>>
>> Surely others out there have these cards in use still and keep there
>> systems up to date, so what am I doing wrong? Can someone walk me
>> through this. I have one system stuck at FC6 because the newer kernel
>> don't include the firmware and I can't upgrade until I can get this
>> resolved.
>
> Are you sure the firmware is in /lib/firmware? Check that directory
> and verify you have "ql2300_fw.bin" or "ql2322_fw.bin" there. Don't
> necessarily rely on the fact you have the RPM installed...something
> may have wiped the files.
I just ran mkinitrd -v -f /root/initrd-`uname -r`.img `uname -r` to
build a new initrd image, copied it to /boot/ and edited grub to use the
new image. No dice. But, and this is the weird part, the output of
mkinitrd SHOWS the firmware being included in the image:
copy from `/lib/modules/2.6.24.7-92.fc8/kernel/drivers/ata/pata_amd.ko'
[elf64-x86-64] to `/tmp/initrd.Jq3472/lib/pata_amd.ko' [elf64-x86-64]
copy from `/lib/modules/2.6.24.7-92.fc8/kernel/drivers/scsi/scsi_tgt.ko'
[elf64-x86-64] to `/tmp/initrd.Jq3472/lib/scsi_tgt.ko' [elf64-x86-64]
copy from
`/lib/modules/2.6.24.7-92.fc8/kernel/drivers/scsi/scsi_transport_fc.ko'
[elf64-x86-64] to `/tmp/initrd.Jq3472/lib/scsi_transport_fc.ko'
[elf64-x86-64]
copy from
`/lib/modules/2.6.24.7-92.fc8/kernel/drivers/scsi/qla2xxx/qla2xxx.ko'
[elf64-x86-64] to `/tmp/initrd.Jq3472/lib/qla2xxx.ko' [elf64-x86-64]
`/lib/firmware/ql2400_fw.bin' ->
`/tmp/initrd.Jq3472/lib/firmware/ql2400_fw.bin'
`/lib/firmware/ql2322_fw.bin' ->
`/tmp/initrd.Jq3472/lib/firmware/ql2322_fw.bin'
`/lib/firmware/ql2300_fw.bin' ->
`/tmp/initrd.Jq3472/lib/firmware/ql2300_fw.bin'
`/lib/firmware/ql2200_fw.bin' ->
`/tmp/initrd.Jq3472/lib/firmware/ql2200_fw.bin'
`/lib/firmware/ql2100_fw.bin' ->
`/tmp/initrd.Jq3472/lib/firmware/ql2100_fw.bin'
/sbin/lvm -> /tmp/initrd.Jq3472/bin/lvm
/sbin/lvm.static -> /tmp/initrd.Jq3472/sbin/lvm.static
/etc/lvm -> /tmp/initrd.Jq3472/etc/lvm
`/etc/lvm/lvm.conf' -> `/tmp/initrd.Jq3472/etc/lvm/lvm.conf'
So, based on this, the firmware really is part of the initrd image, it's
just not being used. Is that what I'm seeing?
--
Libenter homines id quod volunt credunt -- Caius Julius Caesar
Mark Haney
Sr. Systems Administrator
ERC Broadband
(828) 350-2415
Call (866) ERC-7110 for after hours support
More information about the fedora-list
mailing list