@@ -72,7 +72,7 @@ void usage_printenv(void)
" -c, --config configuration file, default:" CONFIG_FILE "\n"
#endif
" -n, --noheader do not repeat variable name in output\n"
- " -l, --lock lock node, default:/var/lock\n"
+ " -l, --lock lock node, default:/run\n"
"\n");
}
@@ -87,7 +87,7 @@ void usage_env_set(void)
#ifdef CONFIG_FILE
" -c, --config configuration file, default:" CONFIG_FILE "\n"
#endif
- " -l, --lock lock node, default:/var/lock\n"
+ " -l, --lock lock node, default:/run\n"
" -s, --script batch mode to minimize writes\n"
"\n"
"Examples:\n"
@@ -205,7 +205,7 @@ int parse_setenv_args(int argc, char *argv[])
int main(int argc, char *argv[])
{
- char *lockname = "/var/lock/" CMD_PRINTENV ".lock";
+ char *lockname = "/run/" CMD_PRINTENV ".lock";
int lockfd = -1;
int retval = EXIT_SUCCESS;
char *_cmdname;
According this issue ppp-project/ppp#339. Eventually, the dt-utils changed lock directory to fix missing /var/lock directory error then make dt-utils can run normally. We also have a similar issue with these two utilities fw_printenv and fw_setenv will failed when the directory /var/lock is non-existent. We have a custom linux distribution built with yocto (OpenBMC) that use systemd and it deprecated the /var/lock directory. More discussion in systemd/systemd#15668. Thus, we sync with community's solution for uboot/tools/env utilities: The current location /var/lock is considered legacy (at least by systemd). Just use /run to store the lockfile and append the usual .lock suffix. Tested: Verified /run/lock is now present and fw_printenv can work in OpenBMC. Signed-off-by: Tim Lee <timlee660101@gmail.com> --- tools/env/fw_env_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)