Uboot启动参数说明

2023-11-13

29.Uboot 启动参数说明:

bootcmd=cp.b 0xc4200000 0x7fc0 0x200000 ; bootm

// 倒计时到 0 以后,自动执行的指令

bootdelay=2

baudrate=38400

// 串口波特率,一般使用 38400

ethaddr=08:00:3e:26:0a:5c

bootfile="uImage"

ethact=lan911x

serverip=10.117.192.3

// 指定 linux 服务器的 ip 地址,在进行 tftp 等命令操作时会用到

gatewayip=10.117.192.1

// 指定网关地址

netmask=255.255.255.0

// 指定子网掩码

ipaddr=10.117.192.216

// 指定当前开发板的 ip 地址

bootargs=root=/dev/mtdblock0 mem=32M

// 传给 kernel 启动执行的参数,比如使用 ramdisk 还是 nfs 等

mtdparts=armflash.1:12M@0x400000(jffs2) console=ttyAMA0,38400 macaddr=0216 rootfstype=jffs2

stdin=serial

stdout=serial

stderr=serial

verify=n

附加:

bootdelay - uboot 启动后多少秒后自动执行 bootcmd 里设置的命令,即自启动,如果 bootcmd 参数没有配置,则 bootdelay 不会起作用

 

jffs2 类型的 fs 直接在板上运行,并且地址从 0xc4400000 开始有 4M ,由 bootargs 参数里的 root=/dev/mtdblock0 mtdparts=armflash.1:4M@0x400000(jffs2) 这两项指定。 macaddr=08003e260a55 这个配置了板的 mac 地址,每块板都应该有一个不同的 mac 地址

 

30.Linux Kernel 常用参数样例

Ramdisk 启动参数 :

setenv bootargs root=/dev/ram0 initrd=0x2800000,24M rootfstype=ext2 mem=64M console=ttyAMA0

nfs 启动参数 :

setenv bootargs root=/dev/nfs nfsroot=192.168.1.7:/opt/yz/nfs,rw ip=192.168.1.160 mem=64M console=ttyAMA0

jffs2 启动参数 :

setenv bootargs root=/dev/mtdblock0 mem=16M mtdparts=armflash.1:4M@0x400000(jffs2) macaddr=9854 rootfstype=jffs2 console=ttyAMA0

 

31.ubbot 启动信息说明

U-Boot 1.1.3 (Apr 22 2008 - 10:21:13)

U-Boot code: 00800000 -> 00815850 BSS: -> 0081B184

RAM Configuration:

Bank #0: 00000000 64 MB

Flash: 16 MB

In:    serial

Out:   serial

Err:   serial

Net:   lan911x_init

lan911x

Hit any key to stop autoboot: 0

6.4.3 U-Boot的环境变量
有点类似 Shell , U-Boot 也使用环境变量。可以通过 printenv 命令查看环境变量的设置。
 
U-Boot> printenv
bootdelay=3
baudrate=115200
netmask=255.255.0.0
ethaddr=12:34:56:78:90:ab
bootfile=uImage
bootargs=console=ttyS0,115200 root=/dev/ram rw initrd=0x30800000,8M
bootcmd=tftp 0x30008000 zImage;go 0x30008000
serverip=192.168.1.1
ipaddr=192.168.1.100
stdin=serial
stdout=serial
stderr=serial
 
Environment size: 337/131068 bytes
U-Boot>
 
表6.5是常用环境变量的含义解释。通过printenv命令可以打印出这些变量的值。
表6.5                                                  U-Boot环境变量的解释说明

 

环 境 变 量
解 释 说 明
bootdelay
定义执行自动启动的等候秒数
baudrate
定义串口控制台的波特率
netmask
定义以太网接口的掩码
ethaddr
定义以太网接口的MAC地址
bootfile
定义缺省的下载文件
bootargs
定义传递给Linux内核的命令行参数
bootcmd
定义自动启动时执行的几条命令
serverip
定义tftp服务器端的IP地址
ipaddr
定义本地的IP地址
stdin
定义标准输入设备,一般是串口
stdout
定义标准输出设备,一般是串口
stderr
定义标准出错信息输出设备,一般是串口

 

 
U-Boot的环境变量都可以有缺省值,也可以修改并且保存在参数区。U-Boot的参数区一般有EEPROM和Flash两种设备。
环境变量的设置命令为setenv,在6.2.2节有命令的解释。
举例说明环境变量的使用。
 
