mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

nfsrootfs module mounts rootfs via nfs parsing "nfsroot" and "ip" cmdline options. (From OE-Core rev: d1737f2dabac5e338061863c78a91b4c115365c7) Signed-off-by: Oleksii Konoplitskyi <okonopli@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.1 KiB
1.1 KiB
#!/bin/sh
nfsrootfs_enabled() { if [ ${bootparam_root} != "/dev/nfs" ] || [ -z ${bootparam_nfsroot} ]; then return 1 fi return 0 }
nfsrootfs_run() { local nfs_opts local location local flags local server_ip
nfs_opts=""
if [ "${bootparam_nfsroot#*,}" != "${bootparam_nfsroot}" ]; then
nfs_opts="-o ${bootparam_nfsroot#*,}"
fi
location="${bootparam_nfsroot%%,*}"
if [ "${location#*:}" = "${location}" ]; then
# server-ip not given. Get server ip from ip option
server_ip=""
if [ "${bootparam_ip#*:}" != "${bootparam_ip}" ]; then
server_ip=$(echo "$bootparam_ip" | cut -d: -f2)
fi
if [ -z "$server_ip" ]; then
fatal "Server IP is not set. Update ip or nfsroot options."
fi
location=${server_ip}:${location}
fi
flags="-o nolock"
if [ -n "$bootparam_ro" ] && ! echo "$bootparam_rootflags" | grep -w -q "ro"; then
if [ -n "$bootparam_rootflags" ]; then
bootparam_rootflags="$bootparam_rootflags,"
fi
bootparam_rootflags="${bootparam_rootflags}ro"
fi
if [ -n "$bootparam_rootflags" ]; then
flags="$flags -o $bootparam_rootflags"
fi
mount -t nfs ${flags} ${nfs_opts} ${location} ${ROOTFS_DIR}
}