ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Uboot启动参数说明

2021-04-16 14:05:47  阅读:249  来源: 互联网

标签:Uboot 定义 启动 Boot setenv 参数 环境变量 bootargs


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脚本。

标签:Uboot,定义,启动,Boot,setenv,参数,环境变量,bootargs
来源: https://blog.51cto.com/u_15169172/2710938

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有