=>setenv serverip 192.168.1.1
=>setenv ipaddr 192.168.1.100
=>setenv rootpath "/usr/local/arm/3.3.2/rootfs"
=>setenv bootargs "root=/dev/nfs rw nfsroot=/$(serverip):/$(rootpath) ip=
/$(ipaddr) "
=>setenv kernel_addr 30000000
=>setenv nfscmd "tftp /$(kernel_addr) uImage; bootm /$(kernel_addr) "
=>run nfscmd
 
上面定义的环境变量有serverip ipaddr rootpath bootargs kernel_addr。环境变量bootargs中还使用了环境变量,bootargs定义命令行参数,通过bootm命令传递给内核。环境变量 nfscmd中也使用了环境变量,功能是把uImage下载到指定的地址并且引导起来。可以通过run命令执行nfscmd脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Uboot启动参数说明 的相关文章

  • uboot配置和编译过程详解-2.4.uboot和系统移植第4部分-朱有鹏-专题视频课程

    uboot配置和编译过程详解 2 4 uboot和系统移植第4部分 4163人已学习 课程介绍 本课程为uboot学习的第四部分 xff0c 主要目标是详细分析和介绍uboot的主makefile和配置脚本mkconfig 本部分学习的目的
  • 【教程】保姆级红米AX6000刷UBoot和OpenWrt固件

    转载请注明出处 xff1a 小锋学长生活大爆炸 xfxuezhang cn 目录 开启SSH 刷入UBoot 刷入Openwrt 设置Openwrt 刷回小米原厂固件 相关文件已为大家上传到国内云盘 xff1a https xfxuezha
  • uboot移植Linux-SD驱动代码解析

    一 uboot与linux驱动 1 1 uboot本身是裸机程序 1 狭义的驱动概念是指 xff1a 操作系统中用来具体操控硬件的代码叫驱动 广义的驱动概念是指 xff1a 凡是操控硬件的代码都叫驱动 2 裸机程序中是直接使用寄存器的物理地
  • iMX6ULL-UBoot移植

    U Boot移植 文章目录 U Boot移植 1 获取源码 1 1 从u boot官网获取 1 2 从芯片厂商获取 1 3 从开发板厂商获取 2 移植 2 1 生成自己的配置文件 2 1 1 拷贝参考板的配置文件 2 1 2 生成修改配置文
  • 三星S5P6818之UBOOT网络配置

    三星S5P6818之UBOOT网络配置 使用友善提供的固件烧写到SD卡发现UBOOT并不能联网 于是研究了UBOOT源码 并调通了网络 以下步骤亲测可用 前言 这个适合友善nanopi3系列的开发板 M3 Fire3 T3等 或者其他使用
  • 嵌入式开发——uboot中命令执行函数(main_loop函数)

    1 main loop 函数源码 从uboot中摘抄的部分main loop函数 为了便于理解 函数只保留了主线部分代码 一些用宏定义控制的代码被删除掉了 void main loop void static char lastcomman
  • uboot编译报错解决

    uboot编译报错 root ubuntu home gjt uboot u boot 2015 01 make scripts kconfig conf silentoldconfig Kconfig scripts kconfig co
  • 嵌入式开发(S5PV210)——u-boot中如何确定启动方式

    1 嵌入式设备确认启动方式 设备确认启动方式分为硬件方式和软件方式 硬件方式是通过芯片某几个引脚的高低电平来决定启动方式 软件方式就是通过代码设置来决定启动方式 1 硬件方式 比如S5PV210芯片 通过拨码开关去设置芯片引脚的高低电平来设
  • 23. 基于Cortex-A9 uboot代码启动分析

    本篇文章是彭老师第一次在B站直播间 边直播边记录笔记 视频已经上传到B站 现在完善整理成该篇文章 有想学习uboot启动的代码详细流程的老铁可以进入我B站空间配合视频一起学习 视频地址 B站用户名 一口Linux 目录 前言 一 uboot
  • 虚拟文件系统

    VFS的层次 文件系统实现与用户进程 或C库 之间 文件系统分类 基于磁盘的文件系统 ext2 3 fat iso9660 虚拟文件系统 proc 网络文件系统 nfs 通用文件模型 VFS提供一种结构模型 包含了一个强大的文件系统所应具备
  • 交叉编译工具链中GUN常用命令简介

    一 交叉编译工具链前缀 arm none linux gnueabi 二 常用命令 注 此处以汇编点亮led灯代码为例 重点掌握 1 gcc 编译命令 arm none linux gnueabi gcc c S或 c o o eg arm
  • 玩转树莓派4B之Uboot移植

    此文参考了以下文章 https blog csdn net weixin 42233878 article details 84980951 个人使用的编译环境为ubuntu1904 64位 我的目的是修改树莓派的uboot代码并且看下深入
  • s5p4418的uboot网络无法使用问题解决

    一 前言 s5p4418 是一个三星的基于ARM的 cortex A9的四核处理器 这个 处理器目前常用的两个系统层固件分别是 uboot2014 linux3 4 39 和 uboot2016 linux4 4 172 两个版本 本次针对
  • NXP imx6ull uboot-imx-rel_imx_4.1.15无法从SD卡加载内核

    我imx6ull使用的是正点原子的alpha开发板 我将我的SD卡分成了两个分区 第一个分区格式化为fat 用来存放zImage和dtb 第二个分区格式化为EXT4格式 这个分区作为根文件系统 遇到的问题是 我编译好kernel后 尝试通过
  • TQ210烧写uboot secureCRT和minicom都没有信息输出

    前几天一直在纠结TQ210烧写uboot 串口没有信息打印信息输出 结果又是这样的 说明波特率 串口号都是正确的 开发板一上电 按住空格键 结果还是一样 本以为是这个软件是破解版 有BUG 好 切换到LINUX 使用minicom 试试 还
  • linux文件系统初始化过程(4)---加载initrd(中)

    一 目的 上文详细介绍了CPIO格式的initrd文件 本文从源代码角度分析加载并解析initrd文件的过程 initrd文件和linux内核一般存储在磁盘空间中 在系统启动阶段由bootload负责把磁盘上的内核和initrd加载到指定的
  • 【uboot内核适配学习】uboot 修改默认ip

    1 修改默认ip作用 设备出场的时候都需要默认的ip 2 修改措施 找到uboot芯片配置文件 不同芯片厂家适配的文件必定是不一样的 位置也可能不一样 define CONFIG ETHADDR 00 40 5c 26 0a 5b MAC地
  • u-boot 可以支持多个以太网端口吗?

    我想从多个以太网端口执行 ping 操作 u boot 仅支持单个以太网端口是否存在固有限制 u boot 可以支持多个以太网端口吗 是的 在最近版本的 U Boot 中 至少可以追溯到 2012 10 突出的代码是eth current
  • 使用 U-boot 将 Coral Dev Kit EMMC 安装为 USB

    我按照这个答案的说明进行操作 备份和恢复eMMC https stackoverflow com questions 64176284 backing up and restoring the emmc也在这里描述 https develo
  • Beaglebone Black 的 U-boot 无法构建 - 目标 CPU 不支持 THUMB 指令

    我正在尝试按照 Chris Simmonds 的 掌握嵌入式 Linux 编程 中的说明为 Beagle Bone Black 构建 u boot 我已经构建了交叉工具链 现在正在尝试使用该工具链构建 Das U boot 但由于不支持 T

