u-boot on raspberry pi with fw_printenv/fw_setenv
Hi Developers,
I am looking for a way to change u-boot environment from Linux on a Raspberry PI. I have fw_printenv/fw_setenv, but I have no clue how the config file looks like, when using uboot.env as a file on the first vfat partition. I am not sure, but it looks like there is no code to use fw_printenv/fw_setenv with files.
rpi.h from git sets:
#define CONFIG_ENV_SIZE SZ_16K
#define CONFIG_ENV_IS_IN_FAT
#define FAT_ENV_INTERFACE "mmc" #define FAT_ENV_DEVICE_AND_PART "0:1" #define FAT_ENV_FILE "uboot.env"
This works fine when I use savenv inside of u-boot shell.
What do I miss?
best regards
Waldemar
Quoted 5 lines · Waldemar Brodkorb
I am looking for a way to change u-boot environment from Linux on a Raspberry PI. I have fw_printenv/fw_setenv, but I have no clue how the config file looks like, when using uboot.env as a file on the first vfat partition. I am not sure, but it looks like there is no code to use fw_printenv/fw_setenv with files.
Hi Waldemar,
fw_printenv and fw_setenv can act on an ordinary file instead of a device if you want; their config file is normally /etc/fw_env.config . So for example, first you could create an empty 16K file uboot.env:
dd if=/dev/zero of=uboot.env bs=1K count=16
then you could configure fw_printenv and fw_setenv to act upon that file by putting the following line in /etc/fw_env.config:
uboot.env 0x0000 0x4000 0x4000
I hope that helps,
B.R.
Quoted 5 lines · B.R. Oake
[...]
then you could configurefw_printenvandfw_setenvto act upon that file by putting the following line in/etc/fw_env.config:uboot.env
0x00000x40000x4000
P.S. I realise now that the third column, 'Flash sector size', is actually unnecessary in the case of the regular file, so it should be omitted. Only the offset (zero) and the environment size are needed.
Cheers,
B.R.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi,
B.R. Oake wrote,
Quoted 13 lines · Waldemar Brodkorb
Quoted 5 lines
I am looking for a way to change u-boot environment from Linux on a Raspberry PI. I have fw_printenv/fw_setenv, but I have no clue how the config file looks like, when using uboot.env as a file on the first vfat partition. I am not sure, but it looks like there is no code to use fw_printenv/fw_setenv with files.
Hi Waldemar,
fw_printenvandfw_setenvcan act on an ordinary file instead of a device if you want; their config file is normally/etc/fw_env.config. So for example, first you could create an empty 16K file uboot.env:
Quoted 8 lines
dd if=/dev/zero of=uboot.env bs=1K count=16
then you could configure
fw_printenvandfw_setenvto act upon that file by putting the following line in/etc/fw_env.config:uboot.env
0x00000x40000x4000I hope that helps,
Thanks a lot! This helps. Maybe an additional example in fw_env.config would avoid another question about this in the future ;)
BTW: I needed a small path to let fw_printenv compiled:
---u-boot-d8bec60c1b0de7770f9b56ad092ab9be801d99af.orig/tools/env/fw_env.h
2015-01-06 09:00:23.000000000 +0100 +++ u-boot-d8bec60c1b0de7770f9b56ad092ab9be801d99af/tools/env/fw_env.h 2015-01-07 13:13:44.399072426 +0100
@@ -14,6 +14,8 @@
#include <config.h>
#endif
+#include <generated/autoconf.h>
+
/*
* To build the utility with the static configuration
* comment out the next line.
Otherwise compile breaks:
HOSTCC tools/env/fw_env.o
In file included from tools/env/fw_env.c:117:0:include/env_default.h:110:11: error: expected '}' before 'CONFIG_SYS_ARCH'
"arch=" CONFIG_SYS_ARCH "\0"
^
make[4]: *** [tools/env/fw_env.o] Error 1
best regards
Waldemar
Quoted 3 lines · Waldemar Brodkorb
Thanks a lot! This helps. Maybe an additional example in fw_env.config would avoid another question about this in the future ;)
I agree; thank you for volunteering to do that work ;)
The guide to submitting patches is at http://www.denx.de/wiki/U-Boot/Patches
Quoted 3 lines
BTW: I needed a small path to let
fw_printenvcompiled:
[...]
+#include <generated/autoconf.h>
Yes I also encountered a similar undefined macro error and used the same way to get it to build, but I'm not sure if it's the right way. It's come up before on the list before:
http://lists.denx.de/pipermail/u-boot/2014-December/197544.html
A different solution was suggested there, but again it's not confirmed yet whether it's the right way.
Cheers,
B.R.