我正在尝试通过 QEMU 模拟 Raspberry Pi,以下内容对我有用:
qemu-system-arm \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
-boot c \
-cpu arm1176 \
-drive "file=2019-04-08-raspbian-stretch-lite.img,if=scsi,cache=none,discard=ignore,format=raw" \
-kernel ./kernel-qemu-4.4.34-jessie \
-m 256M \
-machine type=versatilepb,accel=tcg \
-name packer-qemu \
-no-reboot \
-vnc 127.0.0.1:4 \
-net nic \
-net user,id=user.0,hostfwd=tcp::5555-:22
我可以通过 VNC5904
和 SSH 通过5555
(通过 VNC 启动 SSHd 后)。换句话说,网络似乎设置正确。
正如我发现的-net
该选项已被弃用支持-device
& -netdev
,所以我想将上面两个最后标志翻译为“new QEMU”。
看来新-device
标志迫使我选择一个驱动程序,而-net
.我喜欢明确性,但我如何知道默认/隐式驱动程序是什么?
以下示例中的端口转发似乎不再起作用(我无法通过 SSH 连接;连接超时):
qemu-system-arm \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
-boot c \
-cpu arm1176 \
-drive "file=2019-04-08-raspbian-stretch-lite.img,if=scsi,cache=none,discard=ignore,format=raw" \
-kernel ./kernel-qemu-4.4.34-jessie \
-m 256M \
-machine type=versatilepb,accel=tcg \
-name packer-qemu \
-no-reboot \
-vnc 127.0.0.1:4 \
-device e1000,netdev=user.0 \
-netdev user,id=user.0,hostfwd=tcp::5555-:22
我只是使用了错误的驱动程序吗?
QEMU 3.1.0
(从 Homebrew 安装)
(主机)MacOS10.14.4