正点原子使用nfs和sftp启动开发板
1 NFS 服务开启
后面进行 Linux 驱动开发的时候需要 NFS 启动,因此要先安装并开启 Ubuntu 中的 NFS 服务,使用如下命令安装 NFS 服务:
sudo apt-get install nfs-kernel-server rpcbind
以后我们可以在开发板上通过网络文件系统来访问nfs文件夹,要先配置 nfs,使用如下命令打开 nfs 配置文件/etc/exports:
sudo vim /etc/exports
#打开后添加如下命令
/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash)
#重启 NFS 服务,使用命令如下
sudo /etc/init.d/nfs-kernel-server restart
紧接着就是测试nfs是否成功打开
使用nfs操作之前需要 创建一个文件夹
使用如下命令测试nfs是否配置成功
nfs [loadAddress] [[hostIPaddr:]bootfilename]
nfs 80800000 192.168.1.253:/home/user/linux/nfs/zImage
2 SSH 服务开启
使用如下命令
sudo apt-get install openssh-server
3 网络操作命令
uboot 是支持网络的,我们在移植 uboot 的时候一般都要调通网络功能,因为在移植 linux kernel 的时候需要使用到 uboot 的网络功能做调试。uboot 支持大量的网络相关命令,比如 dhcp、ping、nfs 和 tftpboot,我们接下来依次学习一下这几个和网络有关的命令。
在使用 uboot 的网络功能之前先用网线将开发板的 ENET2 接口和电脑或者路由器连接起来,I.MX6U-ALPHA 开发板有两个网口:ENET1 和 ENET2,一定要连接 ENET2,不能连接错了。
设置环境变量
setenv ipaddr 192.168.1.50 #这个是开发板的本地地址
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.253 #这个是ubuntu的网络地址
saveenv
使用ping命令查看ubuntu和开发板是否连接成功
ping 192.168.1.253
如果网口没有打开就需要打开网口
ifconfig -a #查看网口情况
ifconfig eth0 up
4 tftp传输文件
tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令使用的 TFTP 协议,Ubuntu 主机作为 TFTP 服务器。因此需要在 Ubuntu 上搭建 TFTP 服务器,需要安装 tftp-hpa 和 tftpd-hpa,命令如下:
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
和 NFS 一样,TFTP 也需要一个文件夹来存放文件,在用户目录下新建一个目录,命令如下:
mkdir /home/user/linux/tftpboot
chmod 777 /home/user/linux/tftpboot
最后配置 tftp,安装完成以后新建文件/etc/xinetd.d/tftp,如果没有/etc/xinetd.d 目录的话自行创建,然后在里面输入如下内容:
server tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/user/linux/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
完了以后启动 tftp 服务,命令如下:
sudo service tftpd-hpa start
打开/etc/default/tftpd-hpa 文件,将其修改为如下所示内容:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/user/linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
TFTP_DIRECTORY 就是我们上面创建的 tftp 文件夹目录,以后我们就将所有需要通过TFTP 传输的文件都放到这个文件夹里面,并且要给予这些文件相应的权限。
最后输入如下命令, 重启 tftp 服务器:
sudo service tftpd-hpa restart
tftp 服务器已经搭建好了,接下来就是使用了。将 zImage 镜像文件拷贝到 tftpboot 文件夹中,并且给予 zImage 相应的权限,命令如下:
cp zImage /home/user/linux/tftpboot/
cd /home/user/linux/tftpboot/
chmod 777 zImage
万事俱备,只剩验证了,uboot 中的 tftp 命令格式如下:
tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
tftp 80800000 zImage
本文详细描述了如何在开发板上通过NFS和SFTP启动,包括安装NFS服务,配置文件共享,启用SSH服务,以及使用UBOOT进行网络操作如DHCP、ping和TFTP传输文件,以实现Linux驱动开发的网络访问。
1161

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



