その後、r8168ドライバのコンパイルが出来なくなりましたので、
新たに記事を起こしておきます。
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@server ~]# uname -r
3.10.0-693.11.6.el7.x86_64
目次
1. ひとまずmakeしてみる
Realtekのダウンロードセンターから、『LINUX driver for kernel up to 4.7』ドライバをダウンロードし、/rootに配置する。[root@server ~]# tar vjxf 0010-r8168-8.045.08.tar.bz2
[root@server ~]# cd r8168-8.045.08/
[root@server r8168-8.045.08]# make
(略)
make[2]: ディレクトリ `/usr/src/kernels/3.10.0-693.11.6.el7.x86_64' に入ります
CC [M] /root/r8168-8.045.08/src/r8168_n.o
In file included from /root/r8168-8.045.08/src/r8168_n.c:80:0:
/root/r8168-8.045.08/src/r8168.h:47:20: エラー: ‘ether_addr_copy’ が再定義されました
static inline void ether_addr_copy(u8 *dst, const u8 *src)
^
In file included from /root/r8168-8.045.08/src/r8168_n.c:42:0:
include/linux/etherdevice.h:231:20: 備考: 前の ‘ether_addr_copy’ の宣言はここです
static inline void ether_addr_copy(u8 *dst, const u8 *src)
^
(略)
2. ソースを編集してコンパイル
[root@server r8168-8.045.08]# vi src/r8168.h46行目
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
↓
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
[root@server r8168-8.045.08]# make
(略)
make[2]: ディレクトリ `/usr/src/kernels/3.10.0-693.11.6.el7.x86_64' に入ります
CC [M] /root/r8168-8.045.08/src/r8168_n.o
CC [M] /root/r8168-8.045.08/src/r8168_asf.o
CC [M] /root/r8168-8.045.08/src/rtl_eeprom.o
CC [M] /root/r8168-8.045.08/src/rtltool.o
LD [M] /root/r8168-8.045.08/src/r8168.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/r8168-8.045.08/src/r8168.mod.o
LD [M] /root/r8168-8.045.08/src/r8168.ko
(略)
成功したので、autorun.shを実行する
[root@server r8168-8.045.08]# ./autorun.sh
(SSHが切れるが、しばらくしたら再接続する)
[root@server ~]# ethtool -i enp2s0
driver: r8168
version: 8.045.08-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
3. 初期RAMDISKの再作成
初期RAMDISKを新しくしておく。[root@server ~]# cd /boot/
[root@server ~]# mv initramfs-$(uname -r).img initramfs-$(uname -r).img.bak
[root@server ~]# dracut /boot/initramfs-$(uname -r).img