(bootload)Uboot网络操作命令
(bootload)Uboot网络操作命令我们在移植Linux之前需要先移植一个能配置操作linux内核的bootloader,bootloader就相当于Window的BIOS,这边移植的是U-boot。而U-boot是支持网络的,可利用U-boot的网络功能调试linux kernel,U-boot的基本网络操作命令主要有:dhcp、ping、nfs、tftpboot。一、配置开发板的网络要使
(bootload)Uboot网络操作命令
我们在移植Linux之前需要先移植一个能配置操作linux内核的bootloader,bootloader就相当于Window的BIOS,这边移植的是U-boot。而U-boot是支持网络的,可利用U-boot的网络功能调试linux kernel,U-boot的基本网络操作命令主要有:dhcp、ping、nfs、tftpboot。
一、配置开发板的网络
要使用网络,首先需要调通网络。使电脑PC与开发板实现通信,从而后续可以直接通过电脑PC对开发板进行调试。
首次使用开发板,需要配置开发板的网络,使用路由器连接电脑PC和开发板,使其处于同一个局域网,通过串口连接上开发板,使用SecureCRT进入到开发板的调试命令模式,使用以下命令手动配置U-boot的网络环境变量:
环境变量设置成功后效果如图所示。
(1)dhcp命令
除了手动配置开发板的网络外,还可以通过dhcp命令从路由器自动获取IP,使用路由器连接电脑PC和开发板,使其处于同一个局域网,从SecureCRT进入到开发板的调试命令模式,输入“dhcp”命令:dhcp命令不仅可以使开发板从路由器获取到IP,其还会通过TFTP来启动 linux 内核,输入“? dhcp”即可查看 dhcp 命令详细的信息。
此处获取到的IP地址为192.168.31.62,此处tftp启动linux内核配置未完成,所以暂无法正确启动。
设置完毕后,我们可以从路由器查询到我们连接设备的IP。
(2)ping命令
配置完开发板的网络后,可以通过ping命令验证开发板的网络是否可用,是否可以和服务器(Ubuntu主机)进行通信,ping命令则是直接ping服务器主机的IP便可(eg:ping 192.168.31.183)
只能在uboot中ping其他的机器,其他机器不能ping uboot,因为uboot没有对ping命令做处理,如果用其他的机器ping uboot的话会失败!
二、nfs命令和tftp命令
(1)nfs命令
nfs(nfsetwork File System)网络文件系统:通过 nfs 可以在计算机之间通过网络来分享资源(eg:通过nfs把ubuntu里面的linux镜像和设备树文件下载到开发板的DRAM),Ubuntu 的 NFS 服务开启步骤如下:
1、安装 NFS 服务:sudo apt-get install nfs-kernel-server rpcbind
2、在/home/lixiaobai/linux路径下,新建一个名为“nfs”的文件夹
3、配置 nfs:sudo vi /etc/exports,打开/etc/exports 以后在后面添加如下所示内容:/home/lixiaobai/linux/nfs *(rw,sync,no_root_squash)
4、重启 NFS 服务,使用命令如下: sudo /etc/init.d/nfs-kernel-server restart
5、nfs服务开启后,把需要下载的文件放入到nfs文件夹,电脑PC端与开发板连接到同一个局域网(PC电脑与开发板连接到同一个路由器),通过secureCRT连接上开发板,进入到U-boot的命令操作模式,输入以下命令:nfs 80800000 192.168.31.183:/home/lixiaobai/linux/nfs/zImage(效果如图所示)
6、最后可以使用md.d命令查看写入到DRAM里面的数据,并使用软件winhex软件对比zImage的数据是否一致,看是否下载成功。
(2)tftp命令
tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令使用的 TFTP 协议
1、在 Ubuntu 上搭建 TFTP 服务器:
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
2、在用户目录下新建一个目录存放文件(给予权限):
mkdir /lixiaobai/linux/tftpboot
chmod 777 /home/lixiaobai/linux/tftpboot
3、配置tftp服务器
(1)新建文件/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/lixiaobai/linux/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
完了以后启动 tftp 服务:sudo service tftpd-hpa start
(2)打开/etc/default/tftpd-hpa 文件,将其修改为如下所示内容:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/lixiaobai/linux/tftpboot"(为上面我们创建的文件夹)
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
最后输入以下命令重启 tftp 服务器:sudo service tftpd-hpa restart
4、把需要下载的文件放入到tftpboot文件夹,电脑PC端与开发板连接到同一个局域网(PC电脑与开发板连接到同一个路由器),通过secureCRT连接上开发板,进入到U-boot的命令操作模式,输入以下命令:tftp 80800000 zImage
配置好后,若出现无法下载的情况,可先复位下开发板,若还是无法正常使用,可从头排查修改的内容是否有误。
更多推荐
所有评论(0)