Мое недавно скомпилированное ядро ​​теряет сеть в qemu - PullRequest
0 голосов
/ 08 ноября 2018

Я скомпилировал ядро ​​из источника: make defconfig make kvmconfig make -j 4 После этого я использую полученный bzImage для моей команды qemu: qemu-system-x86_64 -hda debian.img -kernel bzImage -append "root=/dev/sda console=ttyS0" -nographic -m 4096 -smp 2 --enable-kvm -net user,hostfwd=tcp::10021-:22 -net nic Он монтируется, и я получаю оболочку и все, но он теряет связь. В QEMU это журналы: [FAILED] Failed to start Raise network interfaces. See 'systemctl status networking.service' for details. Кто-нибудь может направить меня в этом? Я уже консультировался с ванильным ядром Linux по QEMU и сетевому взаимодействию с eth0 , но это не решило мою проблему. Также я не ищу хардкорных решений qemu-bridge. Я уверен, что некоторые сетевые драйверы не загружаются, но я не могу понять, как их решить. Или, может быть, мне не хватает некоторых параметров ядра .config.

1 Ответ

0 голосов
/ 08 ноября 2018

Вы используете пользовательский сокет. Для этого qemu создает обычный сокет в своем хост-процессе и перенаправляет пакеты для определенных портов вашей гостевой машины на хост-сокет. Это выполнимо, но я нахожу это раздражающим.

Я всегда предпочитаю создавать устройство с отводом и соединять его с моим физическим интерфейсом с помощью следующих переключателей QEMU:

-netdev tap,ifname=tap0,script=no,downscript=no,id=my_net_id \
-device driver=virtio-net,netdev=my_net_id

Таким образом, у вас есть все возможности сети, и вам не нужно использовать какое-то странное перенаправление портов.

...