Linuxでuブート環境にどのようにアクセスできますか?

Linuxでuブート環境にどのようにアクセスできますか?

Linuxでu-Boot環境変数にアクセスして変更する方法。 uブートディレクトリのu-boot / tools / envディレクトリを使用してください。

u-boot$ make env 

その中に実行可能ファイルが作成されますfw_printenv。 /usr/sbin およびターゲット etc/fw_env.config ファイルにコピーしました。


# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundand
# environment sector is assumed present.
# MTD device name     Device offset    Env. size    Flash sector size
/dev/mtd0          0x00000                0x20000         0x20000

target#./fw_printenv
SEGV

このエラーの原因は何ですか?

/proc/mtd

dev:    size   erasesize  name                                                  
mtd0: 00020000 00020000 "flash_uboot_env"                                       
mtd1: 002e0000 00020000 "flash_linux_image"                                     
mtd2: 00900000 00020000 "flash_jffs2"                                           
mtd3: 00900000 00020000 "flash_data"

ベストアンサー1

あなたのものは私とはfw_env.config異なります。私のu-boot環境は0x00260000-0x00280000の範囲にあります。私が覚えているように、fw_envファイルは非常に敏感であり、いくつかの列を忘れた場合、fw_setenvはあらゆる種類の奇妙なエラーを引き起こす可能性があるいくつかのデフォルト値に置き換えられます。

ちなみにここに私のfw_env.configがあります。

root@linux:~# cat /etc/fw_env.config 
# Dev. name    offset    env. size     flash sector size    nbr. sectors
  /dev/mtd1    0x00      0x2000        0x20000              1

クロスコンパイルstraceしてトラブルシューティングに使用できます。

おすすめ記事