もう迷走していますね。
始まりは Testing リポジトリとの決別
Debian 12 ベースの LMDE 6 を使い始めた時期は新しいバージョンの Mesa をインストールしたくて Testing リポジトリからいくつかのパッケージを積極的にインストールしていたのですが、時間が経つに連れて bookworm-backports リポジトリにも新しいバージョンのパッケージが配布されるようになってきました。
Testing リポジトリはもう使わないようにしようと考え出したのです。
ちょうど Linux Mint 22.1 がリリースされて LMDE にも新しい Cinnamon 6.4 が配布されるようになったので、LMDE 自体を再インストールして bookworm-backports だけでキレイに再構築してみることにしたのです。
r8168-dkms 8.051 を試してみた
ということで、bookworm-backports だけを使って LMDE を再構築したのですが、NIC ドライバーが r8169 のままなのです。r8169 ドライバーでもそんなに不便はないのですが、やはり r8168-dkms を使っていた時の通信速度は体感できるくらいに速かったので、また挑戦してみようと思ったのです。
Debian 12 のリポジトリで提供されている r8168-dkms は 8.051 でワタシの使っている Kernel 6.11 には対応していないらしいのですが、ちょうどいい機会なので試してみることにしました。
$ apt install r8168-dkms パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 状態情報を読み取っています... 完了 以下のパッケージが新たにインストールされます: r8168-dkms アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 4 個。 106 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,436 kB のディスク容量が消費されます。 取得:1 http://ftp.riken.jp/Linux/debian/debian bookworm/non-free amd64 r8168-dkms all 8.051.02-2 [106 kB] 106 kB を 0秒 で取得しました (1,234 kB/s) 以前に未選択のパッケージ r8168-dkms を選択しています。 (データベースを読み込んでいます ... 現在 544913 個のファイルとディレクトリがインストールされています 。) .../r8168-dkms_8.051.02-2_all.deb を展開する準備をしています ... r8168-dkms (8.051.02-2) を展開しています... r8168-dkms (8.051.02-2) を設定しています ... Loading new r8168-8.051.02 DKMS files... Building for 6.11.10-zen3 Building initial module for 6.11.10-zen3 Error! Bad return status for module build on kernel: 6.11.10-zen3 (x86_64) Consult /var/lib/dkms/r8168/8.051.02/build/make.log for more information. dpkg: パッケージ r8168-dkms の処理中にエラーが発生しました (--configure): installed r8168-dkms package post-installation script subprocess returned error exit status 10 initramfs-tools (0.142+deb12u1) のトリガを処理しています ... update-initramfs: Generating /boot/initrd.img-6.11.10-zen3
はい、ダメでした・・・。
make.log を見ろとのことなので見てみたのですが、いろんな箇所でコンパイルエラーが発生していました。ちょっと修正、くらいではなさそうでした。
$ dkms status r8168/8.051.02: added
dkms status コマンド確認してみると、ドライバーの情報自体は登録されてしまっていました。
r8168-dkms 8.054 も試してみた
ここまでは若干予想できていたので、実は r8168-dkms 8.054 のソースを再構築前に退避してあったのでした。/usr/src/r8168-8.054.00 を丸ごとコピーしておいたのです。
これを再び /usr/src 配下にコピーしなおして、dkms コマンドを直接発行して登録しちゃう作戦です。
$ sudo dkms add -m r8168 -v 8.054.00 Creating symlink /var/lib/dkms/r8168/8.054.00/source -> /usr/src/r8168-8.054.00
お、dkms add は成功しました。いい感じです。
$ sudo dkms build -m r8168 -v 8.054.00 -k 6.11.10-zen3 Sign command: /lib/modules/6.11.10-zen3/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Building module: Cleaning build area... make -j12 KERNELRELEASE=6.11.10-zen3 -C /lib/modules/6.11.10-zen3/build M=/var/lib/dkms/r8168/8.054.00/build......(bad exit status: 2) Error! Bad return status for module build on kernel: 6.11.10-zen3 (x86_64) Consult /var/lib/dkms/r8168/8.054.00/build/make.log for more information.
続いて dkms build コマンドですが、なんと再びエラーです。
仕方がないので再び make.log を確認してみます。
$ cat /var/lib/dkms/r8168/8.054.00/build/make.log DKMS make.log for r8168-8.054.00 for kernel 6.11.10-zen3 (x86_64) 2025年 1月 19日 日曜日 10:53:04 JST make: ディレクトリ '/usr/src/linux-headers-6.11.10-zen3' に入ります CC [M] /var/lib/dkms/r8168/8.054.00/build/r8168_n.o CC [M] /var/lib/dkms/r8168/8.054.00/build/r8168_asf.o CC [M] /var/lib/dkms/r8168/8.054.00/build/rtl_eeprom.o CC [M] /var/lib/dkms/r8168/8.054.00/build/rtltool.o LD [M] /var/lib/dkms/r8168/8.054.00/build/r8168.o ./tools/objtool/objtool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./tools/objtool/objtool) make[2]: *** [scripts/Makefile.build:448: /var/lib/dkms/r8168/8.054.00/build/r8168.o] エラー 1 make[2]: *** ファイル '/var/lib/dkms/r8168/8.054.00/build/r8168.o' を削除します make[1]: *** [/usr/src/linux-headers-6.11.10-zen3/Makefile:1951: /var/lib/dkms/r8168/8.054.00/build] エラー 2 make: *** [Makefile:236: __sub-make] エラー 2 make: ディレクトリ '/usr/src/linux-headers-6.11.10-zen3' から出ます
ん、なんか 8.051 の時よりは簡単そうなエラー内容ですね。glibc のバージョンが古いだけのようです。libc6 というパッケージを bookworm-backports から新しいのを持ってくれば行けそうですね。
![]() |
libc6 は 2.36 が限界でした・・・ |
なんと、libc6 は bookworm-backports に新しいバージョンが配布されていないようです。以前に Testing リポジトリから r8168-dkms をインストールした時は libc6 も持ってきていたんですね。
$ dkms status r8168/8.051.02: added r8168/8.054.00: added
dkms status コマンドで確認してみると、8.051 に加えて 8.054 まで登録されてしまっています。
そしてあきらめた
ということで、Linux Kernel 6.11 で r8168-dkms を使うには再び Testing リポジトリを有効化してあげないといけません。せっかく OS の再インストールまでして環境を再構築したのに、です。
もう一つは Linux Kernel 6.11 をあきらめて Linux Kernel 6.1 に戻る選択もありますが、NIC ドライバーを取るか Linux Kernel を取るかで、Linux Kernel を取ることにしました。
というわけで、bookworm-backports に Linux Kernel 6.11 を配信するなら r8168-dkms 8.054 も bookworm-backports に配信してくれよ、とグチりながらももう少し待ってみることにしました。