O erro é dizer que o seu cartão SD não está sendo visto ou está sendo apresentado incorretamente, então este não é um problema partição .
Verifique seu comando QEMU para a instância do sdcard e tente novamente.
No entanto, as partições no meu cartão SD não são reconhecidas corretamente : quando eu uso o arquivo * .img, o QEMU detecta as partições. Isso não acontece quando eu uso o cartão SD. Como o MacOSX não pode montar o ext4 nativamente, tentei instalar o osxfuse e o fusível-ext2. Agora eu posso montar meu sistema de arquivos ext4 sem problemas usando:
$ mount -t fuse-ext2 /dev/disk2s5 /mnt/sda5
Executando o QEMU, eu tento especificar o sistema de arquivos com rootfstype=fuse-ext2
, mas o QEMU ainda não detecta as partições. Na verdade, seja o que for que eu coloquei neste campo rootfstype
, recebo o mesmo erro:
VFS: Cannot open root device "sda5" or unknown-block(8,5): error -6
Please append a correct "root=" boot option; here are the available partitions:
0b00 1048575 sr0 driver: sr
1f00 65536 mtdblock0 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,5)
CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.26+ #2
Usando o seguinte comando, posso emular minha imagem Pi ( *.img
) com êxito (tanto do Arch Linux quanto do MacOSX :
$ qemu-system-arm -kernel path/to/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "console=ttyAMA0 root=/dev/sda5 rootfstype=ext4 rw" -hda /path/to/ArchLinuxARM-2014.06-rpi.img
Eu posso emular meu sistema Pi do cartão SD quando eu executo o QEMU a partir do Arch Linux (como descrito em este link ):
$ qemu-system-arm -kernel /path/to/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "console=ttyAMA0 root=/dev/sda5 rootfstype=ext4 rw" -hda /dev/sdd
Onde / dev / sdd é meu cartão SD reconhecido pelo Arch Linux. Então eu tento executar o mesmo de MacOSX , da seguinte forma:
$ qemu-system-arm -kernel path/to/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "console=ttyAMA0 root=/dev/sda5 rootfstype=fuse-ext2 rw" -hda /dev/disk2
(Observe que eu usei "fuse-ext2", que é um terceiro no MacOSX).
Desta vez partições não são detectadas e eu recebo o erro copiado acima.
Executando o arquivo *.img
em vez do cartão SD, três partições são detectadas: sda1
, sda2
, sda5
.
O erro é dizer que o seu cartão SD não está sendo visto ou está sendo apresentado incorretamente, então este não é um problema partição .
Verifique seu comando QEMU para a instância do sdcard e tente novamente.
Eu tenho o mesmo plano que você para usar o QEMU para emular o sistema do cartão SD no OS X. Além disso, encontrei o mesmo problema com você e me deparo com a mesma situação.
Até que encontrei este documento . No 3.6.6.3 Mac OS X, não há opções para discos rígidos.
‘/dev/cdrom’ is an alias to the first CDROM.
Currently there is no specific code to handle removable media, so it is better to use the change or eject monitor commands to change or eject media.
Acho que é por isso que sempre falhamos em emular o sistema do cartão SD.
Tags qemu raspberry-pi