LoginSignup
0
0

More than 1 year has passed since last update.

Gentooでカーネルモジュールを消して、ネットに繋げなくなったときの対処方法

Posted at

ネットに繋がらない?

PCを立ち上げ、emerge --sync を行うと警告が表示された。
ping コマンドを実行すると、ネットに繋がらないと警告が。

ip addr コマンドを実行すると、普段なら表示されていたネットワークカードが表示されない。

消してしまっていた

lspci コマンドを打った時に出たメッセージ: lspci: Unable to load libkmod resources: error -2 を参考に、対処法を探していると以下の記事を見つけた。

[SOLVED] Network cards not detected after system upgrade

そういえば、カーネルのアップグレードを行っていて、何か消したかもしれない。

以下コマンドを実行し、過去に打ったコマンドを探すと、

$ history | grep rm
  193 rm -rf /lib/modules/5.10.52-gentoo-x86_64/
  195 rm -rf /lib/modules/5.13.7-gentoo-x86_64/

5.13.7 にアップグレードを行い、後片付けとして使わなくなった 5.10.52 を削除する作業を行っていたが、どちらとも消してしまっていた。。。

解決方法

本来なら、/usr/src/linux にあるカーネルソースをもう一度ビルドすればいいが、普通に消してしまっていた。
なので、Gentoo インストール時に用いた LiveUSB を使って、emerge sys-kernel/gentoo-sources でカーネルソースをダウンロードして、ビルドを行う。

AMD64 Handbook の Entering the new environmentTip に記載されている通りに進めていく。

  1. Mounting the root partition にあるコマンドで、ルートパーティションをマウントする。

  2. Mounting the necessary filesystems にあるコマンドで、必要不可欠なファイルシステムをマウントする。

  3. Entering the new environment にあるコマンドで、Gentoo がインストールされたシステムに入る。

  4. Mounting the boot partition にあるコマンドで、ブートパーティションをマウントする。

  5. 既存システムに入れたので、 emerge --sync を行い、 emerge -av sys-kernel/gentoo-sources でカーネルソースのダウンロードを行う。
    ダウンロードが完了したら、eselect kernel list でダウンロードしたカーネルソースが表示されていることを確認し、シャットダウン。LiveUSBを抜く。

  6. 再起動後、eselect kernel set x(x は eselect kernel list で表示されたカーネルソースの番号を指定) で /usr/src/linux のリンク先をダウンロードしたカーネルソースに向ける。

  7. cd /usr/src/linux でカーネルソースまで移動し、genkernel all でビルド。

  8. カーネルのビルド後、grub-mkconfig -o /boot/grub/grub.cfg で grubの設定を更新。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0