#!/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} }