hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/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}
}