| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> (bootload)Uboot网络操作命令 -> 正文阅读 |
|
[系统运维](bootload)Uboot网络操作命令 |
(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 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? ????????配置好后,若出现无法下载的情况,可先复位下开发板,若还是无法正常使用,可从头排查修改的内容是否有误。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:57:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |