systemd-networkd では nfsroot に DNS サーバーがありません

systemd-networkd では nfsroot に DNS サーバーがありません

私は Yocto を使って独自の Sysroot を作成し、ARM ボードに NFS 経由でマウントしました。ネットワークには systemd-networkd と systemd-resolved を使用します。私は次のようにボードを起動しています:

U-BootブートローダはTFTP経由でカーネルとデバイスツリーをロードし、

ルート=/dev/nfs nfsroot=192.168.xx:/Path/To/Sysroot、vers=3、tcp rootwait ro ip=dhcp

カーネルへ。カーネルが起動し、ローカル DHCP サーバーから IP と DNS を受け取ります。

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 サービスが引き継ぎ、DHCP から IP を要求します。カーネルが以前に受信したのと同じ 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 サーバーをどのように使用すればよいのでしょうか?

関連情報