нет DNS-сервера на nfsroot с systemd-networkd

нет DNS-сервера на nfsroot с systemd-networkd

Я создал свой собственный Sysroot с помощью Yocto и смонтировал его через NFS на ARM-Board. Он использует systemd-networkd и systemd-resolved для работы в сети. Я запускаю плату так:

Загрузчик U-Boot загружает ядро ​​и дерево устройств через tftp и передает

root=/dev/nfs nfsroot=192.168.xx:/Path/To/Sysroot,vers=3,tcp rootwait ro ip=dhcp

в Ядро. Ядро запускается и получает IP и DNS от нашего локального DHCP-сервера:

IP-Config: Complete:
 device=eth0, hwaddr=XX:XX:XX:XX:XX:XX, ipaddr=192.168.X.X, mask=255.255.255.0, gw=192.168.X.X
 host=192.168.XX.XX, domain=XXX.XX, nis-domain=(none)
 bootserver=0.0.0.0, rootserver=192.168.XX.XX, rootpath=
 nameserver0=192.168.XX.XX, nameserver1=192.168.XX.XX

После этого ядро ​​монтирует NFS-Sysroot и запускает SystemD. В этот момент служба systemd-networkd возьмет на себя управление и запросит IP от DHCP. Даже если она получит тот же IP, который ядро ​​получило ранее, это нарушит nfs-mount. Я избегаю этого, изменяя свой файл конфигурации systemd-networkd на:

[Match]
Name=eth0
KernelCommandLine=!nfsroot

[Network]
DHCP=ipv4

Поэтому файл конфигурации применяется только тогда, когда я не использую nfsroot.

Но теперь dns не работает. Я вижу ранее обнаруженные DNS-серверы с:

cat /proc/net/pnp 
#PROTO: DHCP
domain XXX.XX
nameserver 192.168.XX.XX
nameserver 192.168.XX.XX
bootserver 0.0.0.0

но система их, похоже, не использует. Как мне использовать эти dns-серверы?

Связанный контент