足りないカーネルモジュールを知る

カーネルを自前ビルドしてると,いざという時にいくつか機能が足りなくて頭を抱える事がままある.

怒られたやつつっこんでビルドしてリブートするもまだ足りなくて……
みたいなのはもうやめたいと考えていたが,良い方法を知ったので以下紹介


#!/bin/sh
echo "$@" >> /tmp/modprobe.log
exec /sbin/modprobe "$@"
view raw modprobe hosted with ❤ by GitHub

これを/tmp/modprobeに配置
それから,
$ chmod a+x /tmp/modprobe
最後に
$ echo /tmp/modprobe | sudo tee /proc/sys/kernel/modprobe
これでカーネルが機能が足りないとき,modprobeをしようとして/tmp/modprobeを呼ぶ.
すると,modprobeしようとしている内容が/tmp/modprobe.logに出るわけだ.
あとはそのモジュールについて,カーネルコンフィグしてリビルドすれば良い