ネットワークデバイスドライバを一からビルドしてインストールした
概要
新し目のコンピュータにDebianを入れたら、ネットワークデバイスドライバが入ってなくて結構大変だった。
経緯
最近、自分の使っていたコンピュータ(6年前くらいのデスクトップ)に限界を感じ始めたので、日本橋で新しいものを買ってくることにした。購入に当たっては、換装が難しいCPUをCorei7 8700kに決定し、フィーリングで選ぶことにした。日本橋を端から端まで歩き回って、結局LM-iH700XD1-EX4を買った。
Windows10をDebian streachで上書きして起動すると、ネットワークドライバが入ってないことがわかった。マザーボードが新しすぎるのでドライバがDebianに取り込まれていないのだろう。こういう場合は自前でドライバをビルドする必要がある。
NIC(Network Interface Card)の型番を調べる
まず、NICの型番を調べる。商品のスペックを確認したが、「LAN:10/100/1000BASE-T LAN(オンボード)」としか書いていない。マザーボードの方には「マザーボード:Intel B360 Micro ATX LGA1151」と書いてあった。オンボードのNICなのだから、たぶん「Intel B360」のほうが関係しているのだろうと考えられる。ここから「Intel B360 network driver」などで検索して一時間ほど頑張ったが、なんの成果も得られなかった。
% lspci (省略) 00:1f.6 Ethernet controller: Intel Corporation Device 15bc (rev 10)
なるほど、「Intel Corporation Device 15bc linux driver」で検索すれば良さそうである。検索すると、Linux Kernel Driver DataBaseがトップに出てきた。「15bc 」でページ検索すると
vendor: 8086 ("Intel Corporation"), device: 15bc ("Ethernet Connection (7) I219-V")
が出てくる。「I219-V linux driver」で検索してみると「e1000e」の最新のドライバを入れればいいらしい?
そこで、もうどこで見たのか忘れたけど Intel Ethernet Drivers and Utilities の最新版をインストールすればいいらしい。(検索しすぎて記憶がないorz)
makeを入れる
というわけでe1000e-3.4.2.1.tar.gzをビルドする。 ネットワークに繋がらないので別のパソコンでファイルをダウンロードしてUSBメモリでコピーした。
展開して、make install
すると...make
コマンドが入ってないと言われた。
Debianのインストール元のlive USBをマウント後、apt install build-essential
で入れた。
最初から入れといてほしい...
デバイスドライバをビルドする
e1000e-3.4.2.1.tar.gz
を展開して、make install
するとカーネルのヘッダファイルが足りないと言われた。
% uname -a Linux gley 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
4.9.0-8-amd64
のヘッダファイルが必要なようだ。別のパソコンで該当のdebファイルを落としてきてdpkg -i
で入れる。ちなみにcommon
とamd64
の両方が必要だった。
その後、再度make install
。
再起動するとネットワークに繋がっていた。
ネットワークデバイスドライバをインストールできた〜〜〜〜嬉しい〜〜〜〜
— a_kawashiro (@a_kawashiro) September 27, 2018
まとめ
新し目のパソコンでLinuxを動かすのは大変。 ただドライバをビルドしてインストールする作業は初めてで勉強になった。 もうやりたくない。
ちなみにオーディオデバイスドライバが入っていないので音は出ない。 そのうち頑張る。
このマザーボード新しすぎて音も出せないwww
— a_kawashiro (@a_kawashiro) September 27, 2018