LINUX.ORG.RU

qemu не создаёт network interface

 , ,


0

1

Из под Ubuntu 16.04 x86_64 запускаю qemu-system-arm. Насколько я понимаю, он же должен по дефолту создавать виртуальный интерфейс аналогичный поднятому на хосте eth0 ?

Под убунтой есть гигабитная сетёвка, точно рабочая:

02:00.0 Ethernet controller: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)
	Subsystem: ASUSTeK Computer Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 17
	Region 0: Memory at feac0000 (64-bit, non-prefetchable) [size=256K]
	Region 2: I/O ports at ec00 [size=128]
	Capabilities: <access denied>
	Kernel driver in use: ATL1E
	Kernel modules: atl1e

/mnt/ssd/archive/alpine/netboot$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:23:54:51:e2:53  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:158 errors:0 dropped:0 overruns:0 carrier:14
          collisions:0 txqueuelen:1000 
          RX bytes:17064 (17.0 KB)  TX bytes:16743 (16.7 KB)
Стартую qemu c ядром alpine linux 3.10, сеть не указываю, т.е. по дефолту:
qemu-system-arm -M virt -m 4096 -cpu cortex-a15 -hda alpine.qcow -kernel boot/vmlinuz-vanilla -initrd boot/initramfs-vanilla -append "console=ttyAMA0 ip=dhcp alpine_repo=http://dl-cdn.alpinelinux.org/alpine/edge/main/" -nographic
Приводит к тому что:
[    1.330405] Run /init as init process
Alpine Init 3.4.3-r0
 * Loading boot drivers: [    1.912070] loop: module loaded
[    1.919339] squashfs: version 4.0 (2009/01/31) Phillip Lougher
ok.
 * Mounting boot media: ok.
grep: /sys/class/net/eth*/operstate: No such file or directory
ERROR: IP requested but no network device was found
 * Installing packages to root filesystem: WARNING: Ignoring APKINDEX.1d32b339.tar.gz: No such file or directory
OK: 0 MiB in 0 packages
ok.
grep: /sysroot/etc/inittab: No such file or directory
/sbin/init not found in new root. Launching emergency recovery shell
Type exit to continue boot.
В /sys/clas/net есть только lo.

В документации написано: By default QEMU will create a SLiRP user network backend and an appropriate virtual network device for the guest (eg an E1000 PCI card for most x86 PC guests), as if you had typed -net nic -net user on your command line
Я так и не понял - я должен ему указать, что у меня девайс не е1000, а atl1e , или какого рожна ему надо.

Если кто может указать что не так - буду очень благодарен.

Как вы себе представляете, чтобы эмулятор эмулировал ту же сетевушку, что на хосте? Это можно только если вы отдадите виртуалке свою сетевушку как PCI-устройство, без задействования её на хосте. Без указания ключа -net в виртуалке вообще сети не будет никакой.

vodz ★★★★★
()

qemu не создаёт network interface

так вы и не просите.

Sherman
()
Ответ на: комментарий от vodz

да, у меня что-то просто паника была от того, что ничего не работает. На самом деле всё норм в случае с эмуляцией x86_64 и всё плохо с эмуляцией arm-а. Также хочется отметить, что по дефолту сеть есть как если бы вы прописали "-net nic -net user", и это написано в документации, и в моём первом сообщении, так что это неправда, что без -net никакой сети не будет.

repu1sion
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.