NFS root mount for embedded system (NFSv2/v3/4) RHEL/Ubuntu

27 篇文章 1 订阅
20 篇文章 0 订阅

Example on HOST side

/etc/exports

#/home/lake  *(rw,subtree_check,no_root_squash,sync,insecure)
#/home/lake/nfs-boot-x86 *(rw,subtree_check,no_root_squash,sync,insecure)
#/home/lake/nfs-boot-arm *(rw,subtree_check,no_root_squash,sync,insecure)
## nfs-boot-arm-gdbserver-glibcso
#/home/lake/nfs-boot *(rw,subtree_check,no_root_squash,sync,sync,insecure)

Example on Device side? (RHEL7/Ubuntu18 uses nfsvers=4 by default) while most old embedded systems use nfsvers=3

qemu-system-arm ?-M  integratorcp   -nographic  -m 128M -kernel integrator_qemu_defconfig_zImage -append "console=ttyAMA0 root=/dev/nfs nfsroot=10.0.2.2:/home/lake/qemu/nfs-boot-arm-gdbserver-glibcso,nfsvers=3  rw ip=10.0.2.15::10.0.2.1:255.255.255.0 rdinit=/linuxrc" -net nic -net user

 

###################################################################################################

###nfsvers3/old server side VS  nfsvers4/new client 

>>>>>>>>>>>>>>>>

Mar 21 16:08:45 192 kernel: svc: 192.168.1.5, port=877: unknown version (4 for prog 100003, nfsd)
Mar 21 16:08:45 192 kernel: svc: 192.168.1.5, port=867: unknown version (4 for prog 100003, nfsd)
Mar 21 16:08:45 192 kernel: svc: 192.168.1.5, port=861: unknown version (4 for prog 100003, nfsd)
<<<<<<<<<<<<<<<<<<<<<<<

###################################################################################################

###Server  RHEL4/5/6 etc,  nfs version 3 with old kernel 2.6

[lake@192 ~]$ cat  /proc/version
Linux version 2.6.18-194.el5 (mockbuild@x86-007.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Mar 16 21:52:43 EDT 2010 

[lake@192 ~]$ cat /etc/exports
#/home  *(rw,subtree_check,no_root_squash,sync)

/home/lake/qemu/ramdisk-loop   *(rw,subtree_check,no_root_squash,async,insecure)


#### Ubuntu 17.10 /Ubuntu 18 does not support NFSv2, default it is NFSv4, rejects NFSv3

lake@lake-Latitude-5491:~$ cat  /proc/version
Linux version 4.15.0-29-generic (buildd@lgw01-amd64-057) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 

lake@lake-Latitude-5491:~$ sudo mount -t nfs -o nolock,nfsvers=3,vers=3   192.168.1.7:/home/lake/qemu/ramdisk-loop       /tmp/mount  

### for NFSv2 on Ubuntu17/18,

 

please 

Add /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"


lake@lake-Latitude-5491:/media/lake/usb265Gext4/lake/qemu$ sudo /etc/init.d/nfs-kernel-server restart
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
 

 

##Fedora/RHEL/Centos enable NFSv2 only  

/etc/sysconfig/nfs  

# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
RPCNFSDARGS="-d -s    --nfs-version 2,3"    
# Number of nfs server processes to be started.
# The default is 8. 
# RPCNFSDCOUNT=16
#   
# Set V4 grace period in seconds
#NFSD_V4_GRACE=90
#
# Set V4 lease period in seconds
#NFSD_V4_LEASE=90
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
RPCMOUNTDOPTS="-d -N 3,4"

 

$sudo systemctl  restart     rpcbind.service       nfs 

/etc/rc.d/init.d/netfs  restart 

 

####Server info 

lake@lake-Latitude-5491:~$ mount  |grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.1.7:/home/lake/qemu/ramdisk-loop on /tmp/mount type nfs (rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.7,mountvers=3,mountport=644,mountproto=udp,local_lock=all,addr=192.168.1.7)
lake@lake-Latitude-5491:~$
 

 

avoid nfs server no response 

send proto=tcp in DHCP boot/NFS root mount 

 

[dhcp@server  etc]$ cat     dhcpd.lakehu.conf
      ### Lake Hu (lhu)'s BOX configuration
                group {
                        # NFS 
                        option swap-server XXXXXXXXXXXXX;

                        # TFTP 
                        ## Lake Desktop PC Centos7
                        next-server XXXXXXXXX; 

                        host lakehu {  

                              hardware ethernet F8:8B:37:24:XX:XX; # 
                              option Kreatel.tftp-kernel-filename "kernel_nfs"; 
                              option root-path "/extra/nfs/rootdisk,proto=tcp";  ##### Lake Desktop PC Centos7 

                              fixed-address XX.XX.XX.XX;
                        }
                }
                ### lakehu end
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值