私は見たこれ私は質問とほぼ同じことをしましたが、設定でinitrdを有効にして一時ルートファイルシステムを使用し、他の修正はありませんでしたが、まだ次のエラーが発生します。
qemu -kernel linux-3.16.1/arch/x86/boot/bzImage
このエラーの原因や回避策に関する提案はありますか?
答え1
起動失敗の理由は上記の問題と同じです -他の操作を行わずにカーネルを起動するだけでは、あまり効果がありません。。ディスクを提供する必要があります。またはinitrdイメージ。しかし、単にinitrdを有効にしても、魔法のようにinitrdイメージが提供されるわけではありません。次のように準備し、qemuに提供する必要があります。
qemu-system-i386 -kernel <your kernel> -initrd <your initrd image>
ディスクも提供しなければならない可能性が高い。
qemu用のディスクを作成して使用する方法は12種類ありますので、ここでは非常に簡単な方法だけを説明します。ここ詳細はこちら)。
まず、次のようなファイルを作成します。
qemu-img create -f raw mydisk.img 1G
これにより、1GiBディスクが作成されます。
次のように使用できます。
qemu <other options> -hda mydisk.img
initrdがディスクに何か(例えば利用可能なシステム)を要求する場合は、まずそれをlocalhostにマウントして埋める必要があります。たとえば、次のようになります。
losetup /dev/loop0 mydisk.img
/dev/loop0
他のブロックデバイスと同様に処理できます。つまり、fdisk
そのデバイスで実行できます。パーティションとファイルシステムを作成したら、それをマウントして必要なものを配置できます。
もう1つの方法は、マウントISOイメージを使用してCD-ROMとして添付することです。
qemu <other options> -hda mydisk.img -hdb myiso.img -boot d
これにより、必要に応じてディスクを変更できる仮想CD-ROMのシステムが起動します。