新しいデスクトップPCを購入しました。
マザーボード: ASRock Z370 Pro4
CPU: Intel Core i7-8700k
メモリ: 32GB
さっそく CentOS-7 をインストールしましたが、ネットワークカードを認識しませんでした。
結論としては、ドライバ e1000e の新しいバージョンを組み込む必要がありました。
カーネルに最初から組み込まれているモジュール
$ sudo lsinitrd /boot/initramfs-3.10.0-693.11.1.el7.x86_64.img | grep e1000e
-rw-r--r-- 1 root root 7 Nov 17 17:17 etc/modules-load.d/e1000e.conf
drwxr-xr-x 2 root root 0 Dec 15 10:36 usr/lib/modules/3.10.0-693.11.1.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e
-rw-r--r-- 1 root root 92972 Dec 5 09:43 usr/lib/modules/3.10.0-693.11.1.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
新しくモジュールをコンパイルしてインストールした後
$ sudo lsinitrd /boot/initramfs-3.10.0-693.11.1.el7.x86_64.img | grep e1000e
-rw-r--r-- 1 root root 7 Nov 17 17:17 etc/modules-load.d/e1000e.conf
drwxr-xr-x 2 root root 0 Dec 15 14:44 usr/lib/modules/3.10.0-693.11.1.el7.x86_64/updates/drivers/net/ethernet/intel/e1000e
-rw-r--r-- 1 root root 404584 Dec 15 14:44 usr/lib/modules/3.10.0-693.11.1.el7.x86_64/updates/drivers/net/ethernet/intel/e1000e/e1000e.ko
インストール手順
$ tar zxf e1000e-3.3.6.tar.gz
$ cd e1000e-3.3.6/
$ cd src/
$ vi nvm.c
nvm.c
/**
* e1000e_validate_nvm_checksum_generic - Validate EEPROM checksum
* @hw: pointer to the HW structure
*
* Calculates the EEPROM checksum by reading/adding each word of the EEPROM
* and then verifies that the sum of the EEPROM is equal to 0xBABA.
**/
s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw)
{
return 0;
}
$ make
$ sudo make install
$ sudo rmmod e1000e
$ sudo modprobe e1000e
$ sudo depmod -a
$ sudo dracut -f -v
最後、dracut でイメージも更新しておくことで、次回マシン起動時にも新しいほうのドライバが読み込まれます。