如果按照正点原子I.MX6ULL-MINI提供的教程进行学习,在正点原子提供的Uboot当中使用nfs从Ubuntu下载系统镜像时可能会遇到迟迟下载不下来(即出现TTTTTTTT,而不是#########)的情况。
这个情况有两种可能,一种是Ubuntu的nfs不兼容正点原子官方uboot中nfs的版本,正点原子官方uboot中nfs的版本仅支持到nfs2,而如果你使用较新版本的Ubuntu,则你的默认内核将不支持nfs2。二是Ubuntu的默认内核支持nfs2但是没有开启。
1.确认当前系统内核支持的nfs版本
sudo cat /proc/fs/nfsd/versions

1.出现+2则说明支持nfs2,如果你依然遇到无法下载的问题则我也不知道为什么。
2.出现-2则说明支持nfs2但是没有开启,这种情况不需要修改内核版本,跳转到 3.修改nfs配置文件 即可。
3.如果既没有出现+2也没有出现-2则说明该内核版本根本不支持nfs2,需要修改内核版本。
2.切换内核版本
uname -r

如果版本高于6.2则需要降低内核版本。
sudo apt-get install linux-image-5.19.0-50-generic
sudo apt-get install linux-headers-5.19.0-50-generic
sudo apt-get install linux-modules-5.19.0-50-generic
sudo apt-get install linux-modules-extra-5.19.0-50-generic
安装成功之后修改启动配置
sudo vim /etc/default/grub
找到下面三个然后修改
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu,with Linux 5.19.0-50-generic"
GRUB_TIMEOUT=20
GRUB_CMDLINE_LINUX_DEFAULT="text"
更新grub
sudo update-grub
然后重启电脑,在启动过程中不断按ESC键,就会进入GUN GRUB的命令行窗口,然后输入normal指令,再按一下ESC即可进入下面的界面。
选择Advanced options for Ubuntu,按回车选中。

选择刚下载的内核进行启动。
可以再次使用
uname -r
进行检验,看看内核版本是否已经变化。
3.修改nfs配置文件
sudo vim /etc/default/nfs-kernel-server
修改如下4处
RPCNFSDCOUNT="-V 2 8"
RPCNFSDOPTS="--vers 2,3,4 --udp"
RPCMOUNTDOPTS="-V 2 --manage-gids"
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"
然后
sudo vim /etc/nfs.conf
将其中的udp=n改为udp=y(记得将前面的#去掉)
将其中的vers2=n改为vers2=y(记得将前面的#去掉)
然后执行重启服务。
sudo service nfs-kernel-server restart
至此大概率问题得到解决。
注意:如果不卸载之前的内核可能每次开机都需要进入GNU GRUB选择低版本内核来启动,否则可能会默认进入高版本内核。
2039

被折叠的 条评论
为什么被折叠?



