mirror of
https://git.yoctoproject.org/poky
synced 2026-02-16 05:33:03 +01:00
Add dhclient.service. This service file mainly comes from meta-systemd, with modifications to take nfs boot into consideration. While using eth0 as the nfsboot interface, we'd like dhclient service to skip it like what ifup and connman do in sysvinit. (From OE-Core rev: faa8d0f5e8db4a99367d42ba8c8de5b2e339d8d2) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
966 B
966 B
#!/bin/sh
In case the interface is used for nfs, skip it.
nfsroot=0
interfaces=""
exec 9<&0 < /proc/mounts
while read dev mtpt fstype rest; do
if test $mtpt = "/" ; then
case $fstype in
nfs | nfs4)
nfsroot=1
nfs_addr=echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'
break
;;
*)
;;
esac
fi
done
exec 0<&9 9<&-
if [ $nfsroot -eq 0 ]; then
interfaces="$INTERFACES"
else
if [ -x /bin/ip -o -x /sbin/ip ] ; then
nfs_iface=ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'
fi
for i in $INTERFACES; do
if test "x$i" = "x$nfs_iface"; then
echo "dhclient skipping nfsroot interface $i"
else
interfaces="$interfaces $i"
fi
done
fi
if test "x$interfaces" != "x"; then /sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces fi