[英]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.