uboot挂载

linux内核启动

ubuntu准备工作

1,安装tftp服务并配置服务目录

拷贝zImage和xxx.dtb到tftp服务目录下

2,安装nfs服务并配置服务目录

拷贝rootfs.tar.bz2到nfs服务目录下解压,解压命令:sudo tar -xvf 文件名

uboot命令

help:查看uboot支持的命令

reset:uboot阶段重启命令

ping:测试网络

printenv(print):打印环境变量,前者都能用,后者一般都能用

setenv key value:设置环境变量,所有环境变量均为字符串类型

saveenv:保存环境变量,一般保存在MMC中

setenv name:删除环境变量(将环境变量的值设为空)

tftp相关环境变量

ipaddr:ip地址

ethaddr:mac地址

serverip:tftp服务端ip、

tftp下载

tftp 0x80800000 zImage:将serverip中的zImage下载到内存0x80800000地址处

tftp 0x83000000 imx6.dtb:将serverip中的imx6.dtb下载到内存0x83000000地址处

启动内核

bootz 0x80800000 - 0x83000000

实操

1,启动电源,在引导启动前按下回车,进入U-Boot 的命令行交互模式

IN、OUT、ERR就是文件描述符的0、1、2,这是在初始化时钟等操作

2,此时ls,cd等linux命令也行不通,因为这还只是启动程序,ping不通这是因为没有配置ip

3,通过printenv查看环境变量

第一行为波特率115200,第二行为板名字

4,通过setenv设置环境变量,设置IP地址

此时便可在printenv打印出的环境变量中找到ipaddr的环境变量,但是如果只是这样,经过断电重上电后,IP是不会保留的

5,通过saveenv保存在MMC中,断点重上电后便会保留

6,再次ping还不通,但是报错和上次不同,这是开发板MAC物理地址没有配置

7,设置enther,此时便可ping通,但是无法从Ubuntu ping通,因为uboot中的ping是单向的

8,下载操作报错,这是因为没有指定下载的IP地址,也就是不知道从哪下

9,指定服务端ip

10,开始下载,imx6.dtb经过重命名

#与下载大小有关,一个#代表一个数据包

11,bootz 0x80800000 - 0x83000000启动,失败

12, setenv bootargs console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.3:/home/linux/nfs/imx6/rootfs,nfsvers=3 ip=192.168.1.100 init=/linuxrc

setenv bootargs:U-Boot 命令用于设置内核启动参数环境变量,将后续所有配置传递给 Linux 内核。

**console=ttymxc0,115200:**指定内核控制台输出设备为 i.MX6ULL 的 ttymxc0 串口,波特率为 115200,需与终端工具设置一致。

**root=/dev/nfs:**核心参数,告诉内核根文件系统通过 NFS 网络挂载,而非本地存储(如 SD 卡)。

**nfsroot=192.168.1.3:/home/linux/nfs/imx6/rootfs,nfsvers=3:**指定 NFS 根文件系统位置与挂载选项:

192.168.1.3:NFS 服务器(Ubuntu 主机)的 IP 地址

/home/linux/nfs/imx6/rootfs:服务器上共享的根文件系统目录

nfsvers=3:指定 NFS 协议版本为 3,解决嵌入式兼容性问题

**ip=192.168.1.100:**设置开发板的静态 IP 地址,需与 Ubuntu 主机在同一网段以保证通信正常。

**init=/linuxrc:**指定内核启动后第一个运行的初始化进程,对应 NFS 根目录下的 /linuxrc 脚本。

13,再次下载,成功

相关推荐
_OP_CHEN30 分钟前
【Linux系统编程】(三十九)吃透线程概念:从底层原理到实战应用
linux·运维·操作系统·线程·进程·多线程·c/c++
_OP_CHEN33 分钟前
【MySQL数据库基础】(一)保姆级 MySQL 环境配置教程!CentOS 7+Ubuntu 双系统全覆盖
linux·数据库·sql·mysql·ubuntu·centos·环境配置
Codefengfeng36 分钟前
linux系统安装软件教程
linux·运维·服务器
杜子不疼.4 小时前
UU云电脑深度测评:高性价比游戏云电脑,办公版本即将推出
服务器·游戏·电脑
袁袁袁袁满7 小时前
Linux云服务器如何判断系统是否发生过异常断电?
linux·运维·服务器
一只鹿鹿鹿7 小时前
智慧水利一体化建设方案
大数据·运维·开发语言·数据库·物联网
学不完的7 小时前
haproxy
linux·运维·https·负载均衡·haproxy
LCG元7 小时前
STM32MP1边缘网关:Linux系统下Modbus转MQTT协议转换实战
linux·stm32·嵌入式硬件
cyber_两只龙宝8 小时前
Nginx--企业高性能web服务器高级配置详解
linux·运维·nginx·云原生
如若12310 小时前
AutoDL云服务器 NVIDIA 570驱动 EGL渲染修复全记录
运维·服务器·python