ubuntu arm nfs 文件系统(好好整理一下)

11

我遇到的问题的解决办法是:

OKMX8MPX-C V2.0 开发板
不要在文档中 复制 他们的 命令行,
直接 手动 抄写一遍。先别怀疑人家的文档,
先确定 自己是真正的按照 文档一步一步的做的

下面那个地方是两个冒号,
我想当然的 写了一个冒号

setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.53:192.168.99.50:192.168.99.1:255.255.255.0::eth0:off  nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.53:192.168.99.50:192.168.99.1:255.255.255.0::eth0:off nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

在这里插入图片描述

Ubuntu18.04系统中,开发板linux2.6.35.7内核通过NFS挂载根文件系统失败的解决方法
https://blog.youkuaiyun.com/qq_40897531/article/details/106784915

https://blog.youkuaiyun.com/weixin_52372485/article/details/121183020
https://blog.youkuaiyun.com/chihiro_s/article/details/114393046

TFTP+NFS环境搭建以及TFTP加载内核和设备数,NFS挂载文件系统的方法(也可以使用NFS加载内核和设备树)
http://www.openedv.com/forum.php?mod=viewthread&tid=302907&extra=page=2

https://blog.youkuaiyun.com/qq_21479819/article/details/125416513

sudo cat /proc/fs/nfsd/versions
rpcinfo -p | fgrep nfs
sudo /etc/init.d/nfs-kernel-server restart

⑤ 检查nfs服务器中挂载的目录。

showmount -e

有空 整理

File systems —>

Network File Systems —>

NFS file system support ## 必选

[*] Provide NFSv3 client support ## 可选

[*] Root file system on NFS ## 必选

Networking —>

[*] Networking support

Networking options —>

[*] IP: kernel level autoconfiguration ## 必选

NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象.可用的解决方案是:在客户端改用TCP协议,使用下面的命令,

mount -t nfs -o intr,nolock,tcp,rsize=1024,wsize=1024 192.168.100.10:/home/nfs /mnt/nfs

mount -t nfs -o nolock -o tcp 192.168.100.10:/home/nfs /mnt/nfs
https://www.jianshu.com/p/a54007f400f5%20

https://www.youkuaiyun.com/tags/MtTakg5sOTE1NTItYmxvZwO0O0OO0O0O.html

https://blog.youkuaiyun.com/qq_45531502/article/details/125428004

https://blog.youkuaiyun.com/weixin_42385943/article/details/115868863?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-115868863-blog-113961375.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-115868863-blog-113961375.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=7

http://t.zoukankan.com/wahaha02-p-9559345.html

https://www.kernel.org/doc/html/latest/admin-guide/nfs/nfs-client.html
https://www.jianshu.com/p/aad01daf1447

修改完成后, 保存并退出“ /etc/exports” 文件。然后新建“ /nfsroot”目录,并为该目录
设置最宽松的权限:
vmuser@Linux-host:~$ sudo mkdir /nfsroot
vmuser@Linux-host:~ s u d o c h m o d − R 777 / n f s r o o t v m u s e r @ L i n u x − h o s t   sudo chmod -R 777 /nfsroot vmuser@Linux-host ~ sudochmodR777/nfsrootvmuser@Linuxhost  sudo chown -R nobody /nfsroot

3、 启动 NFS 服务

在虚拟机命令框执行如下命令,可以启动 NFS 服务:
vmuser@Linux-host ~$ sudo /etc/init.d/nfs-kernel-server start
执行如下命令则可以重新启动 NFS 服务:
vmuser@Linux-host ~$ sudo /etc/init.d/nfs-kernel-server restart
执行启动命令后,其操作结果如图 所示,表示 NFS 服务已正常启动。

Networking support

–>Networking options
–>TCP/IP networking
–>IP:kernel level autoconfiguration
File systems

–>Network File System
–>NFS client support
–>Root file system on NFS

https://www.cnblogs.com/wahaha02/p/9559345.html
mount -t nfs -o nolock 192.168.0.24:/ /mnt
https://blog.youkuaiyun.com/weixin_35945480/article/details/116693706
NFS client support
https://baijiahao.baidu.com/s?id=1734413681962454306&wfr=spider&for=pc
https://www.jianshu.com/p/a6fdb865d0b1
linux中查看nfs日志,NFS服务日志分析
linux中查看nfs日志,NFS服务日志分析

showmount -e 192.168.161.133 #成功检测到共享
cat /var/log/messages |grep nfs

