[PATCH 15/18] blspec: Apply overlays from rootfs

Sascha Hauer s.hauer at pengutronix.de
Thu Jun 24 01:52:20 PDT 2021


This sets the overlay search path to $BOOT/overlays during starting
an bootloader spec entry with the effect that overlays from there
can be applied.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 common/blspec.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/blspec.c b/common/blspec.c
index ca96a45487..6cb1fea9e8 100644
--- a/common/blspec.c
+++ b/common/blspec.c
@@ -51,7 +51,7 @@ static int blspec_overlay_fixup(struct device_node *root, void *ctx)
 
 		path = basprintf("%s/%s", entry->rootpath, overlay);
 
-		of_overlay_apply_file(root, path);
+		of_overlay_apply_file(root, path, false);
 
 		free(path);
 	}
@@ -139,6 +139,8 @@ static int blspec_boot(struct bootentry *be, int verbose, int dryrun)
 			(entry->cdev && entry->cdev->dev) ?
 			dev_name(entry->cdev->dev) : "none");
 
+	of_overlay_set_basedir(abspath);
+
 	old_fws = firmware_get_searchpath();
 	if (old_fws && *old_fws)
 		fws = basprintf("%s/lib/firmware:%s", abspath, old_fws);
@@ -154,6 +156,7 @@ static int blspec_boot(struct bootentry *be, int verbose, int dryrun)
 	if (overlays)
 		of_unregister_fixup(blspec_overlay_fixup, entry);
 
+	of_overlay_set_basedir("/");
 	firmware_set_searchpath(old_fws);
 
 err_out:
-- 
2.29.2




More information about the barebox mailing list