ネットワークインターフェイスがゲストコンピューターに表示されません。
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 -nographic -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などなど/init.d/rcSです。
#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s
しかし、起動後にインターフェイスが見つかりません。 ifconfig -a
は、単にループバックインターフェイスを示しています。
From http://www.tldp.org/HOWTO/Ethernet-HOWTO-2.htmlSystem.map
のような名前の?? ne_probe
ファイルを確認する必要があることを理解しました。しかし、それについては本当に何も見つかりません。
私のブート出力は次のとおりです: http://Pastebin.com/C2SmKjQA
そして、猫/ proc/ioportsは、予想どおり、ne2k-pciについて何も表示しません http://www.h7.dion.ne.jp/~qemu-win/HowToNetwork-en。 html 。
デフォルトでは、ドキュメントで説明されているように、ユーザーモードネットワークが必要です。
デフォルトでは、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
ルートとしてqemu
を起動する必要があること、およびホストネットワークの構成が必要になる場合があることに注意してください。
詳細については、 Wikibooks および QEMU Networking docs を参照してください。