2)举例说明:

NFS Server IP :192.168.168.0.200

客户端: 192.168.0.201

#snoop 192.168.0.200 192.168.0.201

这行命令表示抓 192.168.0.200和192.168.0.201之间的数据流。抓取的信息如图3所示。

showmount -e 显示某台主机的/etc/exports所共享的目录数据

showmount -a 显示当前主机与客户端NFS联机共享状态

showmount -e

https://www.youkuaiyun.com/tags/MtzaAgxsOTk2MjctYmxvZwO0O0OO0O0O.html
在查看对应的挂载信息的时候,也可以使用命令nfsstat,如下所示:

[root@nfsclient~]# nfsstat -m(查看挂载的NFS的信息)

/opt from192.168.1.70:/

Flags: rw,relatime,vers=4,rsize=16384,wsize=16384,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.63,minorversion=0,local_lock=none,addr=192.168.1.70

著作权归作者所有:来自51CTO博客作者mb5fdb131956bf3的原创作品,请联系作者获取转载授权,否则将追究法律责任
NFS网络文件系统-问题解决方法
https://blog.51cto.com/u_15060545/2654275

解决方案:

将rpcbind服务启动即可。

[root@nfsserver~]# /etc/init.d/rpcbind start(启动rpcbind服务)

Startingrpcbind: [ OK ]

https://blog.51cto.com/u_15060545/2654275

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net/sunrpc/xprtsock.c?id=7e3d3620974b743b91b1f9d0660061b1de20174c&context=3&ignorews=0&dt=1

  
forlinx=>
forlinx=> printenv
baudrate=115200
board_name=OK8MP-C
board_rev=iMX8MP
boot_fit=no
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; elif test ${fastboot_dev} = mmc1 && run loadupdate; then run sdargs; run mmcupdate; else if run loadimage; then run mmcboot; else run netboot; fi; fi; fi;

bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc1,115200
emmc_dev=2
eth1addr=16:c9:54:28:ed:b5
ethaddr=16:c9:54:28:ed:b4
ethprime=eth1
fastboot_dev=mmc2
fdt_addr=0x43000000
fdt_file=OK8MP-C.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=43000000
gatewayip=192.168.99.1
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
ipaddr=192.168.99.46
jh_clk=
jh_mmcboot=setenv fdt_file imx8mp-evk-root.dtb;setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file imx8mp-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadupdate=mmc dev 1;fatload mmc 1:1 ${loadaddr} config.ini;
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused
mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;
mmcdev=2
mmcpart=1
mmcroot=/dev/mmcblk2p2 rootwait rw
mmcupdate=fatload mmc 1:1 ${loadaddr} kernel/Image;fatload mmc 1:1 ${initrd_addr} ramdisk.img;fatload mmc 1:1 ${fdt_addr} kernel/${fdt_file};booti ${loadaddr} ${initrd_addr} ${fdt_addr};
nandfit_part=yes
netargs=setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp
netboot=echo Booting from net ...; run netargs;  if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${image}; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if ${get_cmd} ${fdt_addr} ${fdt_file}; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;
netmask=255.255.255.0
script=boot.scr
sd_dev=1
sdargs=setenv bootargs ${jh_clk} console=${console} root=/dev/ram0 rootwait rw
serial#=1b2ac8003a729973
serverip=192.168.99.50
soc_type=imx8mp
splashimage=0x50000000
video_hdmi=on
video_lvds=off
video_mipi=off

Environment size: 2939/4092 bytes
forlinx=>




setenv netargs setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off \ nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp
  
setenv netboot 'run netargs; tftpboot ${loadaddr} ${image}; tftpboot ${fdt_addr} ${fdt_file}; booti ${loadaddr} - ${fdt_addr}' 
run netboot


