如何在 qemu 中使用 '-netdev user, hostfwd=...' 选项?

How to use '-netdev user, hostfwd=...' option in qemu?

感谢您阅读我的问题。 我将在 QEMU 环境中调试 mips 程序集。 但是我遇到了一些问题。

我输入了这个命令
qemu-system-mipsel -M malta -kernel vmlinux-2.6.32-5-5kc-malta -hda debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/sda1" -redir tcp:4444::4444 -nographic

qemu-system-mipsel 告诉我一个错误
-redir tcp:4444::4444: The -redir option is deprecated. Please use '-netdev user,hostfwd=...' instead.

如果不推荐使用 -redir 选项,如何使用 -netdev 选项更改我的命令???

更奇怪的是qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1" -redir tcp:4444::4444 -nographic命令在debian_wheezy_mipsel环境下成功了!

这只是 debian_squeeze_mipsel 问题吗?

但是我不能用debian_wheezy_mipsel...这个版本不能很好地运行apt-get package。因此,我无法使用 gdb 或 gcc 调试 mips 二进制文件。

谢谢:)

QEMU 项目记录了 https://wiki.qemu.org/Features/RemovedFeatures 中已弃用然后删除的功能的替换——在这种情况下它说:

The -redir [tcp|udp]:hostport:[guestaddr]:guestport argument is replaced by either -netdev user,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport (for pluggable NICs, accompanied with -device …,netdev=x) or -nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport (for embedded NICs). The new syntax allows different settings to be provided per NIC.

该功能在 QEMU v2.6.0 中已弃用,并在 v3.1.0 中完全删除。所以2.6之前的QEMU版本不会报错; 2.6 和 3.0 之间的 QEMU 将产生弃用警告,但与旧版本一样工作;而3.1及之后的版本会拒绝启动,因为他们不认识这个选项。

在你的情况下,我认为马耳他板使用可插拔 'pcnet' PCI 卡,这意味着你需要“-netdev user,id=x,hostfwd=... -device pcnet,netdev =x" 以上两个选项。如果这不起作用,请尝试另一个。