Дякуємо @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
, що є архівом джерел модуля ядра Linux, з https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/ .
Примітка: там є оберти, але спроба перетворити його на деб виглядає досить безнадійно. І він навіть не містить бінарних, лише вихідних файлів та заголовків. Це не очевидно, але також потрібен 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
Ось стенограма запису. Комбінований варіант дозволяє функціонувати як 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