私はUbuntu Wily HWEカーネルでLinux 4.2.0、Ubuntu 14.04を使用しています(これは私が実行しているものです)。
持つ不快なミスMacBook 11,4および11,5モデルでは、ラップトップは実際にはシャットダウンされず、Power down
カーネルメッセージに到達してからシャットダウンせずにフリーズするようです。このエラーにより、一時停止と再開ができなくなる可能性があります。興味深いことにreboot
、呼び出すときは表示されず、マシンを停止しようとしたときにのみ表示されます。
詳細はあまり関係ありませんが、何ですか?はい重要なのはデバッグ方法です。strace
カーネルのシャットダウン中にカーネルをデバッグし、何とか出力を観察する方法はありますか?電源遮断ロジックが原因でシステムコールが永久に中断され、奇妙な理由で返されないことが保証されます。どのシステムコールが機能していないかを把握できれば、引き続き把握できます。なぜ動作しません。シャットダウン障害を引き起こすハードウェアは正確に何ですか?
カーネル終了デバッグのための標準的な慣行はありますか?特別なハードウェアが必要ですか?カーネルのパッチを作成できますが、機能しないシステムコールが見つからない場合は、この問題をどこから見つけるべきかさえわかりません。
ベストアンサー1
実行すべき作業の概要は次のとおりです。
- ソースコードをダウンロードし、カーネルをコンパイルしてデバッグを有効にします(設定 - >カーネルハッキング)。
- kgdbパッチのインストール
- 別のコンピュータのシリアルポートを介してターゲットに接続します。ターゲットは他のマシンでも、qemuやbochsなどのエミュレータでもかまいません。
- ソースコードで終了ルーチンを識別します。
- gdbでブレークポイントを設定し、ブレークが表示されるまで段階的に進みます。
kgdb を使用してカーネルのデバッグを検索すると、これらの手順の詳細情報を見つけることができます。
これガイドデバッグ環境を設定するのに役立ちます。