Boot环境变量的解释说明

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

U-Boot源代码下载地址

参考U-boot,其环境变量设置如下:
Uboot> printenv

bootdelay=3

baudrate=115200

ethaddr=00:12:34:56:78:9a

ipaddr=192.168.0.9                         ①

serverip=192.168.0.1                ②

netmask=255.255.255.0

rootpath=/home/zht/rfsys            ③

stdin=serial

stdout=serial

stderr=serial

bootcmd=tftp 21000000 uImage;bootm 21000000     ④

bootargs=root=/dev/nfs rw nfsroot=192.168.0.1:/home/zht/rfsys nfsaddrs=192.168.0.48: 192.168.0.1:192.168.0.1:255.255.255.0 console=ttyS0,115200 mem=32M   ⑤

① 设置目标板IP地址

② 设置服务器IP地址

③ 设置根文件系统在服务器上的路径,注意该路径一定要设定为服务器上的nfs目录。

④ bootcmd是u-boot启动后执行的命令,命令之间用分号分隔。

tftp 21000000 uImage 表示通过tftp 将内核映像下载到RAM中地址为0x21000000;

bootm 21000000 启动linux操作系统

在保存环境变量bootcmd 时 注意命令格式

setenv bootcmd "nand read 31000000 0x60000 500000;bootm 31000000"

若去掉“” 可能会导致 键入回车后立马启动内核。导致这个问题的原因可能是我移植的uboot的问题,具体可通过查看修改代码解决。

⑤ 定义u-boot传送给linux内核的命令行参数,该命令行指定以网络文件系统作为根文件系统。

其中root=/dev/nfs,并非真的设备,而是一个告诉内核经由网络取得根文件系统的旗标。

参数nfsroot这个参数告诉内核以那一台机器,那个目录以及那个网络文件系统选项作为根文件系统使用。参数的格式如下:

nfsroot=[:][,]

如果指令列上没有给定 nfsroot 参数,则将使用‘/tftpboot/%s’预设值。其它选项如下:

--指定网络文件系统服务端的互联网地址(IP address)。如果没有给定此栏位,则使用由 nfsaddrs 变量(见下面)所决定的值。此参数的用途之一是允许使用不同机器作为反向地址解析协议(RARP) 及网络文件系统服务端。通常你可以不管它(设为空白)。

-- 服务端上要作为根挂入的目录名称。如果字串中有个‘%s’ 符记(token),此符记将代换为客户端互联网地址之 ASCII 表示法。

-- 标准的网络文件系统选项。所有选项都以逗号分开。如果没有给定此选项栏位则使用下列的预设值:

port            = as given by server portmap daemon

rsize           = 1024

wsize           = 1024

timeo           = 7

retrans         = 3

acregmin        = 3

acregmax        = 60

acdirmin        = 30

acdirmax        = 60

flags           = hard, nointr, noposix, cto, ac   

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyppfj.html