debian PXE安装preseed.cfg文件的内容,以确保安装networking固件

在使用PXE安装Debian时,使用preseed.cfg文件时遇到了问题。

我的网卡需要debian内核的firmware-bnx2软件包。

在PXE启动过程中,制造商允许系统设置其networking接口并访问initrd和内核,并开始安装。 在这个initrd中,我已经把考虑到的pressed的.fg文件。 但是在我安装这个bnx2软件包之前,安装不能自动完成。

我不知道如何在启动过程中安装bnx2软件包。 我认为这是可能的,通过指示

di hw-detect/load_firmware boolean true 

文件说

 # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. 

但是我不知道在哪里设置这个软件包以及如何安装它。

任何人都可以帮我吗?

非常感谢!

您可能想要将缺less的固件添加到debian-installer文件系统。 以下是如何继续。

首先是一些上下文:让我们承认我们已经configuration了PXEconfiguration为使用/ tftpboot作为TFTP根,并使用下面的“菜单”,而不是在pxelinux.cfg默认:

    默认安装标签安装
        菜单标签^安装
        菜单默认
        内核debian-installer / amd64 / linux
         append vga = 788 initrd = debian-installer / amd64 / initrd.gz auto = true interface = auto priority = critical url = http://192.0.2.5 preseed / url = http://192.0.2.5/my-custom-preseed .cfg console = ttyS1,115200n8

所以从那里:

  1. 去find你的inirtd.gz文件并展开它
     cd / tftpboot / debian-installer / amd64 /
     cp initrd.gz initrd.gz.orig
     mkdir -p tmp / initrd;  cd tmp / initrd
     zcat ../../inirt.gz |  cpio -iv 
  1. 你得到所需的固件,把它放在里面:
     apt-get install  - 只下载固件-bnx2 firmware-bnx2x
     cd / tftpboot / debian-installer / amd64 / tmp / initrd
     dpkg-deb -x /var/cache/apt/archives/firmware-bnx2_*.deb ../
     dpkg-deb -x /var/cache/apt/archives/firmware-bnx2x_*.deb ../
     cp -a ../lib/firmware lib / firmware
  1. 并重新构buildinitrd文件
     cd / tftpboot / debian-installer / amd64 / tmp / initrd
    找 。  -print0 |  cpio -0 -H newc -ov |  gzip -c> ../../initrd.gz

你完成了,试试看。

这可能是有点偏离的path,但我已经在iPXE作为实际的引导装载程序运气好。 除了其他的优势之外,它还有一个机制来和你的initrd一起加载一个内核模块。 查看http://ipxe.org/cmd/imgfetch?redirect=1作为例子。