L'ho capito da solo. È passato del tempo, ma se ricordo bene la soluzione era fornire un ramdisk iniziale. Ecco come l'ho fatto funzionare con l'accelerazione hardware.
Compilazione
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)
---> vedi http://www.linux-kvm.org/page/Virtio
Abilita paravirt nella configurazione
Disabilita il watchdog NMI su HOST per l'utilizzo dei contatori delle prestazioni su GUEST. Puoi ignorarlo.
cat /proc/sys/kernel/nmi_watchdog
---> vedi http://kvm.et.redhat.com/page/Guest_PMU
Inizia a 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
Avvia in KVM
Percorso del kernel:/home/nomeutente/compiled_kernel/bzImage
Percorso initrd:/home/nomeutente/compiled_kernel/initrd.img-3.2.46
Argomenti del kernel:root=/dev/sda1
Spero che questo aiuti se qualcuno ha gli stessi problemi.