QEMU 中没有网络接口

QEMU 中没有网络接口

我的网络接口从未出现在我的访客计算机上。

我正在使用默认设置从头开始编译 Linux 内核(我认为是 3.3)+

Symbol: NE2K_PCI [=y]
Type  : tristate
Prompt: PCI NE2000 and clones support (see help) 

因为我在某处读到这是 qemu 使用的默认驱动程序。

然后我将启动: qemu-system-x86_64 -kernel repo/linux/arch/x86/boot/bzImage -boot d -initrd rootfs.img.gz -append "root=/dev/ram rdinit=/sbin/init"

qemu-system-x86_64 -ngraphic -kernel repo/linux/arch/x86/boot/bzImage -boot d -initrd rootfs.img -append "root=/dev/ram rdinit=/sbin/init console=ttyS0"

rootfs 只是 busybox 的_installdir + /proc /dev 等 etc/init.d/rcS

#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s

但开机后找不到界面。ifconfig -a简单地显示了环回接口。

http://www.tldp.org/HOWTO/Ethernet-HOWTO-2.html我明白我应该看看?System.map文件名称如ne_probe.但实际上找不到任何相关信息。

我的启动输出是: http://pastebin.com/C2SmKjQA

并且 cat /proc/ioports 没有显示有关 ne2k-pci 的任何信息,正如预期的那样,根据http://www.h7.dion.ne.jp/~qemu-win/HowToNetwork-en.html

答案1

默认情况下,您应该具有用户模式网络,如文档中所述:

默认情况下,QEMU 将为来宾创建 SLiRP 用户网络后端和适当的虚拟网络设备(例如,适用于大多数 x86 PC 来宾的 E1000 PCI 卡)

如果您想要更好的东西,请考虑tap网络:

将如下内容添加到您的qemu命令中:

-netdev tap,id=tap0 -device e1000,netdev=tap0

或者对于旧版本qemu

-net nic -net tap,ifname=tap0,script=no,downscript=no

请注意,他们需要您以 root 身份启动qemu,并且可能还需要配置主机网络。

更多信息请参阅维基教科书并在QEMU 网络文档

相关内容