Terima kasih kepada @bwDraco untuk jawaban yang bermanfaat.
Saya menambahkan beberapa detail di sini tentang seperti apa proses ini dalam praktiknya.
Pertama, saya mengunduh dan membongkar Preboot.tar.gz
. Peringatan - ini tidak membongkar ke direktori sendiri, jadi buatlah direktori untuk itu terlebih dahulu.
Perhatikan bahwa utilitas ini mendukung sejumlah sistem operasi yang berbeda. Namun, saya hanya akan menjelaskan cara kerjanya di Linux, karena saya tidak menjalankan hal lain. Dokumentasi utama untuk utilitas ini adalah DOCS/Adapter_User_Guide.pdf
.
Versi Linux dari utilitas ini adalah dua executable biner, APPS/BootUtil/Linux_x64/bootutil64e
(64 bit), dan
APPS/BootUtil/Linux32$ ls bootutil32
(32 bit). Dan dokumentasi untuk bootutil adalah APPS/BootUtil/Docs/bootutil.txt
.
Saya kemudian menyalin file APPS/BootUtil/Linux_x64/bootutil64e
ke /usr/local/bin
, meskipun saya harus membuatnya dieksekusi terlebih dahulu. Ketika saya menjalankannya, saya mendapatkannya
root@orwell:/home/faheem# bootutil64e -?
Connection to QV driver failed - please reinstall it!
Ini kemudian diperlukan pengunduhan iqvlinux.tar.gz
, yang merupakan arsip sumber modul kernel Linux, dari https://sourceforge.net/projects/e1000/files/iqvlinux/1.2.0.3/ .
Catatan: ada satu rpm di sana, tetapi mencoba mengubahnya menjadi deb terlihat tidak ada harapan. Dan sepertinya tidak mengandung biner, hanya sumber file dan header. Ini tidak jelas, tetapi orang juga membutuhkan install
skrip di direktori yang sama. Lalu lari
sh install
atau mirip dengan pengguna (menjalankan skrip aneh sebagai root tidak pernah merupakan ide yang baik), memastikan bahwa ia iqvlinux.tar.gz
berada pada level yang sama dengan install
skrip.
Ini memberikan output
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’)
Menyalin modul kernel ke tempatnya dengan tangan membuat kesalahan hilang.
Sebelum memencet kartu, ini adalah output bootutil64e
untuk kartu:
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 001B213916B9 10:00.0 Gigabit YES PXE 1.3.21
Inilah transkrip sesi reflashing. Opsi kombo memungkinkan fungsionalitas PXE dan UEFI. Perhatikan bahwa kita harus menunjuk ke lokasi gambar boot dengan FILE
opsi:
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