歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> U-Boot環境變量的解釋說明

U-Boot環境變量的解釋說明

日期:2017/3/1 11:10:49   编辑:Linux編程

U-Boot環境變量的解釋說明 環 境 變 量 解 釋 說 明
bootdelay 定義執行自動啟動的等候秒數
baudrate 定義串口控制台的波特率
netmask 定義以太網接口的掩碼
ethaddr 定義以太網接口的MAC地址
bootfile 定義缺省的下載文件
bootargs 定義傳遞給Linux內核的命令行參數
bootcmd 定義自動啟動時執行的幾條命令
serverip 定義tftp服務器端的IP地址
ipaddr 定義本地的IP地址
stdin 定義標准輸入設備,一般是串口
stdout 定義標准輸出設備,一般是串口
stderr 定義標准出錯信息輸出設備,一般是串口

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

參考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

Copyright © Linux教程網 All Rights Reserved