Adding modules to FAI initrd

Stephan Hermann sh at sourcecode.de
Tue Sep 28 12:48:17 CEST 2010


Hi Chris,

On Tuesday, September 28, 2010 12:06:16 pm Chris Jewell wrote:
> Hi all,
> 
> I have a question, or perhaps even a feature request, concerning adding
> modules to the initrd that FAI builds for PXE booting, and subsequently
> for client installation.  My clients have Broadcom NetExtreme NICs that
> are PXE-enabled.  Unfortunately, the standard initrd that comes out of the
> Ubuntu (and Debian, AFAIK) repositories does not contain the bnx2 and
> bnx2e drivers required.  Therefore, these must be added to the initrd. 
> The way I currently get round the issue is to install the appropriate
> kernel package onto my server machine, edit the
> /etc/initramfs-tools/modules file, and do a mkinitramfs.  I then replace
> the FAI-built initrd with my custom one.  This seems to work, but is far
> from an elegant solution.  I wonder if it is possible to instruct FAI to
> build the initrd with the required modules (and, of course, add the
> modules to $NFSROOT/etc/initramfs-tools/modules as well)?

Actually they do. But as the initrd (better to say the initramfs) is created 
inside the chroot, you won't be able to detect those.
Therefore you need to do the following:

chroot into your nfsroot
edit /etc/initramfs-tools/modules

add bnx2 and bnx2e drivers to it.

make sure that inside your nfsroot the packages (for ubuntu):

linux-firmware
linux-firmware-nonfree

are installed.


For Debian you need to install the package versions of the non-free firmware 
stuff (sorry, I don't have the name right now)

After that, regenerate initramfs-tools inside your chroot with

update-initramfs -k all -u

and copy the resulting initrd from <nfs-chroot>/boot/initrd-<kernelversion>.gz 
to your tftpd directory


Regards,

\sh


-- 
OSS Developer / Ubuntu Developer
SysAdmin
JID: sh at sourcecode.de
http://shermann.name/


More information about the linux-fai mailing list