web-dev-qa-db-ja.com

カーネルとQEMU:ルートfsエラーをマウントできません

カーネルを実験してデバッグできるように、カスタムカーネルを使用して仮想ディスクイメージでディストリビューションを実行しようとしています。私は this に従ってディスクイメージを作成し、それにDebianをインストールしました。今私は次のコマンドでディストリビューションを実行してみました:-

qemu-system-i386 -hda debian.img -kernel ../linux-3.6.11/Arch/i386/boot/bzImage -append "root=/dev/sda1"

私の失望には、Kernel panic-not syncing:VFS:unable to mount root fs on unknown-block(8,1)を与えるだけです。どうすれば問題を解決できますか?カーネルデバッグに関する限り、私は正しい道を進んでいますか?

7
PaulDaviesC

カーネルのデバッグをすぐに開始する必要はないと思います。このエラーメッセージは、カーネルが/になるように要求したパーティションをマウントできないことを意味します。これは、たとえば、空のディスクイメージを与えた場合に発生します(私の考えはこれがあなたのケースです)-VMのカーネルはパーティション分割されていないドライブを参照しますが、/dev/sda1はありません/dev/sdaのみ。これを克服するには、使用したガイドの指示に従ってください。起動可能なISOイメージをダウンロードし、それを使用してシステムをVMイメージにインストールします。RAWディスクイメージが使用すると、gdiskfdiskpartedなどのユーティリティで直接パーティション化できます。

もう1つの可能性は、カーネルにドライバがないファイルシステムをマウントしようとしていることです。これは通常、ほとんどのドライバーがinitrdのロード可能なモジュールにあり、initrdがロードされていないカーネルを使用する場合に発生します(そのため、カーネルには特定のファイルシステムを理解する機能がありません)。

4
peterph