Linux VMをいじくり回していると、カーネルパニックが定期的に発生しますが、それはすべての有用な出力を理解できないもので押し上げてしまい、おそらく私には役に立たないでしょう。
パニックは主にinitramfs
フェーズ中に発生します。を使用していVirtualBox
ます。
通常のShift+ Pg Upは機能しません(私の場合)。
上にスクロールして、前に出てきたものの出力を見る別の方法はありますか?
Linux VMをいじくり回していると、カーネルパニックが定期的に発生しますが、それはすべての有用な出力を理解できないもので押し上げてしまい、おそらく私には役に立たないでしょう。
パニックは主にinitramfs
フェーズ中に発生します。を使用していVirtualBox
ます。
通常のShift+ Pg Upは機能しません(私の場合)。
上にスクロールして、前に出てきたものの出力を見る別の方法はありますか?
回答:
シリアルポート
シリアルポートは、 Linuxカーネルのサポートと、ほとんどのエミュレータがエミュレートすることを古いと信頼性の高い通信プロトコルのハードウェアです。
カーネルメッセージをホストファイルまたはコンソールにストリーミングすることができます。
VirtualBox:ブート時にカーネルパニック全体をキャプチャする方法| スタックオーバーフロー
QEMU:
問題を再現するための最小限のセットアップを次に示します。https://github.com/cirosantilli/linux-kernel-module-cheat/blob/b366bac0c5410ceef7f2b97f96d93d722c4d9ea6/kernel_module/panic.c
実際のハードウェア:シリアルポートはほとんどの最新のラップトップでは公開されていないため、残念です...
ソース。
Raspberry Piの場合:
シリアル代替
以下で言及されているような、より洗練された方法もあります。Linuxカーネルパニックの原因の特定| UnixおよびLinuxスタック交換
netdump:ネットワーク経由でトレースを送信します。
パニックがネットワークを壊さなかったと仮定します。これはシリアルよりも可能性が高いです。
シリアルを超える利点は次のとおりです。
最新のラップトップなど、シリアルに公開されていないシステムで動作します
シリアルケーブルの最大配線長は非常に限られているため、開発者間でリソースを共有するために会社のすべてのボードをリモートルームに配置する場合は問題があります。
例えば、あなたのターゲットがシリアル公開する場合、私が代わりに推薦するイーサネットサーバ、としかし、シリアルコネクタがあり、この1は:
kdump:パニック状態のカーネルを検査するセカンダリLinuxカーネルを起動します。何が間違っている可能性がありますか?
これらの方法はより柔軟ですが、信頼性は低くなります。
どのハイパーバイザーを使用していますか?
Shift+ Pg Upはほとんどすべての状況で正しいですが、仮想マシンがハングするか完全に起動しない場合は機能しない可能性があります。
Macの場合:「MacbookでShift + Fn D-padを上下に動かすとスクロールできます」。これは、Linuxサーバー(端末)でどのように上下にスクロールしますか?| スタックオーバーフロー