Gracias a @bwDraco por la útil respuesta.
Estoy agregando algunos detalles aquí sobre cómo se ve este proceso en la práctica.
Primero, descargué y desempaqué Preboot.tar.gz
. Advertencia: esto no se descomprime en su propio directorio, así que cree primero un directorio para él.
Tenga en cuenta que esta utilidad es compatible con varios sistemas operativos diferentes. Sin embargo, solo describiré cómo funciona en Linux, ya que no ejecuto nada más. La documentación principal para esta utilidad es DOCS/Adapter_User_Guide.pdf
.
La versión de Linux de esta utilidad son dos ejecutables binarios, APPS/BootUtil/Linux_x64/bootutil64e
(64 bits) y
APPS/BootUtil/Linux32$ ls bootutil32
(32 bits). Y la documentación para bootutil es APPS/BootUtil/Docs/bootutil.txt
.
Entonces el archivo copiado APPS/BootUtil/Linux_x64/bootutil64e
a /usr/local/bin
, si tuviera que hacerlo ejecutable en primer lugar. Cuando lo ejecuté, obtuve
root@orwell:/home/faheem# bootutil64e -?
Connection to QV driver failed - please reinstall it!
Esto requirió la descarga iqvlinux.tar.gz
, que es un archivo de fuentes del módulo del kernel de Linux, desde https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/ .
Nota: hay un rpm allí, pero intentar convertirlo en un deb parece bastante inútil. Y ni siquiera parece contener un binario, solo archivos de origen y encabezados. Esto no es obvio, pero también se necesita el install
script en ese mismo directorio. Entonces corre
sh install
o similar al usuario (ejecutar un script extraño como root nunca es una buena idea), asegurándose de que iqvlinux.tar.gz
esté en el mismo nivel que el install
script.
Esto da la salida
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’)
Copiar el módulo del núcleo en su lugar a mano hace que el error desaparezca.
Antes de volver a flashear la tarjeta, esta es la salida de bootutil64e
la tarjeta:
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 001B213916B9 10:00.0 Gigabit YES PXE 1.3.21
Aquí está la transcripción de la sesión de la actualización. La opción combinada habilita las funciones PXE y UEFI. Tenga en cuenta que uno tiene que señalar la ubicación de la imagen de arranque con la FILE
opción:
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