Linux下訪問u boot環境變數簡介

2021-09-24 20:53:33 字數 1498 閱讀 8141

uboot下可以通過命令訪問和修改環境變數,但是如果需要在linux系統下訪問這些資料該怎麼辦呢?其實uboot早就幫我們想好了。

1、編譯fw_printenv工具

在你使用的uboot**中用以下編譯指令:

make env

這樣就可以編譯tools/env下的**,編譯出的fw_printenv工具有讀寫uboot環境變數區的能力。這個工具是針對目標機的,也就是說如果你的uboot**之前是針對arm編譯的話,fw_printenv也是交叉編譯給arm晶元的。

2、安裝fw_printenv工具

到/tools/env目錄中,將編譯好的fw_printenv拷貝到目標機的檔案系統中,並通過"ln -s fw_printenv fw_setenv",建立乙個fw_setenv到fw_printenv的軟鏈。

這個工具還需要乙個配置檔案,以獲取uboot的env區域的位置資訊。預設狀態下,請將fw_env.config檔案拷貝到目標機的檔案系統的/etc目錄下。然後結合uboot配置中定義的env區和linux下mtd分割槽的情況修改配置檔案。具體的修改方法見fw_env.config檔案中的說明及/tools/env/readme檔案。

3、fw_printenv工具的使用

其實fw_printenv使用起來和uboot下的printenv和setenv指令是一模一樣的。

fw_printenv [[ -n name ] | [ name ... ]]

# ./fw_printenv -n baudrate

115200

# ./fw_printenv baudrate

baudrate=115200

如果不指定name,fw_printenv會列印出env區中的所有環境變數

fw_setenv name [ value ... ]

如果不指定value,表示要刪除這個name的環境變數。

# ./fw_setenv temp tekkaman

# ./fw_printenv -n temp

tekkaman

# ./fw_setenv temp

# ./fw_printenv -n temp

## error: "temp" not defined

對uboot中環境變數testsequence的引用,可以使用如下的方式:先定義乙個臨時檔案,將uboot中的環境變數寫進入,然後source,之後就可以在當前shell中用$testsequence的形式呼叫該環境變數。

#!/bin/sh

tmp_id="/tmp/lgf.txt"

fw_printenv testsequence >> $tmp_id  

source $tmp_id

echo "$testsequence"

linux下讀寫u boot環境變數驗證

uboou版本 u boot 2018.01 核心版本 4.19.0 xilinx 作業系統 debian gnu linux 8 jessie 使用工具 fw printenv uboot下可以通過命令訪問和修改環境變數,但有時候我們也需要在linux系統下訪問這些資料。為此u boot為我們實現...

Linux環境下Mysql開啟遠端訪問許可權

如何通過window的資料庫視覺化工具遠端連線裝在linux上的mysql呢?可以按照以下步驟逐一確認!netstat ntlp grep mysql 先執行 vim etc my.cnf mysqld port 3306 bind address 0.0.0.0 這一行改成0.0.0.0 或者直接...

ubuntu環境下訪問windows共享目錄

在ubuntu環境下訪問windows共享目錄 一 windows端設定 1 新建乙個用於訪問共享目錄的賬戶,或者使用已有使用者。新使用者可直接在 控制面板 的 使用者管理 中新增。也可通過cmd命令 管理員許可權 net user a aaa add 新增普通許可權的使用者a,密碼aaa 2 新建...