源碼包
(1)使用管理員權(quán)限賬戶登錄服務(wù)器系統(tǒng),將驅(qū)動源碼包file.tar.gz上傳至系統(tǒng)下;
(2)解壓驅(qū)動源碼包:tar -zxvf file.tar.gz;
(注:常見壓縮包的解壓命令
tar –xvf file.tar
tar –zxvf file.tar.gz
tar –jxvf file.bz2
unrar e file.rar
unzip file.zip)
(3)在解壓后的src文件目錄下檢查是否存在xxxx.ko,如果不存在,則執(zhí)行make && make install命令編譯安裝驅(qū)動,否則執(zhí)行make install命令安裝驅(qū)動;
(4)執(zhí)行modprobe -r (驅(qū)動名稱) && modprobe (驅(qū)動名稱)命令重新加載驅(qū)動模塊;
(注:命令執(zhí)行后如果出現(xiàn)系統(tǒng)提示由于依賴導(dǎo)致無法正常移除驅(qū)動,可以按照系統(tǒng)所提示的依賴模塊名,執(zhí)行modprobe -r 模塊名 命令進行手動移除依賴模塊,再執(zhí)行modprobe [驅(qū)動名稱] 命令)
(5)執(zhí)行dracut -f -v命令更新initramfs文件,系統(tǒng)重啟后能正確自動加載新驅(qū)動模塊;
(注:不同的Linux發(fā)行版更新initramfs文件命令不同:Ubuntu發(fā)行版一般為update-initramfs; RedHat發(fā)行版一般為dracut -f -v;SLES發(fā)行版一般為mkinitramfs)
(6)在驅(qū)動源碼包解壓目錄以外的其他路徑下執(zhí)行modinfo(驅(qū)動名稱)命令,查看ko格式驅(qū)動模塊的存放路徑和確認驅(qū)動版本為新版本;
(7)執(zhí)行l(wèi)sinitrd /boot/initramfs-xxx.x86_64.img | grep -i (驅(qū)動名稱),確保更新后的initramfs文件中存在新驅(qū)動模塊xxxx.ko的存放路徑,且和上一步中查看到的路徑信息一致;
(8)執(zhí)行ethtool -i ethx命令(ethx是網(wǎng)口名稱)查看網(wǎng)卡驅(qū)動版本,確保為新驅(qū)動版本;
(9)重啟系統(tǒng),運行ethtool -i ethx命令再次查看網(wǎng)卡驅(qū)動版本,確保系統(tǒng)重啟后新驅(qū)動依然生效。
rpm包 驅(qū)動下載
(1)使用管理員權(quán)限賬戶登錄服務(wù)器系統(tǒng),將驅(qū)動rpm包上傳至系統(tǒng)下;
(2)若是安裝rpm包執(zhí)行:rpm -ivh igb-xxx.rpm,若是更新rpm包執(zhí)行:rpm -Uvh igb-xxx.rpm;
(注:命令執(zhí)行后如果出現(xiàn)系統(tǒng)提示缺少fileutils,則添加參數(shù)--nodeps)
(3)執(zhí)行modprobe -r (驅(qū)動名稱) && modprobe (驅(qū)動名稱)命令重新加載驅(qū)動模塊;
(注:命令執(zhí)行后如果出現(xiàn)系統(tǒng)提示由于依賴導(dǎo)致無法正常移除驅(qū)動,可以按照系統(tǒng)所提示的依賴模塊名,執(zhí)行modprobe -r 模塊名 命令進行手動移除依賴模塊,再執(zhí)行modprobe [驅(qū)動名稱] 命令)
(注:建議執(zhí)行如下步驟前先將initramfs文件備份)
(4)執(zhí)行dracut -f -v命令更新initramfs文件,系統(tǒng)重啟后能正確自動加載新驅(qū)動模塊;
(注:不同的Linux發(fā)行版更新initramfs文件命令不同:Ubuntu一般為update-initramfs; RedHat/CentOS發(fā)行版一般為dracut -f -v;SLES發(fā)行版一般為mkinitramfs)
(5)在驅(qū)動源碼包解壓目錄以外的其他路徑下執(zhí)行modinfo(驅(qū)動名稱)命令,查看ko格式驅(qū)動模塊的存放路徑和確認驅(qū)動版本為新版本;
(6)執(zhí)行l(wèi)sinitrd /boot/initramfs-xxx.x86_64.img | grep -i (驅(qū)動名稱),確保更新后的initramfs文件中存在新驅(qū)動模塊xxxx.ko的存放路徑,且和上一步中查看到的路徑信息一致;
(7)執(zhí)行ethtool -i ethx命令(ethx是網(wǎng)口名稱)查看網(wǎng)卡驅(qū)動版本,確保為新驅(qū)動版本;
(8)重啟系統(tǒng),運行ethtool -i ethx命令再次查看網(wǎng)卡驅(qū)動版本,確保系統(tǒng)重啟后新驅(qū)動依然生效。
deb包
(1)使用管理員權(quán)限賬戶登錄服務(wù)器系統(tǒng),將驅(qū)動deb包上傳至系統(tǒng)下;
(2)安裝deb包執(zhí)行 dpkg -i xxxx-xxx.deb 命令;
(3)運行 depmod -a 命令,更新模塊的依賴性;
(4)執(zhí)行update-initramfs -u命令更新initramfs文件,系統(tǒng)重啟后能正確自動加載新驅(qū)動模塊;
(注:可根據(jù)實際需求,將 initramfs 文件備份,一般存放路徑在/boot/initrd.img)
(5)執(zhí)行modinfo (驅(qū)動名稱)命令,查看ko格式驅(qū)動模塊的存放路徑和確認驅(qū)動版本為新版本;
(6)執(zhí)行l(wèi)sinitramfs /boot/initrd.img-xxx | grep -i xxxx,確保更新后的initramfs文件中存在新驅(qū)動模塊xxxx.ko的存放路徑,且和上一步中查看到的路徑信息一致;
(7)執(zhí)行ethtool -i ethx命令(ethx是網(wǎng)口名稱)查看網(wǎng)卡驅(qū)動版本,確保為新驅(qū)動版本;
(8)重啟系統(tǒng),運行ethtool -i ethx命令再次查看網(wǎng)卡驅(qū)動版本,確保系統(tǒng)重啟后新驅(qū)動依然生效。