9

私はこれを実行しようとしていますが、何が間違っているのかわかりません。Debian.img (仮想デバイス マネージャーを使用した raw 形式のディスク - gui から libvirt への推測) を作成し、問題なく debian をインストールしました。今、私は自己コンパイルされたカーネルでこれを実行したいと考えています。作業中の(仮想)debianから.configファイルをコピーし、それ以上変更を加えませんでした。これが私がすることです:

    qemu-system-x86_64 -m 1024M -kernel /path/to/bzImage -hda /var/lib/libvirt/images/Debian.img -append "root=/dev/sda1 console=ttyS0" -enable-kvm -nographic

しかし、起動中に常にこのエラーメッセージが表示されます。

    [    0.195285] Initializing network drop monitor service
    [    0.196177] List of all partitions:
    [    0.196641] No filesystem could mount root, tried: 
    [    0.197292] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    [    0.198355] Pid: 1, comm: swapper/0 Not tainted 3.2.46 #7
    [    0.199055] Call Trace:
    [    0.199386]  [<ffffffff81318c30>] ? panic+0x95/0x19e
    [    0.200049]  [<ffffffff81680f7d>] ? mount_block_root+0x245/0x271
    [    0.200834]  [<ffffffff8168112f>] ? prepare_namespace+0x133/0x169
    [    0.201590]  [<ffffffff81680c94>] ? kernel_init+0x14c/0x151
    [    0.202273]  [<ffffffff81325a34>] ? kernel_thread_helper+0x4/0x10
    [    0.203022]  [<ffffffff81680b48>] ? start_kernel+0x3c1/0x3c1
    [    0.203716]  [<ffffffff81325a30>] ? gs_change+0x13/0x13

私が間違っていることは何ですか?誰か助けてください。-initrd オプションを渡す必要がありますか? 私はすでにこれを試しましたが、まだ運がありませんでした.

4

5 に答える 5

7

私は自分でそれを理解しました。しばらく経ちましたが、私が思い出したように、解決策は最初の ramdisk を提供することでした。これが、ハードウェアアクセラレーションで動作させる方法です。

コンパイル中

make defconfig

CONFIG_EXT4_FS=y
CONFIG_IA32_EMULATION=y
CONFIG_VIRTIO_PCI=y (Virtualization -> PCI driver for virtio devices)
CONFIG_VIRTIO_BALLOON=y (Virtualization -> Virtio balloon driver)
CONFIG_VIRTIO_BLK=y (Device Drivers -> Block -> Virtio block driver)
CONFIG_VIRTIO_NET=y (Device Drivers -> Network device support -> Virtio network driver)
CONFIG_VIRTIO=y (automatically selected)
CONFIG_VIRTIO_RING=y (automatically selected)

---> http://www.linux-kvm.org/page/Virtioを参照

config で paravirt を有効にする

GUEST でパフォーマンス カウンターを使用するために、HOST で NMI ウォッチドッグを無効にします。これは無視してかまいません。

cat /proc/sys/kernel/nmi_watchdog

---> http://kvm.et.redhat.com/page/Guest_PMUを参照

Qemu で開始

sudo qemu-system-x86_64 -m 1024M -hda /var/lib/libvirt/images/DEbian.img -enable-kvm -initrd /home/username/compiled_kernel/initrd.img-3.2.46 -kernel /home/username/compiled_kernel/bzImage -append "root=/dev/sda1 console=ttyS0" -nographic -redir tcp:2222::22 -cpu host -smp cores=2

KVM で開始

カーネル パス: /home/username/compiled_kernel/bzImage
初期化パス: /home/username/compiled_kernel/initrd.img-3.2.46
カーネル引数: root=/dev/sda1

誰かが同じ問題を抱えている場合、これが役立つことを願っています。

于 2014-11-12T15:05:24.370 に答える