A inicialização falha pela mesma razão que na questão mencionada - apenas inicializar um kernel sem qualquer outra coisa não faz muito bem . Você deve fornecer um disco. Ou uma imagem initrd. Mas apenas habilitar o initrd não dá a você uma imagem initrd magicamente. Você precisa preparar um e fornecer ao qemu da seguinte forma:
qemu-system-i386 -kernel <your kernel> -initrd <your initrd image>
É bem provável que você também precise fornecer um disco.
Existem cerca de uma dúzia de maneiras de criar e usar discos para o qemu, então aqui eu explico apenas uma abordagem muito simples (veja aqui para mais).
Primeiro, crie um arquivo, por exemplo,
qemu-img create -f raw mydisk.img 1G
que criará um disco de 1 GiB.
Você pode usar isto da seguinte forma:
qemu <other options> -hda mydisk.img
Se o seu initrd espera algo (como um sistema utilizável) no seu disco, você precisa preenchê-lo primeiro montando-o no host local, por exemplo:
losetup /dev/loop0 mydisk.img
você pode tratar /dev/loop0
como qualquer outro dispositivo de bloco, ou seja, você pode executar fdisk
etc. Depois de criar partições e sistemas de arquivos, você pode montá-los e colocar o que precisa.
Uma abordagem alternativa é usar uma imagem ISO de instalação e anexá-la a um CD-ROM, por exemplo
qemu <other options> -hda mydisk.img -hdb myiso.img -boot d
Isto irá inicializar você no sistema no CD-ROM virtual, a partir daí você pode modificar seu disco como quiser.