forlinx=> printenv
baudrate=115200
board_name=OK8MP-C
board_rev=iMX8MP
boot_fit=no
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; elif test ${fastboot_dev} = mmc1 && run loadupdate; then run sdargs; run mmcupdate; else if run loadimage; then run mmcboot; else run netboot; fi; fi; fi;
bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc1,115200
emmc_dev=2
eth1addr=16:c9:54:28:ed:b5
ethaddr=16:c9:54:28:ed:b4
ethprime=eth1
fastboot_dev=mmc2
fdt_addr=0x43000000
fdt_file=OK8MP-C.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=43000000
gatewayip=192.168.99.1
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
ipaddr=192.168.99.46
jh_clk=
jh_mmcboot=setenv fdt_file imx8mp-evk-root.dtb;setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file imx8mp-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadupdate=mmc dev 1;fatload mmc 1:1 ${loadaddr} config.ini;
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused
mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;
mmcdev=2
mmcpart=1
mmcroot=/dev/mmcblk2p2 rootwait rw
mmcupdate=fatload mmc 1:1 ${loadaddr} kernel/Image;fatload mmc 1:1 ${initrd_addr} ramdisk.img;fatload mmc 1:1 ${fdt_addr} kernel/${fdt_file};booti ${loadaddr} ${initrd_addr} ${fdt_addr};
nandfit_part=yes
netargs=setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off  nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp
netboot=run netargs; tftpboot ${loadaddr} ${image}; tftpboot ${fdt_addr} ${fdt_file}; booti ${loadaddr} - ${fdt_addr}
netmask=255.255.255.0
script=boot.scr
sd_dev=1
sdargs=setenv bootargs ${jh_clk} console=${console} root=/dev/ram0 rootwait rw
serial#=1b2ac8003a729973
serverip=192.168.99.50
soc_type=imx8mp
splashimage=0x50000000
video_hdmi=on
video_lvds=off
video_mipi=off

Environment size: 2692/4092 bytes
forlinx=>

 
 
 
Loading Environment from MMC... OK
[*]-Video Link 0fail to find output device
probe video device failed, ret -19

        [0] lcd-controller@32fc6000, video
fail to find output device
probe video device failed, ret -19
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF f1d7187
  - U-Boot 2020.04-00012-g7f68cd5a24-dirty

switch to partitions #0, OK
mmc2(part 0) is current device
a1007 auth ok!
flash target is MMC:2
Net:   config yt8521
eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Autoboot in 1 seconds
switch to partitions #0, OK
mmc2(part 0) is current device
28150272 bytes read in 638 ms (42.1 MiB/s)
Booting from mmc ...
67111 bytes read in 16 ms (4 MiB/s)
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Using Device Tree in place at 0000000043000000, end 0000000043013626

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.70-2.3.0 (forlinx@ubuntu) (gcc version 9.2.0 (GCC)) #2 SMP PREEMPT Wed Aug 3 20:14:21 PDT 2022

 
 
 
setenv netargs setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off \ nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off \ nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off \ nfsroot=192.168.99.50:/nfs_rootfs,tcp
  


setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off \ nfsroot=192.168.99.50:/nfs_rootfs,tcp  
  
setenv netboot 'run netargs; tftpboot ${loadaddr} ${image}; tftpboot ${fdt_addr} ${fdt_file}; booti ${loadaddr} - ${fdt_addr}' 
run netboot

mmcargs

setenv netboot 'run mmcargs; tftpboot ${loadaddr} ${image}; tftpboot ${fdt_addr} ${fdt_file}; booti ${loadaddr} - ${fdt_addr}' 
run netboot


mount -t nfs4 -o vers=4 192.168.99.50:/nfs_rootfs /mnt

mount -t nfs -o vers=3 192.168.99.50:/nfs_rootfs /mnt

RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"




bootcmd=mmc dev ${mmcdev}; 
if mmc rescan; then 
    if run loadbootscript; then 
        run bootscript; 
    elif test ${fastboot_dev} = mmc1 && run loadupdate; then 
        run sdargs; run mmcupdate; 
    else 
        if run loadimage; then run mmcboot; 
        else run netboot; 
        fi; 
    fi; 
fi;



setenv mmc_nfs_boot 'echo Booting from mmc ...; run netargs; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;'


setenv boot_nfs_cmd 'mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; elif test ${fastboot_dev} = mmc1 && run loadupdate; then run sdargs; run mmcupdate; else if run loadimage; then run mmc_nfs_boot; else run netboot; fi; fi; fi;'


run boot_nfs_cmd


setenv netargs setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off  nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp



setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off  nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

sudo /etc/init.d/nfs-kernel-server restart

setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw nfsroot=192.168.99.50:/nfs_rootfs,v3  ip=192.168.99.46:192.168.99.50:192.168.99.1:255.255.255.0:eth0:off  



setenv netargs setenv bootargs console=ttymxc1,115200 root=/dev/nfs rw ip=192.168.99.53:192.168.99.50:192.168.99.1:255.255.255.0::eth0:off  nfsroot=192.168.99.50:/nfs_rootfs,v3,tcp

setenv ipaddr 192.168.99.53
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值