summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2020-11-18 19:22:16 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-11-23 17:44:37 +0100
commite1ddb7e8580df72f0ac6350511eaf899c10e35e1 (patch)
tree2a37f1304005151f2652960a0f19862ee8feeda6 /common
parent3a1e315c56bf2b742176e7a2ed8aa48c94c8dab0 (diff)
downloadbarebox-e1ddb7e8580df72f0ac6350511eaf899c10e35e1.tar.gz
barebox-e1ddb7e8580df72f0ac6350511eaf899c10e35e1.tar.xz
bootm: adapt help text and naming for bootm.provide_machine_id
The Kconfig help text as well the function name machine_id_set_bootarg() suggest that enabling the Kconfig option is sufficient to have barebox pass the machine id to the kernel. This is not the case, so change the naming/documentation to make this clearer. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Bastian Krause <bst@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig19
-rw-r--r--common/bootm.c2
-rw-r--r--common/machine_id.c4
3 files changed, 13 insertions, 12 deletions
diff --git a/common/Kconfig b/common/Kconfig
index 9b73aa8454..ffdce2f96c 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -989,19 +989,20 @@ config RESET_SOURCE
useful for any kind of system recovery or repair.
config MACHINE_ID
- bool "pass machine-id to kernel"
+ bool "compute unique machine-id"
depends on FLEXIBLE_BOOTARGS
depends on SHA1
help
- Sets the linux.bootargs.machine_id global variable with a value of
- systemd.machine_id=UID. The UID is a persistent device-specific
- id. It is a hash over device-specific information provided by various
- sources.
+ Compute a persistent machine-specific id and store it to $global.machine_id.
+ The id is a hash of device-specific information added via
+ machine_id_set_hashable(). If multiple sources are available, the
+ information provided by the last call prior to the late initcall
+ set_machine_id() is used to generate the machine id from. Thus when
+ updating barebox the machine id might change.
- Note: if multiple sources provide hashable device-specific information
- (via machine_id_set_hashable()) the information provided by the last call
- prior to the late initcall set_machine_id() is used to generate the
- machine id from. Thus when updating barebox the machine id might change.
+ global.bootm.provide_machine_id may be used to automatically set
+ the linux.bootargs.machine_id global variable with a value of
+ systemd.machine_id=${global.machine_id}
Note: if no hashable information is available no machine id will be passed
to the kernel.
diff --git a/common/bootm.c b/common/bootm.c
index f70ef10100..59efc61099 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -856,4 +856,4 @@ BAREBOX_MAGICVAR(global.bootm.verify, "bootm default verify level");
BAREBOX_MAGICVAR(global.bootm.verbose, "bootm default verbosity level (0=quiet)");
BAREBOX_MAGICVAR(global.bootm.appendroot, "Add root= option to Kernel to mount rootfs from the device the Kernel comes from (default, device can be overridden via global.bootm.root_dev)");
BAREBOX_MAGICVAR(global.bootm.root_dev, "bootm default root device (overrides default device in global.bootm.appendroot)");
-BAREBOX_MAGICVAR(global.bootm.provide_machine_id, "If true, add systemd.machine_id= with value of global.machine_id to Kernel");
+BAREBOX_MAGICVAR(global.bootm.provide_machine_id, "If true, append systemd.machine_id=$global.machine_id to Kernel command line");
diff --git a/common/machine_id.c b/common/machine_id.c
index c1309ccafd..6480806cd2 100644
--- a/common/machine_id.c
+++ b/common/machine_id.c
@@ -24,7 +24,7 @@ void machine_id_set_hashable(const void *hashable, size_t len)
__machine_id_hashable_length = len;
}
-static int machine_id_set_bootarg(void)
+static int machine_id_set_globalvar(void)
{
struct digest *digest = NULL;
unsigned char machine_id[SHA1_DIGEST_SIZE];
@@ -64,6 +64,6 @@ out:
return ret;
}
-late_initcall(machine_id_set_bootarg);
+late_initcall(machine_id_set_globalvar);
BAREBOX_MAGICVAR(global.machine_id, "Persistent device-specific, hexadecimal, 32-character id");