Qemu で FreedomBox を実行する

Qemu で FreedomBox を実行する

私は走りたい最新のFreedomBoxイメージ私のUbuntuラップトップで。

FreedomBox イメージは DreamPlug、1.2 GHz Marvell Kirkwood 88F6281 SoC (ARM9E) 用であり、Ubuntu は v12.10 (3.5.0-17-generic i686) です。

カーネルとinitrdイメージを含むイメージファイルの最初のパーティション(vfat)を/mntにマウントしました。

$ sudo mount -o loop,offset=512 freedombox_14_nov_2011.img  /mnt/

Qemuを実行してみる

$ qemu-system-arm --version
QEMU emulator version 1.2.0 (Debian 1.2.0-2012.09-0ubuntu1), Copyright (c) 2003-2008 Fabrice Bellard
$ sudo qemu-system-arm -net dump -d cpu -M versatilepb -kernel /mnt/vmlinuz-3.0.0-kirkwood -initrd /mnt/initrd.img-3.0.0-kirkwood freedombox_14_nov_2011.img -append "root=/dev/ram0" 
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument

しかし、qemu ウィンドウの画面は黒のままです (数分経っても)。また、仮想ネットワーク インターフェイス経由では何も送信されません。

$ tcpdump -r qemu-vlan0.pcap
reading from file qemu-vlan0.pcap, link-type EN10MB (Ethernet)
$

qemu-system-armプロセスはCPU時間の1つのコアの100%を必要とし、qemu.logファイルは次のような行で(継続的に)埋め尽くされます。

[...]
PSR=800001d3 N--- A svc32
R00=00000004 R01=00025307 R02=00000010 R03=0002532b
R04=00000002 R05=005635db R06=00000000 R07=00000000
R08=00025326 R09=80007efd R10=007e94c5 R11=00000001
R12=0000882d R13=007ea3e8 R14=0055036c R15=0054f1bc
PSR=800001d3 N--- A svc32
R00=00000008 R01=00000000 R02=00000008 R03=0002532c
R04=00000093 R05=005635db R06=00000000 R07=007eaa74
R08=007eaa74 R09=80007efd R10=007e94c5 R11=00000001
R12=00000088 R13=007ea3e8 R14=0055036c R15=0054f5c4
PSR=600001d3 -ZC- A svc32
R00=00000008 R01=00000000 R02=00000008 R03=0002532c
R04=00000093 R05=005635db R06=00000000 R07=007eaa74
R08=007eaa74 R09=80007efd R10=007e94c5 R11=00000001
R12=00000088 R13=007ea3e8 R14=0055036c R15=0054f1bc
PSR=800001d3 N--- A svc32
[...]

を参照してくださいファイルビンの完全なログ(約400kb)。

私が何を間違っているのか、ヒントをくれる人はいませんか?

事前にどうもありがとうございました!

マヌエル

答え1

 qemu-system-x86_64 -m 1G freedombox-stable-free_buster_all-amd64.qcow2

今のところはここで動作します (ホストとして x86_64 上の Debian Stretch)。実際に使用するには、管理 Web インターフェイスに接続して、コマンドラインに似たものを追加する必要があります。

-device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:443

そうすると、freedombox https(ポート443)があなたのhttps://localhost:5555続行するには不明な証明書を許可する必要があります。

関連情報