【问题标题】:Linux vanilla kernel on QEMU and networking with eth0QEMU 上的 Linux vanilla 内核和与 eth0 的网络
【发布时间】:2014-08-18 03:43:33
【问题描述】:

我已经下载并编译 vanilla linux kernel (3.7.1) 我将busybox用于ramdisk,然后使用QEMU启动它。 这是我的 QEMU 命令行

qemu-system-i386 -kernel bzImage -initrd ramdisk.img -append "root=/dev/ram rw console=ttyS0 rdinit=/bin/ash" -nographic -net nic -net user

一切顺利。 但是,我不能在带有busybox的香草内核上使用网络。

'ifup eth0' 告诉我

/ # ifup eth0
ip: SIOCGIFFLAGS: No such device

我用谷歌搜索了互联网,但没有任何线索...... 一些建议会很好 提前谢谢你。

【问题讨论】:

    标签: linux qemu nat ifconfig


    【解决方案1】:

    很可能没有加载驱动程序(在您的示例中应该是 e1000)或设备有另一个名称。

    在 /sys/class/net/ 中,您应该找到所有可用网络设备的列表。 如果没有(除了 lo)驱动程序没有加载。

    在 qemu 监视器中键入“info pci”,它将显示您的以太网卡的 PCI 地址。它应该是这样的:

    ...
    Bus  0, device   3, function 0:
      Ethernet controller: PCI device 8086:100e
    ...
    

    此设备对应于 /sys/devices/pci0000:00/0000:00:03.0/。 文件“vendor”和“device”必须包含“0x8086”和“0x100e”,它们是上面的PCI-id,内核通过它来确定要加载的驱动程序。

    尝试使用“modprobe e1000”或 insmod 手动加载它。如果加载,则必须有一个名为“驱动程序”的符号链接。如果不是,“dmesg”应该会给你原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2019-12-29
      • 2011-05-28
      相关资源
      最近更新 更多