RTL8111D 用ドライバをインストールするには (2)
RTL8111 用ドライバをインストールするには (1) の続き.Realtek RTL8111D GbE 搭載の Intel D510MO に Ubuntu Linux 9.10 server, 64bit 版をインストールする際,手動で r8168 ドライバを認識させても,リブートすると r8169 ドライバに戻ってしまうのでした.
リブート後も r8168 ドライバを使うには
/etc/modprobe.d/blacklist.conf に,
blacklist r8169 alias eth0 r8168
とでも追加しておけばいいだろう,と思ったが全然効果がない.強制的に r8169.ko を削除 & depmod -a し,/lib/modules 以下の modules.alias から r8169 がなくなっても,やはりリブートすると r8169 ドライバに戻ってしまう.
どこにも r8169 ドライバはないはずなのに…と調べていくと,/boot/config-2.6.31-17-server に以下の記述を発見.カーネルに組み込まれているようだ.
CONFIG_R8169=m CONFIG_R8169_VLAN=y
これを削除するためにカーネル作り直しか,と思ったが,一瞬ですむ方法があった.
initramfsを作り直す必要がありそうです。
sudo cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.bak
としてバックアップを取って、
sudo mkinitramfs -o /boot/initrd.img-`uname -r` /lib/modules/`uname -r`
で作り直してみてください。
上記に従い,initramfs を作り直すと,/lib/modules の下に r8169.ko があっても,/etc/modprobe.d/blacklist.conf の効力で r8168 ドライバが正しく使われるようになった.
lsmod の結果から関連する行:
Module Size Used by r8168 70100 0