Kaynak Kodu ile Sürücüyü Derleme ve Yükleme
Shrnutí: Linux sürücüsü çekirdeke bağlı. İndirmeye yönelik Linux RPM sürücülerinin çoğu, her bir sürümün orijinal çekirdek sürümüne yöneliktir. Çekirdek belirli bir sürüme güncelleştirilmişse RPM sürücüsü artık güncelleştirilmiş çekirdek için uygun değildir. Bu KB, kaynak kodundan güncelleştirilmiş çekirdek için sürücüyü güncelleştirmeye yöneliktir. ...
Tento článek se vztahuje na
Tento článek se nevztahuje na
Tento článek není vázán na žádný konkrétní produkt.
V tomto článku nejsou uvedeny všechny verze produktu.
Pokyny
Bu KB'de X710 NIC'yi örnek olarak aacağız. Diğer tüm Linux kaynak kodları benzerdir.
Derleme için gerekli paketlerin kurulumu.
1. Sürücüyü Dell Support Portal'dan indirin.
2. Kaynak kodunu ayıklayın ve alın.
3a. Sorun: "make" komutunu çalıştırırken aşağıdaki gibi bir hatayla karşılaştıysanız
3b. Sorun: Yüklemeden önce sürücüyü test edin. "Required key not available" (Gerekli anahtar mevcut değil) hatasıyla karşılaştıysa sunucunun kendi kendine derlenmiş sürücüyü yüklemesine izin verilmiyor "Secure Boot" (Güvenli Önyükleme) etkin olduğu anlamına gelir. "Secure Boot" (Güvenli Önyükleme) özelliğini devre dışı bırakmak için BIOS'a önyüklenebilir.
4. Sürücüyü bu sunucuya yükleyin.
Ek:
Diğer sunuculara yüklemek için bu sürücüye dayalı RPM oluşturmak istiyorsanız (hedef sunucuda aynı çekirdek sürümü olmalıdır), rpm oluşturmak için aşağıdaki komutu çalıştırın.
Derleme için gerekli paketlerin kurulumu.
[root@rhel87 ~]# yum groupinstall "Development Tools" [root@rhel87 ~]# yum install kernel-devel-$(uname -r)
1. Sürücüyü Dell Support Portal'dan indirin.
2. Kaynak kodunu ayıklayın ve alın.
[root@rhel87 i40e]# tar xf Intel_LAN_21.5.0_Linux_Source_A02.tar.gz [root@rhel87 i40e]# cd Source/base_driver/ [root@rhel87 base_driver]# tar xf i40e-2.20.12.tar.gz [root@rhel87 base_driver]# cd i40e-2.20.12/ [root@rhel87 i40e-2.20.12]# ls COPYING i40e.7 i40e.spec pci.updates README scripts src SUMS root@rhel87 i40e-2.20.12]# cd src/ [root@rhel87 src]# ls auxiliary.c i40e_client.h i40e_diag.c i40e_hmc.c i40e_ptp.c i40e_virtchnl_pf.c kcompat_impl.h linux auxiliary_compat.h i40e_common.c i40e_diag.h i40e_hmc.h i40e_register.h i40e_virtchnl_pf.h kcompat_overflow.h Makefile common.mk i40e_dcb.c i40e_ethtool.c i40e_lan_hmc.c i40e_status.h i40e_xsk.c kcompat_rhel_defs.h Module.supported i40e_adminq.c i40e_dcb.h i40e_ethtool_stats.h i40e_lan_hmc.h i40e_trace.h i40e_xsk.h kcompat_sles_defs.h virtchnl.h i40e_adminq_cmd.h i40e_dcb_nl.c i40e_filters.c i40e_main.c i40e_txrx.c kcompat.c kcompat_std_defs.h i40e_adminq.h i40e_ddp.c i40e_filters.h i40e_nvm.c i40e_txrx_common.h kcompat_defs.h kcompat_ubuntu_defs.h i40e_alloc.h i40e_debugfs.c i40e.h i40e_osdep.h i40e_txrx.h kcompat_gcc.h kcompat_vfd.c i40e_client.c i40e_devids.h i40e_helper.h i40e_prototype.h i40e_type.h kcompat.h kcompat_vfd.h3. Sürücüyü derle.
[root@rhel87 src]# make *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1]: Entering directory '/usr/src/kernels/4.18.0-80.el8.x86_64' /root/i40e/Source/base_driver/i40e-2.20.12/src/Makefile:38: 2 CC [M] /root/i40e/Source/base_driver/i40e-2.20.12/src/i40e_main.o ...skipped... LD [M] /root/i40e/Source/base_driver/i40e-2.20.12/src/i40e.o CC [M] /root/i40e/Source/base_driver/i40e-2.20.12/src/auxiliary.o Building modules, stage 2. /root/i40e/Source/base_driver/i40e-2.20.12/src/Makefile:38: 2 MODPOST 2 modules CC /root/i40e/Source/base_driver/i40e-2.20.12/src/auxiliary.mod.o LD [M] /root/i40e/Source/base_driver/i40e-2.20.12/src/auxiliary.ko CC /root/i40e/Source/base_driver/i40e-2.20.12/src/i40e.mod.o LD [M] /root/i40e/Source/base_driver/i40e-2.20.12/src/i40e.ko make[1]: Leaving directory '/usr/src/kernels/4.18.0-80.el8.x86_64' [root@rhel87 src]# echo $? 0 [root@rhel87 src]# modinfo ./i40e.ko filename: /root/i40e/Source/base_driver/i40e-2.20.12/src/./i40e.ko version: 2.20.12 license: GPL description: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver author: Intel Corporation, <e1000-devel@lists.sourceforge.net> rhelversion: 8.0 srcversion: A92CB6A1AD515E14A84C283 alias: pci:v00008086d0000158Bsv*sd*bc*sc*i* ...skipped... alias: pci:v00008086d00001572sv*sd*bc*sc*i* depends: auxiliary name: i40e vermagic: 4.18.0-80.el8.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: l4mode:L4 cloud filter mode: 0=UDP,1=TCP,2=Both,-1=Disabled(default) (int) [root@rhel87 src]#
3a. Sorun: "make" komutunu çalıştırırken aşağıdaki gibi bir hatayla karşılaştıysanız
common.mk:82: *** Kernel header files not in any of the expected locations. common.mk:83: *** Install the appropriate kernel development package, e.g. common.mk:84: *** kernel-devel, for building kernel modules and try again. Stop."Kernel-devel" paketinin aynı çekirdek sürümü yüklü olduğundan emin olun. (İlk adımda)
[root@rhel87 ~]# yum install kernel-devel-$(uname -r)
3b. Sorun: Yüklemeden önce sürücüyü test edin. "Required key not available" (Gerekli anahtar mevcut değil) hatasıyla karşılaştıysa sunucunun kendi kendine derlenmiş sürücüyü yüklemesine izin verilmiyor "Secure Boot" (Güvenli Önyükleme) etkin olduğu anlamına gelir. "Secure Boot" (Güvenli Önyükleme) özelliğini devre dışı bırakmak için BIOS'a önyüklenebilir.
[root@rhel87 src]# modprobe -r i40e [root@rhel87 src]# insmod ./i40e.ko insmod: ERROR: could not insert module ./i40e.ko: Required key not available
4. Sürücüyü bu sunucuya yükleyin.
[root@rhel87 src]# make install5. Sunucuyu yeniden başlatın ve yeni sürücü önyüklemeden sonra otomatik olarak yüklenir.
Ek:
Diğer sunuculara yüklemek için bu sürücüye dayalı RPM oluşturmak istiyorsanız (hedef sunucuda aynı çekirdek sürümü olmalıdır), rpm oluşturmak için aşağıdaki komutu çalıştırın.
[root@rhel87 src]# cd ../.. [root@rhel87 base_driver]# ls -lh i40e-2.20.12.tar.gz -rw-r--r-- 1 5714316 1049089 673K Jul 11 2022 i40e-2.20.12.tar.gz [root@rhel87 base_driver]# rpmbuild -tb i40e-2.20.12.tar.gz ...skipped... [root@rhel87 base_driver]# ls /root/rpmbuild/RPMS/x86_64/Rpm'yi yüklemek için hedef sunucuya kopyalama.
Dotčené produkty
Red Hat Enterprise Linux Version 6, Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8Vlastnosti článku
Číslo článku: 000211258
Typ článku: How To
Poslední úprava: 19 pro 2024
Verze: 3
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.