Из под 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=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 , или какого рожна ему надо.

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








 , ,






URL записи