If you own a SPARC system with a qla2xxx fibre channel adapter - SUN
Blade 1000/2000 for instance - you have been through a lot to get it
working with a recent kernel.
Before kernel 2.6.18 was released it worked out of the box but then the
firmware has been removed from the kernel(due to licence issues) and an
initramfs was required to boot such a system.
http://www.gentoo.org/proj/en/base/sparc/qla2xxx.xml was created to
assist users in creating such an initramfs.
Not any more!
In kernel 2.6.27 a new features has been added that allows you to
compile 3rd party (including non-GPL) firmwares directly into the
kernel.
To set it up you need to install the kernel
>=sys-kernel/vanilla-sources-2.6.27_rc1
or
>=sys-kernel/gentoo-sources-2.6.27
and the firmware for the qla2xxx adapter
sys-block/qla-fc-firmware
open up your kernel's menuconfig and set
Device Drivers --->
Generic Driver Options --->
External firmware blobs to build into the kernel binary
to "ql2200_fw.bin"
and
Device Drivers --->
Generic Driver Options --->
Firmware blobs root directory
to "/lib/firmware"
translated to .config this means:
CONFIG_EXTRA_FIRMWARE="ql2200_fw.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
Compile it, boot it and during the boot-process you'll see this line
that indicates that everything works as it should:
firmware: using built-in firmware ql2200_fw.bin
Please note, the linux kernel is GPL, the qla2xxx firmware is NOT. That
means you may not redistribute the resulting kernel image.
However, you may redistribute both, the linux kernel(source) and the
firmware seperatly(under the terms of their licences) and provide
instructions to others on how to compile it.
Blade 1000/2000 for instance - you have been through a lot to get it
working with a recent kernel.
Before kernel 2.6.18 was released it worked out of the box but then the
firmware has been removed from the kernel(due to licence issues) and an
initramfs was required to boot such a system.
http://www.gentoo.org/proj/en/base/sparc/qla2xxx.xml was created to
assist users in creating such an initramfs.
Not any more!
In kernel 2.6.27 a new features has been added that allows you to
compile 3rd party (including non-GPL) firmwares directly into the
kernel.
To set it up you need to install the kernel
>=sys-kernel/vanilla-sources-2.6.27_rc1
or
>=sys-kernel/gentoo-sources-2.6.27
and the firmware for the qla2xxx adapter
sys-block/qla-fc-firmware
open up your kernel's menuconfig and set
Device Drivers --->
Generic Driver Options --->
External firmware blobs to build into the kernel binary
to "ql2200_fw.bin"
and
Device Drivers --->
Generic Driver Options --->
Firmware blobs root directory
to "/lib/firmware"
translated to .config this means:
CONFIG_EXTRA_FIRMWARE="ql2200_fw.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
Compile it, boot it and during the boot-process you'll see this line
that indicates that everything works as it should:
firmware: using built-in firmware ql2200_fw.bin
Please note, the linux kernel is GPL, the qla2xxx firmware is NOT. That
means you may not redistribute the resulting kernel image.
However, you may redistribute both, the linux kernel(source) and the
firmware seperatly(under the terms of their licences) and provide
instructions to others on how to compile it.