uboot常见命令使用(二)

本文介绍了如何在U-Boot环境中设置网络文件系统,包括环境变量设置、使用ping命令验证连接、通过dhcp获取IP地址、nfs加载Ubuntu文件到开发板以及使用tftp进行文件传输。
摘要由CSDN通过智能技术生成

三、网络文件系统命令

 在进行下列命令时要将开发板的 ENET接口和电脑或者路由器连接

建议开发板和主机 PC 都连接到同一个路由器上

#环境变量设置命令
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 
saveenv
注意,网络地址环境变量的设置要根据自己的实际情况,确保 Ubuntu 主机和开发板的 IP地址在同一个网段内,比如我现在的开发板和电脑都在 192.168.1.0 这个网段内,所以设置开发板的 IP 地址为 192.168.1.50 ,我的 Ubuntu 主机的地址为 192.168.1.253 ,因此 serverip 就192.168.1.253。 ethaddr 为网络 MAC 地址,是一个 48bit 的地址,如果在同一个网段内有多个开发板的话一定要保证每个开发板的 ethaddr 是不同的,否则通信会有问题!
1 ping 命令
通过 ping 命令就可以验证,直接 ping 服务器的 IP 地址即可,比如我的服务器 IP 地址为 192.168.1.253
ping 192.168.1.253

注意!只能在 uboot ping 其他的机器,其他机器不能 ping uboot ,因为 uboot 没有对 ping
命令做处理,如果用其他的机器 ping uboot 的话会失败!
2 dhcp 命令
dhcp 用于从路由器获取 IP 地址,前提得开发板连接到路由器上的,如果开发板是和电脑
直连的,那么 dhcp 命令就会失效

开发板通过 dhcp 获取到的 IP 地址为 192.168.1.137 。同时在图 30.4.4.3 中可以看到“ warning no boot file name; ”、“ TFTP from server 192.168.1.1 ”这样的字样。
这是因为 DHCP 不单单是获取 IP 地址,其还会通过 TFTP 来启动 linux 内核,输入“ ? dhcp ”即可查看 dhcp 命令详细的信息

 3nfs 命令

使用 uboot 中的 nfs 命令将 Ubuntu 中的文件下载到开发板的 DRAM 中,在使用之前需要开启 Ubuntu 主机的 NFS 服务,并且要新建一个 NFS 使用的目录,以后所有要通过NFS 访问的文件都需要放到这个 NFS 目录中

nfs [loadAddress] [[hostIPaddr:]bootfilename]

 准备好以后就可以使用 nfs 命令来将 zImage 下载到开发板 DRAM 0X80800000 地址处

nfs 80800000 192.168.1.253:/home/zuozhongkai/linux/nfs/zImage
命令 md.b 来查看前 0x100 个字节的数据
4 tftp 命令
tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令
使用的 TFTP 协议, Ubuntu 主机作为 TFTP 服务器。
 (1)需要在 Ubuntu 上搭建 TFTP 服务器,需要安装 tftp-hpa 和 tftpd-hpa
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
(2)TFTP 也需要一个文件夹来存放文件,在用户目录下新建一个目录
mkdir /home/qkj/linux/tftpboot
chmod 777 /home/qkj/linux/tftpboot

注意一定要给权限不然uboot无法从中获取文件

(3)配置 tftp ,安装完成以后新建文件 /etc/xinetd.d/tftp ,如果没有 /etc/xinetd.d 目录的话自行创建
vi /etc/xinetd.d/tftp

tftp内容

server tftp
 {
  socket_type = dgram
  protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /home/zuozhongkai/linux/tftpboot/
  disable = no
  per_source = 11
  cps = 100 2
  flags = IPv4
 }
sudo service tftpd-hpa start#启动 tftp 服务

(4)

vi /etc/default/tftpd-hpa

修改内容至如下
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/zuozhongkai/linux/tftpboot"
TFTP_ADDRESS=":69" 
TFTP_OPTIONS="-l -c -s"
sudo service tftpd-hpa restart #重启 tftp 服务器

 (5)将 zImage 镜像文件拷贝到 tftpboot 文件夹中,并且给予 zImage 相应的权限

cp zImage /home/qkj/linux/tftpboot/
cd /home/qkj/linux/tftpboot/
chmod 777 zImage

(6)tftp 命令格式:

tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

loadAddress 是文 件在 DRAM 中的 存放 地址 ,
[[hostIPaddr:]bootfilename]是要从 Ubuntu 中下载的文件。
但是和nfs命令的区别:tftp 命令不需要输入文件在Ubuntu 中的完整路径,只需要输入文件名即可

tftp 80800000 zImage

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiuqiu1186

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值