Bug#509379: firmware not found on virtual floppy or virtual CDROM
Installing lenny amd64 on a Dell M600 blade server using PXE/netboot method.
bnx2 firmware required for network access.
Installer prompts for a floppy or USB device.
I attempted to mount an ext3 formatted floppy image, and an ISO CDROM
image, using the virtual device mechanisms of Dell's iDRAC remote
access/lights out solution. Both images contained the bnx2 firmware
file in the root directory. d-i wasn't able to recognise either.
Kernel messages revealed that the virtual floppy appeared to be
/dev/sda, but there was no partition table. Floppies don't normally
have partition tables, but I tried created a floppy image with a
partition table, and the kernel still complained.
Finally, I gave up on the virtual disks and just re-built initrd.gz with
the firmware file placed under /lib/firmware:
cpio -i < ../initrd
cp /tmp/bnx2-06-4.0.5.fw lib/firmware/
find . | cpio -o -H newc > ../initrd
bnx2-06-4.0.5.fw had been found in the relevant package on another
Another solution to this problem might be creating a non-free version of
initrd.gz for distribution, e.g. initrd-nonfree.gz. Users could then
choose it on the boot menu.