これに注意してください郵便はがき私の質問には完全に答えません。
Debian インストールのメモリダンプを確認しました。具体的には、カーネルメモリ空間をチェックし、現在のコードスニペットを手動で確認しました。コードスニペットを調べた後、メモリ内で実際にモジュール(例えばsky2.ko)に属するがlsmodまたは他のロギングメカニズムによってリストされていないフラグメントが適切であることがわかりました。
私はLKMの機能とカーネル自体に組み込まれたモジュールの存在を理解しようとしています。ただし、すべてのリソースを確認し、すべてのログを把握し、可能性のある依存関係を理解しようとした後でも、LKMが実際にいつどこでRAMにロードされるかについての質問に答えることはできません。
私が考慮していないロード/アンロードステップはありますか?たとえば、udevはLKMをロードし、いくつのステップ後に削除しますか?
lsmodを使用してすべてのクロスロード(LKM依存関係など)を解決できますか?これではないようですが?
LKMがロードされる可能性のあるすべてのブレークポイントを一覧表示する包括的なリソースはありますか?
予想:現在把握しているように、初期のRAMディスクは断片化を引き起こします(この素晴らしい内容を参照)。回答)。しかし、私の仮説をどのように確認できますか?
答え1
lsmod
ロード可能なモジュールのみが表示されます。
# lsmod
Module Size Used by
nls_iso8859_1 16384 0
vfat 20480 0
fat 77824 1 vfat
isofs 45056 0
(...)
残りはカーネル構成で利用できます。
# zless /proc/config.gz
または
# zgrep "=y" /proc/config.gz
ただし、これにはコンパイルされた「モジュール」(アクティブ化されたオプション)に加えて、いくつかの設定オプションも表示されます。