Skip to contentSkip to conversation

env: enable accessing the environment in an EXT4 partition

PATCH Superseded Jorge Ramirez-Ortiz 2 participants 5 messages Nov 27, 2017

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 env: enable accessing the environment in an EXT4 partition

the following commit enables accessing the environment in an ext4 partition. In order to do that, some definitions need to be added to include/configs/board_x.h file.

For example to store the environment in a file named "/uboot.env" in MMC "0", where partition "1" contains the EXT4 filesystem, you should define:

  EXT4_ENV_DEVICE_AND_PART        "0:1"
  EXT4_ENV_INTERFACE              "mmc"
  EXT4_ENV_FILE                   "/uboot.env"
---
 env/Kconfig | 7 +++++++
 env/env.c   | 2 ++
 2 files changed, 9 insertions(+)
env/Kconfig +7 -0
index 2477bf8..09309ab 100644
@@ -81,6 +81,13 @@ config ENV_IS_IN_FAT
 	  - CONFIG_FAT_WRITE:
 	  This must be enabled. Otherwise it cannot save the environment file.
 
+config ENV_IS_IN_EXT4
+	bool "Environment is in a EXT4 filesystem"
+	depends on !CHAIN_OF_TRUST
+	select EXT4_WRITE
+	help
+	  Define this if you want to use the EXT4 file system for the environment.
+
 config ENV_IS_IN_FLASH
 	bool "Environment in flash memory"
 	depends on !CHAIN_OF_TRUST
env/env.c +2 -0
index 76a5608..7455632 100644
@@ -32,6 +32,8 @@ static enum env_location env_get_default_location(void)
 		return ENVL_EEPROM;
 	else if IS_ENABLED(CONFIG_ENV_IS_IN_FAT)
 		return ENVL_FAT;
+	else if IS_ENABLED(CONFIG_ENV_IS_IN_EXT4)
+		return ENVL_EXT4;
 	else if IS_ENABLED(CONFIG_ENV_IS_IN_FLASH)
 		return ENVL_FLASH;
 	else if IS_ENABLED(CONFIG_ENV_IS_IN_MMC)
Signature · 1 line
2.7.4
#1 lore raw

PATCH v3 1/1 env: enable accessing the environment in an EXT4 partition

Quoted 10 lines · Jorge Ramirez-Ortiz

the following commit enables accessing the environment in an ext4 partition. In order to do that, some definitions need to be added to include/configs/board_x.h file.

For example to store the environment in a file named "/uboot.env" in MMC "0", where partition "1" contains the EXT4 filesystem, you should define:

  EXT4_ENV_DEVICE_AND_PART        "0:1"
  EXT4_ENV_INTERFACE              "mmc"
  EXT4_ENV_FILE                   "/uboot.env"

We have examples of these kind of configurations in Kconfig today, please add them as well so the feature can be fully used, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171127/1de98303/attachment.sig>
#2 lore raw

PATCH v3 1/1 env: enable accessing the environment in an EXT4 partition

Quoted 5 lines · Tom Rini
Quoted 4 lines · Jorge Ramirez-Ortiz

the following commit enables accessing the environment in an ext4 partition. In order to do that, some definitions need to be added to include/configs/board_x.h file.

Quoted 9 lines
Quoted 6 lines

For example to store the environment in a file named "/uboot.env" in MMC "0", where partition "1" contains the EXT4 filesystem, you should define:

   EXT4_ENV_DEVICE_AND_PART        "0:1"
   EXT4_ENV_INTERFACE              "mmc"
   EXT4_ENV_FILE                   "/uboot.env"

We have examples of these kind of configurations in Kconfig today, please add them as well so the feature can be fully used, thanks!

oops, yeah, sorry about that. ok doing it now

#3 lore raw

PATCH v3 1/1 env: enable accessing the environment in an EXT4 partition

Quoted 11 lines · Jorge Ramirez
Quoted 10 lines · Tom Rini
Quoted 9 lines · Jorge Ramirez-Ortiz

the following commit enables accessing the environment in an ext4 partition. In order to do that, some definitions need to be added to include/configs/board_x.h file.

For example to store the environment in a file named "/uboot.env" in MMC
"0", where partition "1" contains the EXT4 filesystem, you should define:

Quoted 7 lines
Quoted 6 lines
Quoted 3 lines
   EXT4_ENV_DEVICE_AND_PART        "0:1"
   EXT4_ENV_INTERFACE              "mmc"
   EXT4_ENV_FILE                   "/uboot.env"

We have examples of these kind of configurations in Kconfig today, please add them as well so the feature can be fully used, thanks!

oops, yeah, sorry about that. ok doing it now

just checking but you realize that I will have to modify env/ext4.c to use these new CONFIG_ just like we do for FAT?
for EXT4 we were using include/configs/.h instead as described in the commit (so the feature was fully functional, just slightly different to FAT when defining the variables).

ok?

#4 lore raw

PATCH v3 1/1 env: enable accessing the environment in an EXT4 partition

Quoted 20 lines · Jorge Ramirez
Quoted 11 lines · Jorge Ramirez
Quoted 10 lines · Tom Rini
Quoted 9 lines · Jorge Ramirez-Ortiz

the following commit enables accessing the environment in an ext4 partition. In order to do that, some definitions need to be added to include/configs/board_x.h file.

For example to store the environment in a file named "/uboot.env" in MMC
"0", where partition "1" contains the EXT4 filesystem, you should define:

Quoted 7 lines
Quoted 6 lines
Quoted 3 lines
  EXT4_ENV_DEVICE_AND_PART        "0:1"
  EXT4_ENV_INTERFACE              "mmc"
  EXT4_ENV_FILE                   "/uboot.env"

We have examples of these kind of configurations in Kconfig today, please add them as well so the feature can be fully used, thanks!

oops, yeah, sorry about that. ok doing it now

Quoted 7 lines

just checking but you realize that I will have to modify env/ext4.c to use these new CONFIG_ just like we do for FAT?
for EXT4 we were using include/configs/.h instead as described in the commit (so the feature was fully functional, just slightly different to FAT when defining the variables).

ok?

Yes, we need to move them to CONFIG_xxx and have them in Kconfig. And we should rename them to CONFIG_ENV_EXT4_xxx while at it. I think I had to do this when migrating FAT env support and left EXT4 out as there were no in-tree users at the time so it fell off my TODO list. Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171127/80776754/attachment.sig>