如何配置 fw-utils 以在 FAT 文件系统上存储环境?
How to configure fw-utils to store environment on FAT filesystem?
我正在努力使用 fw_setenv
从用户空间设置 U-boot env 变量。
U-Boot 使用存储在 /dev/mmcblk0p1
文件 u-boot.env
中的环境变量。这是SD卡上的FAT32分区。
我还在用户空间中提供了工具 fw_setenv
和 fw_printenv
。但我不知道如何配置 /etc/fw_env.conf
所以 fw_setenv
将变量存储在上述文件中。
我使用 am43xx_evm defconfig 构建 U-boot 2015-07。有人可以帮助我吗?
据我所知,fw_printenv
和 fw_setenv
并非设计用于读取和写入配置 文件 :它们作用于伪分区偏移量在他们的配置中给出。
如果你想编辑一个普通的 U-Boot 配置文件,你将不得不使用更传统的工具。
当前的 U-Boot 支持该开发板。没有必要留在2015版本。
保存环境的命令是saveenv.
U-Boot 源的 tools/env/fw_env.config 中提供了 fw_printenv 工具的配置文件模板。
从概念上讲,U-Boot 环境是一个包含 key/value 对的数据库,其中 key
和 value
都是字符串。在操作中,U-Boot 使用环境的 RAM 副本。 RAM 副本可以通过多种机制永久保存,也可以通过多种机制进行初始填充。
持久存储机制主要有两种类型。第一种是将二进制版本直接写入多种存储设备类型中的任何一种(由 U-Boot 命令 saveenv
激活)。第二种是通过export
机制写入文本文件。
看来您正在使用第二种方法。
如果使用第一种方法,设备类型、偏移量、大小等在编译过程中引用的配置文件中指定。工具 fw_printenv/setenv
旨在使用此二进制方法。它们可以使用内置的相同设备类型、偏移量、大小进行编译,但默认情况下,从 etc/fw_env.config
.
中读取这些值
由于您使用的是第二种方法,因此您只需使用文本文件即可,不需要 fw_printenv/setenv
。
自从
以来,我一直尽可能喜欢第一种(二进制)方法
- 它受 CRC 保护
- 您可以利用对备份副本的支持
我正在努力使用 fw_setenv
从用户空间设置 U-boot env 变量。
U-Boot 使用存储在 /dev/mmcblk0p1
文件 u-boot.env
中的环境变量。这是SD卡上的FAT32分区。
我还在用户空间中提供了工具 fw_setenv
和 fw_printenv
。但我不知道如何配置 /etc/fw_env.conf
所以 fw_setenv
将变量存储在上述文件中。
我使用 am43xx_evm defconfig 构建 U-boot 2015-07。有人可以帮助我吗?
据我所知,fw_printenv
和 fw_setenv
并非设计用于读取和写入配置 文件 :它们作用于伪分区偏移量在他们的配置中给出。
如果你想编辑一个普通的 U-Boot 配置文件,你将不得不使用更传统的工具。
当前的 U-Boot 支持该开发板。没有必要留在2015版本。
保存环境的命令是saveenv.
U-Boot 源的 tools/env/fw_env.config 中提供了 fw_printenv 工具的配置文件模板。
从概念上讲,U-Boot 环境是一个包含 key/value 对的数据库,其中 key
和 value
都是字符串。在操作中,U-Boot 使用环境的 RAM 副本。 RAM 副本可以通过多种机制永久保存,也可以通过多种机制进行初始填充。
持久存储机制主要有两种类型。第一种是将二进制版本直接写入多种存储设备类型中的任何一种(由 U-Boot 命令 saveenv
激活)。第二种是通过export
机制写入文本文件。
看来您正在使用第二种方法。
如果使用第一种方法,设备类型、偏移量、大小等在编译过程中引用的配置文件中指定。工具 fw_printenv/setenv
旨在使用此二进制方法。它们可以使用内置的相同设备类型、偏移量、大小进行编译,但默认情况下,从 etc/fw_env.config
.
由于您使用的是第二种方法,因此您只需使用文本文件即可,不需要 fw_printenv/setenv
。
自从
以来,我一直尽可能喜欢第一种(二进制)方法- 它受 CRC 保护
- 您可以利用对备份副本的支持