Como se constatou, o QEMU não suporta o kernel arm11v6 usado no pi - você precisa para criar uma versão ligeiramente diferente que aparentemente ainda será executado no QEMU junto com os binários raspbian.
[Eu re-intitulei isso para a posteridade, uma vez que ele se torna um pouco centralizado em framboesa-pi]
Gostaria de testar o QEMU como uma alternativa para compilação cruzada. Eu estou usando v. 1.0.1 no fedora 17 [mais tarde: os mesmos resultados com 1.6 construídos a partir da fonte], a imagem do convidado é para arm11. Estou invocando:
qemu-system-arm -cpu arm1176 -m 256 -kernel [kernel] -append "root=/dev/sda" -hda [fs.img] -M versatilepb -D log.txt
Isso não produz saída e exibe uma janela em branco. Eu posso ctrl-alt-2
para obter o prompt "qemu monitor", mas não tenho idéia de como usar isso para me dizer algo sobre o estado.
Eu sou absolutamente positivo no kernel e a imagem fs é válida, já que eles foram tomados juntos do sistema atual. Eu também tentei imagens e kernels publicamente disponíveis usando instruções disponíveis on-line para o dispositivo - é aqui que eu tenho o básico da linha de invocação. Estou familiarizado com a criação e uso de imagens do sistema de arquivos brutos em geral.
O sistema emulado é de um pi de framboesa e há um longo segmento de pessoas principalmente descrevendo o sucesso com o qemu (embora, como mencionado, eu não possa duplicar seus resultados). No entanto, esta não é uma questão relacionada com linux ou rpi, é uma questão (ou três) sobre o qemu:
O QEMU pode comentar sobre o estado do emulador? Existe alguma maneira de fazê-lo relatar algo - qualquer coisa - sucesso - fracasso - eventos - qualquer coisa? Note que ele nem mesmo cria "log.txt", especificado com a opção -D
, independentemente de eu "sair" através do prompt do monitor ou simplesmente matar o processo.
O fato de que isso maximiza completamente um processador indica alguma coisa? Eu presumo que não deveria estar fazendo isso.
O shell do monitor pode ser usado para depurar esse tipo de problema?
Noto que, se eu usar qemu-system-x86_64 -kernel [hostkernel]
, a janela do emulador aparece e mostra a saída de uma inicialização do kernel, portanto, a janela em branco com -arm
indica que isso não é um bom começo. Eu só gostaria de tentar descobrir por que .
Como se constatou, o QEMU não suporta o kernel arm11v6 usado no pi - você precisa para criar uma versão ligeiramente diferente que aparentemente ainda será executado no QEMU junto com os binários raspbian.
Tags virtualization qemu linux