私のシステムは最小カーネル構成(ベースmake defconfig
)で実行されています。
これで、システムのすべてが正しく機能するために追加のacpiデバイスドライバを有効にする必要があるかどうかを理解しようとしています。一致するドライバを見つけるには、有効にしてビルドして再起動してdmesgを確認してください。これは退屈でエラーが発生しやすいプロセスなので、システム情報に基づいて正しいドライバを選択できることを願っています。
lspci -nn
PCI または USB デバイスの場合、以下を活用して検索できます。vendorId:deviceId
ikB。
また、このデータベースにACPIエントリが表示されますが、私のシステムからACPIデバイス情報を抽出する方法はわかりません。
答え1
ACPI DSDT
解決策は、BIOSからダンプしてデコンパイル(差分システム記述テーブル)することです。これには、使用しているシステムに関連するACPIデバイス初期化コードと必要なデバイスIDが含まれます。
次のコマンドを使用してDSDTをデコンパイルします(インストールする必要iasl
があります)。
cp /sys/firmware/acpi/tables/DSDT dsdt.dat
iasl -d dsdt.dat
次に、デコンパイルされたコードでデバイスIDを照会します。
grep '_HID.*"' dsdt.dsl
出力には、デバイスとそのデバイスIDを宣言するすべての行が含まれます。最後のステップは、LKDDb
デバイスに必要なカーネルacpiドライバを見つけることです。
関連行をすばやく抽出するには、次のコマンドを使用できます。
wget https://cateee.net/sources/lkddb/lkddb.list
for i in $(grep '_HID.*"' dsdt.dsl | grep -o '"[A-Z0-9]*"'); do grep "$i" lkddb.list; done | sort -u > relevant
また、CONFIG_*
出力のすべての変数をリストします。
cat relevant | grep -o 'CONFIG[A-Z0-9_]*' | sort -u
このリストは参考用であり、偽の肯定または否定がないことを保証するものではありません。自分がしていることを確実に知りたい場合は、dsdt.dsl
自分で調べなければなりません。