O Linux no QEMU não pode montar o dispositivo de bloco

0

Eu estava tentando executar o kernel kernel2.6.34 no qemu. Consegui obter a configuração initramfs e, em seguida, o processo de inicialização foi executado tentando switch_root e montar os rootfs reais. O sistema de arquivos raiz é uma imagem raw do qemu com uma partição contendo um f3 ext3. No entanto, quando o processo de inicialização tenta montar /dev/sda1 , recebo um erro dizendo que não é um dispositivo de bloco.

Aqui estão os parâmetros do gerenciador de inicialização do qemu:

qemu-system-x86_64 -drive file=disk-img.raw,format=raw -kernel \ arch/x86/boot/bzImage -m 1024 -append "root=/dev/sda1"

Inspecionando a imagem de disco bruta com o fdisk como um dispositivo de loop na máquina host:

   Disk /dev/loop0: 512 MiB, 536870912 bytes, 1048576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb2dc7e32

Device       Boot Start     End Sectors  Size Id Type
/dev/loop0p1       2048 1048575 1046528  511M 83 Linux

e no host eu posso montar com sucesso a partição /dev/loop0p1 como dispositivo de bloco com um ext3 fs.

Alguma sugestão sobre o que eu poderia estar perdendo?

Saída de erro:

mount -t ext3 /dev/sda1 /newroot
mount: mounting /dev/sda1 on /newroot failed: Block device required
    
por dylan7 31.12.2016 / 06:38

0 respostas