成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • 一、查看環(huán)境變量
    • 二、增改刪環(huán)境變量
    • 三、bootargs
    • 四、bootcmd
    • 五、bootdelay
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-Uboot常用命令之環(huán)境變量命令

6小時前
129
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

uboot中環(huán)境變量的作用就是在不改變源碼、不用重新編譯的情況下,可以使我們通過設(shè)置環(huán)境變量的值來改變uboot的一些設(shè)置。uboot開機(jī)時會一次性從存儲介質(zhì)(啟動介質(zhì))中讀取全部的環(huán)境變量到內(nèi)存中作為環(huán)境變量的初始值,uboot運(yùn)行過程中用到的環(huán)境變量,都是內(nèi)存中的環(huán)境變量,用戶可以使用saveenv指令將內(nèi)存中的環(huán)境變量重新寫入存儲介質(zhì)(啟動介質(zhì))中,下次重啟系統(tǒng)時會從存儲介質(zhì)(啟動介質(zhì))中讀取更新過的環(huán)境變量。

一、查看環(huán)境變量

輸入printenv命令,即可查看所有環(huán)境變量(圖片只截取了一部分):

圖中我們看到環(huán)境變量的基本模式是:變量名=變量值,這個變量值就是一串字符串,程序通過解析字符串,得到所需參數(shù)(如baudrate=115200)或者所要執(zhí)行的操作(如mmcargs)。

二、增改刪環(huán)境變量

(一)我們可以添加一個自己的環(huán)境變量,比如添加一個firstenv變量,并設(shè)置值為elf:

=>setenv firstenv elf

保存:

=>saveenv

saveenv命令是保存環(huán)境變量到eMMC Flash,如果不使用此命令,那么只是將環(huán)境變量存儲到了內(nèi)存中,斷電之后,此變量將丟失。

然后使用printenv命令查看環(huán)境變量添加成功:

=>printenv

filesize=5fa38

firstenv=elf

image=zImage

或者使用“printenv 變量名”查看:

=> printenv firstenv

firstenv=elf

(二)更改環(huán)境變量的值,這次我們不保存saveenv:

=> setenv firstenv imx6ull

然后使用printenv命令查看結(jié)果,變量值更改成功:

=> printenv firstenv

firstenv imx6ull

(三)刪除一個環(huán)境變量,刪除firstenv環(huán)境變量,使用setenv變量名,不賦任何值:

=> setenv firstenv

=> saveenv

使用printenv查看結(jié)果,發(fā)現(xiàn)該變量不存在,表示刪除成功:

=> printenv firstenv

# # Error: “firstenv” not defined

三、bootargs

bootargs是一個重要的環(huán)境變量,主要是給內(nèi)核傳遞參數(shù),整個環(huán)境變量都是圍繞著bootargs來設(shè)置的。bootargs非常的靈活,內(nèi)核和文件系統(tǒng)的不同搭配就會有不同的設(shè)置方法。下面介紹一下bootargs常用參數(shù),bootargs的種類繁多,而且隨著kernel的發(fā)展會出現(xiàn)一些新的參數(shù),使得設(shè)置會更加靈活多樣。

我們現(xiàn)在使用printenv bootargs命令查看一下bootargs環(huán)境變量:

=> printenv bootargs

# # Error: “bootargs” not defined

可以看到bootargs并沒有設(shè)置,使用printenv命令查看,發(fā)現(xiàn)bootargs是在mmcargs環(huán)境變量中設(shè)置的,而mmcargs是在bootdelay倒計時結(jié)束之后,由bootcmd(bootcmd介紹在下一節(jié))執(zhí)行的:

我們使用run命令執(zhí)行一下mmcargs:

=> run mmcargs

然后再printenv bootargs,可以看到bootargs環(huán)境變量設(shè)置成功:

=> printenv bootargs

bootargs=console=ttymxc0,115200 calibrate=y root=/dev/mmcblk1p2 rootwait rw

其中:

console:表示使用的串口終端控制臺,這里使用的是ttymxc0,波特率是115200。

root:表示文件系統(tǒng)相關(guān)參數(shù)。其中/dev/mmcblk1p2表示rootfs文件系統(tǒng)掛載分區(qū)為mmcblk1的p2分區(qū)。

rootwait是指等待設(shè)備/dev/mmcblk1p2設(shè)備就緒后才嘗試掛載rootfs。如果沒有此參數(shù),Linux內(nèi)核啟動時可能會在存儲設(shè)備尚未就緒時就嘗試掛載rootfs,此時肯定掛載失敗,那么啟動也就失敗了。

rw:聲明啟動權(quán)限,即以讀寫方式啟動。

四、bootcmd

bootcmd在bootdelay倒計時結(jié)束之后開始執(zhí)行的第一條命令,主要用于啟動內(nèi)核。例如:

=> printenv bootcmd

bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi

這個bootcmd的就是一個命令集,根據(jù)設(shè)置好的環(huán)境變量,按照一定的邏輯啟動內(nèi)核。關(guān)于此處的啟動邏輯不再深入講解,有興趣的可以展開其中環(huán)境變量進(jìn)行深究。

五、bootdelay

用于倒計時,等待用戶進(jìn)入命令行。經(jīng)過以上章節(jié)講解,通過senenv可以設(shè)置bootdelay時間。

=> printenv bootdelay

bootdelay=3

相關(guān)推薦

临高县| 唐山市| 高唐县| 巴彦县| 西吉县| 岳西县| 平罗县| 安阳市| 攀枝花市| 禹城市| 阳信县| 贡山| 安化县| 营山县| 临洮县| 武义县| 磴口县| 海兴县| 梅州市| 礼泉县| 大关县| 佳木斯市| 游戏| 万源市| 拉孜县| 石城县| 蓬安县| 鄂尔多斯市| 汝阳县| 通海县| 梁河县| 晋州市| 全椒县| 秭归县| 舟山市| 黔西| 仪征市| 大方县| 古丈县| 吴忠市| 肥乡县|