随机推荐

  • Pyinstaller 打包.py生成.exe的方法和报错总结

    Pyinstaller 打包 py生成 exe的方法和报错总结 简介 有时候自己写了个python脚本觉得挺好用想要分享给小伙伴 但是每次都要帮他们的电脑装个python环境 虽然说装一下也快 但是相对来说效率还是不高 要是能将python
  • 【AI &Data Science】第 1 章分析性思维与 人工智能驱动的企业

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • DHCP设置之起始地址与结束地址

    路由器设置ip地址 subnet mask dhcpstart dhcpend时 后台应该如何判断 get data ipstart websGetVar wp T start T ipend websGetVar wp T end T i
  • do while(0)的作用

    在嵌入式开发的过程中 我们经常可以在一些优秀开源代码的头文件里发现一些宏定义使用了do while 0 语句 也许你会疑惑do while 0 中的代码不就是只执行一次吗 为什么还要多此一举使用do while 0 循环结构去包裹呢 实际上
  • 卷积、池化、激励函数的顺序

    以下内容为个人的看法 顺序 卷积 池化 激励函数 我们知道卷积肯定是在第一层 毕竟 wx b wx b 就是卷积操作 那为什么池化要在激励函数之前呢 原因解析 假设激励函数是 relu 激励函数 并假设我们卷积后的值为 3 2 1 2 对于
  • 【总结】Typescript 结合Vue3的写法

    目录 前言 一 结合写法 1 ref 2 reactive 3 defineProps 4 defineEmits 5 computed 6 事件处理函数 7 html元素引用 8 组件实例 二 拓展补充 1 keyof 操作符 2 typ
  • 把代码做成笔记——Jupyter Notebook

    此文章首发于微信公众号Python for Finance 链接 https mp weixin qq com s KDCmpgwPbvrkRIuojtLpNg 什么是Jupyter Notebook Spyder Spyder代码编辑区
  • [算法]最大子串和

    题目描述 首先有一串数字 共有n个 从n个数中找到连续子序列和的最大值 解法一 暴力破解法 看到这个问题时第一时间想到的就是暴力破解法 遍历所有子序列 最终得到最大值 e g 1 2 3 4 5 6 共有六个数 所有组合为 1 2 3 4
  • Linux Shell编程之数组及参数传递

    1 Shell数组 Bash Shell 只支持一维数组 不支持多维数组 初始化时不需要定义数组大小 数组元素的下标由 0 开始 下标可以是整数或算术表达式 其值应大于或等于 0 1 1 定义数组 语法 数组名 值1 值2 值n 或者 数组
  • vue cli npm run build打生产环境包报错Cannot read property ‘pop‘ of undefined

    问题出在webpack配置的代码拆分splitChunks 解决办法 每个cacheGroups中配置enforce true
  • SpringGateway转发过程

    为什么写 就想看看springgateway的限流咋做的 但是看着看着就想知道转发过程 然后就写了 总之 转发是通过重组请求头header uri等信息建立netty客户端连接的访问过程 Lettuce相较于Jedis有哪些优缺点 Lett
  • LaTeX 常用符号命令大全

    函数 符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 bar x acute eta check alpha grave eta breve a ddot y dot x hat alpha tilde iota 函数 语法 效果
  • 开个坑, 写个阿里云开放储存服务(OSS)的C++版SDK以及客户端

    这应该是继我研究手册QQ协议后的第2个稍微正式一点的网络程序 不只是Scoket套接字编程 还涉及到更多的HTTP协议知识 阿里云开放储存服务OSS官方已经提供了不少SDK 包括PHP Python Java C 但唯独没有C C 的 很可
  • Python 编程进阶经典算法逻辑编程 剑指Offer

    目录 1 找到数组中重复数字 字符 返回出现频次最多 2 给定一个二维数组 其每一行从左到右递增排序 从上到下也是递增排序 给定一个数 判断这个数是否在该二维数组中 3 从尾到头打印链表 4 用两个栈实现队列 5 第n项斐波那契数列 矩形覆
  • java详解动态代理中的代理对象

    相信大家都使用过动态代理 就算没有写过 应该也用过Spring来做过Bean的组织管理 如果使用过Spring 那大多数情况应该已经不知不觉地用到动态代理了 动态代理中所说的 动态 是针对使用Java代码实际编写了代理类的 静态 代理而言的
  • sql和MySQL的语句执行顺序

    sql和mysql执行顺序 发现内部机制是一样的 最大区别是在别名的引用上 一 sql执行顺序 1 from 3 join 2 on 4 where 5 group by 开始使用select中的别名 后面的语句中都可以使用 6 avg s
  • Linux软件安装-rpm详解

    Linux软件安装 rpm详解 在Linux系统中 RPM Red Hat Package Manager 是一种常见的软件包管理器 提供了方便的软件安装 升级和卸载功能 本文将详细介绍rpm的语法 实操和各种方法之间的区别及重点内容 RP
  • Mysql8.0.16在win10的安装以及navicat连接

    Mysql8 0 16在win10的安装以及navicat连接 一 安装过程 1 去mysql官网下载适合自己电脑的版本https www mysql com downloads 进入官网 官网下载极慢 建议下载个迅雷 复制链接到迅雷 体验
  • 拥抱数字经济 商用终端成为企业“必需品”

    随着各行业数字化转型进程的不断推进 英特尔作为商用终端领域的 领路人 将继续联手生态伙伴推动商用领域生产工具的变革 赋能广大企业 机构用户最终实现业务创新和产业升级 助力中国经济高质量发展和数字中国建设 作者 贾贵鹏 来源 天极网 近年来
  • Uboot启动参数说明

    29 Uboot 启动参数说明 bootcmd cp b 0xc4200000 0x7fc0 0x200000 bootm 倒计时到 0 以后 自动执行的指令 bootdelay 2 baudrate 38400 串口波特率 一般使用 38