簡體   English   中英

如何從 NAND 中已安裝的 u-boot 自動設置 u-boot env?

[英]How to set u-boot env automatically from installed u-boot in NAND?

我的 NAND 中有兩個 u-boot 分區:

0:啟動 0x00400000 0x00000000 0

1:ubootenv 0x00100000 0x00400000 0

我在板 header 文件的#define CONFIG_EXTRA_ENV_SETTINGS 中定義了 bootaugs 和 bootcmd,構建了 u=boot 並將 u-boot 安裝到 NAND 引導分區,但是在 NAND 引導期間,如果 CONFIG_EXTRA_ENV_SETTINGS 不會自動設置 bootaugs 和 bootcmd 到 ubootenv 分區不能用來自動設置開機參數,有什么用? 如何在不手動設置u-boot的情況下為NAND boot自動設置u-boot參數?

謝謝你。

親切的問候

方法一:您可以在scope DEFAULT_ENV_INSTANCE_EMBEDDED的文件“./include/env_default.h”中設置環境,並作為項目U-boot中數組const uchar default_environment[]的成員。 這是一個例子。

#ifdef DEFAULT_ENV_INSTANCE_EMBEDDED

const uchar default_environment[] = {
#define IP "10.1.1.245"
#define N_MSK "255.255.255.0"
#define S_IP "10.1.1.159"

"ipaddr="IP"\0"
"netmask="N_MSK"\0"
"serverip="S_IP"\0"
}
#endif

方法二:U-boot 提供了另一種永久設置環境變量的方法。 這里的思路是在 U-boot 提示符中設置變量,然后保存到 U-boot 環境分區。 在每次啟動時,將從 U-boot 環境中調用變量。 這是程序。

=> env set net_args "setenv bootargs console=ttyO0,115200 root=/dev/nfs ip=10.1.1.245 nfsroot=10.1.1.169:/nfsroot_am335,v3,tcp"
=> env set net_boot "run ld_lnx_tftp; run net_args; bootz ${loadaddr} - ${fdtaddr}"
=> env save

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM