感谢@bwDraco的有用答案。
我在这里添加一些有关此过程在实践中的外观的详细信息。
首先,我下载并解压缩了Preboot.tar.gz
。警告-这不会解包到其自己的目录中,因此请首先为其创建目录。
请注意,该实用程序支持许多不同的操作系统。但是,我只描述它在Linux上的工作方式,因为我没有运行其他任何东西。该实用程序的主要文档是DOCS/Adapter_User_Guide.pdf
。
该实用程序的Linux版本是两个二进制可执行文件APPS/BootUtil/Linux_x64/bootutil64e
(64位)和
APPS/BootUtil/Linux32$ ls bootutil32
(32位)。并且bootutil的文档是APPS/BootUtil/Docs/bootutil.txt
。
然后,我将文件复制APPS/BootUtil/Linux_x64/bootutil64e
到/usr/local/bin
,尽管我必须首先使其可执行。当我运行它时,我得到了
root@orwell:/home/faheem# bootutil64e -?
Connection to QV driver failed - please reinstall it!
然后需要iqvlinux.tar.gz
从https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/下载,这是Linux内核模块源档案。
注意:那里有一个rpm,但是尝试将其转换为deb看起来非常无望。而且它甚至似乎都不包含二进制文件,而仅包含源文件和标头。这并不明显,但是也需要install
在同一目录中使用脚本。然后跑
sh install
或与用户相似(以root用户身份运行一个奇怪的脚本绝不是一个好主意),请确保iqvlinux.tar.gz
该install
脚本与该脚本处于同一级别。
这给出了输出
faheem@orwell:/usr/local/src/iqvlinux$ sh install
Extracting archive..OK!
make: Entering directory '/usr/local/src/iqvlinux/iqvlinux/src/linux/driver'
make -C /lib/modules/3.16.0-4-amd64/build SUBDIRS=/usr/local/src/iqvlinux/iqvlinux/src/linux/driver modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/nalioctldrv.o
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxnaldriver.o
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriveros_i.o
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriverpci_i.o
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdriverdevice_i.o
CC [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/linuxdrivermemory_i.o
LD [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.mod.o
LD [M] /usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.ko
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
make: Leaving directory '/usr/local/src/iqvlinux/iqvlinux/src/linux/driver'
Skipping removing QV driver - it does not exist...
Copying iqvlinux.ko driver file to /lib/modules directory...cp: cannot create regular file ‘/lib/modules/3.16.0-4-amd64/kernel/drivers/net/iqvlinux.ko’: Permission denied
Error: failed to copy driver (‘/usr/local/src/iqvlinux/iqvlinux/src/linux/driver/iqvlinux.ko’ -> ‘/lib/modules/3.16.0-4-amd64/kernel/drivers/net/iqvlinux.ko’)
手动复制内核模块可以使错误消失。
在刷新卡之前,这是卡的输出bootutil64e
:
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 001B213916B9 10:00.0 Gigabit YES PXE 1.3.21
这是刷新的会话记录。combo选项同时启用PXE和UEFI功能。请注意,必须使用以下FILE
选项指向启动映像的位置:
root@orwell:/home/faheem# bootutil64e -up=combo -all -FILE=/usr/local/src/Intel_Network_Card_Boot_Utility/APPS/BootUtil/BootIMG.FLB
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.6.39.1
Copyright (C) 2003-2017 Intel Corporation
Programming flash on port 1 with flash firmware image
Create restore image of NIC 1 before proceeding? (Y)es or (N)o: Y
Y
Saving flash firmware image on port 1 to file 10D34008.FLB...
Filename 10D34008.FLB already exists.
(O)verwrite/proceed or (S)top execution?: O
O
saved
Updating PXE+EFI removes PXE functionality.
Would you like to continue? (Y)es or (N)o: Y
Y
/
Flash update successful
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 001B213916B9 10:00.0 Gigabit YES UEFI,PXE Enabled 1.5.84