読者です 読者をやめる 読者になる 読者になる

Gentooでネットワークを自動起動できなかった件

気づいたらGentooで使用されているネットワークアダプタの名称がeth?からenp?S?になっていました。
で、Athlon 5350なマシンにGentooを入れた際にネットワークアダプタ自動起動するのに手間取ったのでそのときの対処メモ。

2014年6月10日追記

////ココカラ
より正しそうな設定を書きました→Gentooでネットワークを自動起動できなかった件 その2 - えぢた 2.2 @k_zoar
////ココマデ

実機でインストールを始める前に練習としてVirtualBoxでinstall minimalディスクでインストールした際には例えばenp0s3というような形で命名されており、その名称を使って設定すると自動起動ができました。

実機ではUbuntu14.04の日本語Remixを使ってインストールしました。
Ubuntuが稼働している状態ではネットワークアダプタがeth0で認識されており、Gentooをインストールしてから再起動してifconfig -aを実行するとenp2s0という名前で認識されていました。
enp2s0と言われたので

# ln -s /etc/init.d/net.lo /etc/init.d/net.enp2s0
# rc-update add net.snp2s0 default
# nano /etc/conf.d/net
dns_domain_lo="local.example.com"
config_enp2s0=( "192.168.10.14 netmask 255.255.255.0 brd 192.168.10.255" )
routes_enp2s0=( "default via 192.168.10.1" )

dns_servers_enps0=("192.168.10.1")

とかいう感じで設定して再起動。
これでは自動起動されず。

いろいろ教えてもらってGentoo Linux ドキュメント -- 高度な設定を参考に下記の設定を行いました。
前の設定の削除

# rc-update del enp2s0
# rm /etc/init.d/net.enp2s0

新しい設定

# udevadm test-builtin net_id /sys/class/net/eth0/ 2>/dev/null
ID_NET_NAME_MAC=%MACアドレス%
ID_OUI_FROM_DATABASE=ASRock Incorporation
ID_NET_NAME_PATH=enp2s0
# touch /etc/udev/rules.d/76-net-name-use-custom.rules
# nano /etc/udev/rules.d/76-net-name-use-custom.rules
SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_MAC}=="%MACアドレス%", NAME="eth0"
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
# rc-update add net.eth0 default
# nano /etc/conf.d/net
dns_domain_lo="local.example.com"
config_eth0=( "192.168.10.14 netmask 255.255.255.0 brd 192.168.10.255" )
routes_eth0=( "default via 192.168.10.1" )

dns_servers_eth0=("192.168.10.1")

このようにして再起動をしたところ、無事にネットワークアダプタはeth0として自動起動されました。

ネットワークアダプタの名称が違うルールで付けられるシステムからGentooをインストールするとこうなるんですかねぇ…。