300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > TFTP文件传输NFS挂载ARM开发板移植Linux系统步骤

TFTP文件传输NFS挂载ARM开发板移植Linux系统步骤

时间:2023-02-01 08:16:40

相关推荐

TFTP文件传输NFS挂载ARM开发板移植Linux系统步骤

环境:ubuntu 20.04

开发板:FS4412(Cortex-A9)

根文件系统:rootfs

资料包:Linux内核移植,u-boot引导程序,根文件系统-嵌入式文档类资源-CSDN下载Linux内核移植,u-boot引导程序,跟文件系统更多下载资源、学习资料请访问CSDN下载频道./download/daizhichaoaa/84056813

一、TFTP文件传输

环境搭建:

sudo apt-get install tftpd-hpa

配置服务器: 设置共享的路径位置

sudo vim /etc/default/tftpd-hpa

对应修改即可

重启服务 配置生效

sudo /etc/init.d/tftpd-hpa restart

测试查看服务进程是否配置成功

ps -aux | grep tftp

在这里顺便把NFS服务也安装下,后面移植系统的根文件系统是基于nfs

sudo apt-get install nfs-kernel-server

修改共享路径:

sudo vim /etc/exports

重启让配置生效:

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

挂载nfs

解除挂载

sudo umount nfs

测试:

1.打开超级终端进入uboot交互模式

端口配置

set ipaddr 192.168.3.200 //开发板ipset serverip 192.168.3.163//服务器ipset gatewayip 192.168.3.1//网关save

然后分别进行如上配置

下载文件

tftp 40008000 xxx(文件名)

go 40008000

之后就可以在开发板上看到效果了

注:1.烧写的文件要放到tftp共享的路径里面

2.要保证电脑连着网线和开发板也要连着网线,如果不能同时连两根网线文章末尾有解决方法

二、移植Linux操作系统步骤(tftp)

1.把内核镜像 UImage 复制到tftp服务器共享目录

2.设备树 exynos4412-fs4412.dtb 复制到tftp服务器共享目录

3.根文件系统rootfs.tar.xz 复制 到 nfs共享目录下进行解压

sudo tar -xvf rootfs.tar.xz

4.修改权限

sudo chmod 777 -R rootfs

5.pwd获取文件路径 (共享文件路径)

/home/dzc/nfshome/rootfs

接下来打开超级终端操作

1)启动uboot进入交互模式

2)使用nfs网络文件系统作为根文件系统 配置模板

set bootargs root=/dev/nfs nfsroot=192.168.3.163:/home/dzc/nfshome/rootfs rw console=ttySAC2,115200 init=linuxrc ip=192.168.3.202

#set bootargs root=根属性 nfsroot=nfs服务器IP:nfs服务器根路径 rw console=ttySAC2,115200 init=linuxrc ip=开发板的IP

3)设置UBoot环境变量

set ipaddr 192.168.3.202

set serverip 192.168.3.163

set gatewayip 192.168.3.1//网关

set netmask 255.255.255.0

save

4)下载内核镜像到内存 41000000

tftp 41000000 uImage

5)下载设备树到 内存 42000000

tftp 42000000 exynos4412-fs4412.dtb

6)引导操作系统 Linux内核

bootm 41000000 - 42000000

之后就可以在终端上看到开发板的Linux系统了

问题解决:

1、关闭网线托管(解决电脑不能同时连两根网线问题,ip地址只能保留半小时左右)

sudo /etc/init.d/network-manager stop //暂时关闭网络,保留ipsudo /etc/init.d/network-manager start //重启网络

2、开发板挂载时提示协议不支持,具体错误如下:

mount: mounting 192.168.31.75:/home/why/SSD202_Project on /mnt failed: Protocol not supported

解决方法:由于ubuntu 20.04 nfs默认支持协议3和协议4,但是开发板uboot默认启动的是协议2,若想要求 nfs 支持协议2。需要在ubuntu系统

打开文件

vim /etc/default/nfs-kernel-server

在文件中末尾增加内容

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

保存重启下nfs,重启指令

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

3、开发板挂载时提示超时:

rpcbind: server localhost not responding, timed out

解决办法:加上“-o nolock”参数

mount -t nfs -o nolock 192.168.3.163:/home/dzc/nfshome

4、Ubuntu NFS下载文件时出现卡顿并打印出T T T

解决办法

在Ubuntu终端输入如下命令

sudo vi /etc/hosts

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。