From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 24 Jun 2021 10:54:03 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1lwL7b-0007Dx-Ie for lore@lore.pengutronix.de; Thu, 24 Jun 2021 10:54:03 +0200 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lwL7a-0001Qr-MU for lore@pengutronix.de; Thu, 24 Jun 2021 10:54:03 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+roxfcrVLmol+4w95Fvc+AXbPKrZTl7IXBkGEqYThqM=; b=nkd+0haOpKGKeE kLY6VyDCd4mIjLDEfW1k3xtcNIV1NhjTHHajLdWHsxnh/0OgnB7L/reD/JKzfF5gQ6oeN7WPCkMnW yR38PtMv1J/Xtprxv/6/LUXeHObmvOXo/zP+vFrrUn5klHFeG8T3EXTpQwAqaBJ4V2OL+ukSXjD7/ X44Qlm+K9qKSd28WIxQCg6YEJr7HXSwT3xJpIxtEYOwICAglqETqm+fEhjDAHErj+ynk+8gLXN5Pc QwyK7weu/aehKKSbiWIcZkHx8U83LarilOVG6klM6UZlYu21hY7Uc7KFuLnhRLDeaeBnSrufWGF3s wUWlStE+5k/ZeybUXulw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lwL6K-00DXOu-NX; Thu, 24 Jun 2021 08:52:45 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lwL63-00DXFV-8j for barebox@lists.infradead.org; Thu, 24 Jun 2021 08:52:29 +0000 Received: from dude02.hi.pengutronix.de ([2001:67c:670:100:1d::28]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lwL61-0000sO-9f; Thu, 24 Jun 2021 10:52:25 +0200 Received: from sha by dude02.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1lwL60-0000bg-Au; Thu, 24 Jun 2021 10:52:24 +0200 From: Sascha Hauer To: Barebox List Date: Thu, 24 Jun 2021 10:52:15 +0200 Message-Id: <20210624085223.14616-11-s.hauer@pengutronix.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210624085223.14616-1-s.hauer@pengutronix.de> References: <20210624085223.14616-1-s.hauer@pengutronix.de> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210624_015227_432372_CF1434D8 X-CRM114-Status: GOOD ( 11.23 ) X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:e::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-4.8 required=4.0 tests=AWL,BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: [PATCH 10/18] blspec: Set firmware searchpath X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.ext.pengutronix.de) When bootloader spec triggers dt overlay loading then this might also trigger loading firmware. This firmware should be looked for relative to the filesystem providing the bootloader spec files, so add that to the firmware search path. Signed-off-by: Sascha Hauer --- common/blspec.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/common/blspec.c b/common/blspec.c index 056c0dbf7f..c39805cb0b 100644 --- a/common/blspec.c +++ b/common/blspec.c @@ -122,6 +122,8 @@ static int blspec_boot(struct bootentry *be, int verbose, int dryrun) const char *abspath, *devicetree, *options, *initrd, *linuximage; const char *overlays; const char *appendroot; + const char *old_fws; + char *fws; struct bootm_data data = { .dryrun = dryrun, }; @@ -184,9 +186,20 @@ static int blspec_boot(struct bootentry *be, int verbose, int dryrun) (entry->cdev && entry->cdev->dev) ? dev_name(entry->cdev->dev) : "none"); + old_fws = firmware_get_searchpath(); + if (old_fws && *old_fws) + fws = basprintf("%s/lib/firmware:%s", abspath, old_fws); + else + fws = basprintf("%s/lib/firmware", abspath); + firmware_set_searchpath(fws); + free(fws); + ret = bootm_boot(&data); if (ret) pr_err("Booting failed\n"); + + firmware_set_searchpath(old_fws); + err_out: free((char *)data.oftree_file); free((char *)data.initrd_file); -- 2.29.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox