make localmodconfig は素晴らしい
カーネルをビルドするときに、
1 ブートするマシンについているデバイス、特にルートファイルシステムをマウントするのに必要なストレージのドライバは、必ず含めなければいけない。
2 使わないドライバは、ビルド時間を短くするために、含めたくない。
ものです。
localmodconfig すると、こういうことができます。
1 使っているディストリビューションの、カーネル config ファイルを .config に複写する。
Fedora なら、
$ dnf download --source kernel
$ rpmbuild -bp rpmbuild/SPECS/kernel.spec
$ rpmbuild/BUILD/kernel-なんとか/configs/kernel-なんとかにある。
2 make localmodconfig すると、現在ロードされているモジュールと、それが依存するモジュールだけを残して、.config を小さくしてくれる。
詳しくは、 scripts/kconfig/streamline_config.pl のコメントを参照。
おまけ
Vmware Player 14 の scsi は、 fusion mpt だった。
Documentation 以下のいくつかの文書の訳
原文と同じ、GPL v2 で公開します。訳した日を書いとけばよかった。古いものがあったらごめん。
RaceHound -- Linux カーネルのロックのバグを見つけるツールです。これは、github にあります。
livepatch.txt -- リブートなしで、カーネルを修正する。
RTFP.txt -- RCU の歴史と論文
rcu-requirements -- RCU の要件。RCUについては、perfbook の9章が詳しいです。
lockdep-design.txt -- 実行時のロック検証
coccinelle.txt -- セマンティックパッチ作成。特定パターンのコーディングエラーも検出できるそうです。
sparse-txt -- 静的ソース解析。
lockstat.txt -- ロック統計
lockup-watchdogs.txt -- nmi_watchdog などの、名前と実装が少し変わったもの
thin-provisioning.txt -- シンプロビジョニングとスナップショット
gdb-kernel-debugging.txt -- qemu で、gdb remote カーネルデバッグする方法
path-lookup.txt -- rcu path walk とは
kgdb -- カーネルデバッグ
kmemleak.txt -- メモリリーク
kmemcheck.txt -- 未初期化メモリを使ったら警告
kasan.txt -- メモリの解放後使用と、境界はみ出し
bcache.txt -- SSD キャッシュ
gcov.txt -- カバレッジモニタ
kvm-mmu.txt -- NPT, EPT, シャドウページテーブル
xfs-delayed-logging-design.txt -- xfs 遅延ロギングは、メタデータ更新処理を高速にしました。
xfs-self-describing-metadata.txt -- xfs 自己記述メタデータは、ファイルシステム破壊の検出や原因究明に役立ちます。