KVMを用いて、カーネルイメージから直接起動したい...!(未解決)

というのは、需要としてはかなりありますよね. というわけで、以下のオプションを用いることでブートできる...はずなのですが!

/usr/local/kvm/88/bin/qemu-system-x86 -kernel /boot/vmliuz-2.6.28-15-generic -initrd /boot/initrd.img-2.6.28-15-generic -hda /dev/zero -append "root=/dev/hda rootdelay=90"

丁度virtio-pciを読みこんだ後に、

Begin: Loading essential drivers...
done.
...
Begin: Mounting for root file system
...
Begin: Waiting for root file system
Gave up wating for root device. Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root = (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/root does not exit. Dropping to a shell!

というメッセージが出て、busyboxが起動. どうしたらいいのだろう. こういうときはドキュメントを読んでみます. まずは initramfs のドキュメント

全ての 2.6 系 Linux カーネルgzip 圧縮された「cpio」フォーマットのアー
カイブを含んでおり、これはカーネルが起動する際に rootfs に展開されます。
展開後、カーネルは rootfs が「init」ファイルを含んでいるかどうか確認し、
あれば PID 1 ※として実行されます。

by http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ramfs-rootfs-initramfs.txt.html

ということは、rootfs を見つける前段階でコケてるってことですね. 次に、qemuのオプションを見てみます.

Use ‘-kernel’ to provide the Linux kernel image and ‘-append’ to give the kernel command line arguments. The ‘-initrd’ option can be used to provide an INITRD image.

When using the direct Linux boot, a disk image for the first hard disk ‘hda’ is required because its boot sector is used to launch the Linux kernel.

by http://www.qemu.org/qemu-doc.html#SEC34

めぼしい情報はみつからず. ドライバを確認してみるかなぁ.