我的网络接口从未出现在我的访客计算机上。
我正在使用默认设置从头开始编译 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 的_install
dir + /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
,并且可能还需要配置主机网络。