From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7274844464785391616 X-Received: by 2002:a05:6512:a8d:b0:500:8ecb:509 with SMTP id m13-20020a0565120a8d00b005008ecb0509mr8405727lfu.15.1693806729159; Sun, 03 Sep 2023 22:52:09 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:5115:b0:3fe:e6e4:c1c1 with SMTP id o21-20020a05600c511500b003fee6e4c1c1ls944339wms.2.-pod-prod-06-eu; Sun, 03 Sep 2023 22:52:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEi5lH9awrA0lATbkGF+gWhl+vbiM+peC144G7bRA3McG3yEPuYgokDG+RxFTSaYY11JDJ/ X-Received: by 2002:a7b:c3d8:0:b0:3fb:c9f4:150e with SMTP id t24-20020a7bc3d8000000b003fbc9f4150emr6167413wmj.14.1693806727285; Sun, 03 Sep 2023 22:52:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693806727; cv=none; d=google.com; s=arc-20160816; b=iNJRVAUU6FGJGeuatTCTiz9AcFk6DwUX/br9kUQIXPyAdhmAF9iFlzaQLYmahYDcPW 3XThuUjWUaJZofUESVDmjL8+Abak6xZXG1cTWmRU7dEdxbPGKHZKW3cCCPRy6PwVLZqg o1p+ZNAADxs9VYfBsOo7i7KsJ4sN5eGf04WvpHy+JBZrF0jkPjsZ83ppnggCQei070S/ PIVR9eTH5rrDJe+FfiHduYiZMmquiDELFdSS99VnFcHodZGh2HunCyvnZRdsaOK8Tzua OtbRs6pQrzicZJ09q2hbcCOs604CDT+GC6oBZjcvzyHdvyQIH9qA1LWL5d5g52MQ1jJd +Big== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=kUZAqb7ygLDUxNJvee8oKvTT+WqmfUGVew/cAsHltmM=; fh=zinKhdw3Zi/nzo2AZM2EHC0ZYI8lGELCkTmdpv4Fq64=; b=x2it6bClFO0hwQqVmz/BjNSapg0tONklA/jyVu2rl9U4F2fzKcF8FCr0sKMqTXc3nb erL2W+AD4aIAMqaDv4sh2TM+R17tJ8SdoV551PplU40d8HtBpDoR/3CaIV2MxUQ+uoG/ bmfsVA14DZJWFXIfWQXNItmJFhcK9EccurJRzISM9ehgia7AHnr3sz4nYzWflKJVYb0e zJV9V0cqJd2+cfBDewY2bRUMhqSECHV8vJB3f97T/8X1MmyCDb3HomK4+1nponpnVlOh EmW/V39JdG0K/6KbLOCI7Psh5VJTKfthUQ7Q3t5KVwuL5U6xPOUZxPatmyoocxYHSSgF m+fQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZwcrPwWm; spf=pass (google.com: domain of fm-72506-20230904055206ea0fe395d0115b3b71-ojioei@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-72506-20230904055206ea0fe395d0115b3b71-ojIoEi@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id r7-20020a05600c35c700b003fee787cc43si729954wmq.1.2023.09.03.22.52.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 Sep 2023 22:52:07 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-72506-20230904055206ea0fe395d0115b3b71-ojioei@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZwcrPwWm; spf=pass (google.com: domain of fm-72506-20230904055206ea0fe395d0115b3b71-ojioei@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-72506-20230904055206ea0fe395d0115b3b71-ojIoEi@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20230904055206ea0fe395d0115b3b71 for ; Mon, 04 Sep 2023 07:52:07 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=kUZAqb7ygLDUxNJvee8oKvTT+WqmfUGVew/cAsHltmM=; b=ZwcrPwWmwR6fnvs3a+U3LhErQFfFSclhkT+poZUzw4PPvnYtXwvbi85kT+VgGfhyV5T8qZ 392TstpwShAmvJjFfmaWkqjXPcFatBrxh1BKofhD/Qxc5/S/qcdjbl9+Vn9+zKNEy9rpaaY+ 2fnk/ZyBX4FFSEBP5PumjlfikjvyU=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: florian.bezdeka@siemens.com, jan.kiszka@siemens.com, daniel.bovensiepen@siemens.com, Felix Moessbauer Subject: [PATCH 2/3] u-boot-script: add support to use builtin dt Date: Mon, 4 Sep 2023 05:51:32 +0000 Message-Id: <20230904055133.1851073-3-felix.moessbauer@siemens.com> In-Reply-To: <20230904055133.1851073-1-felix.moessbauer@siemens.com> References: <20230904055133.1851073-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-TUID: ANNNuJqqkwCE This patch adds support to use the u-boot builtin device tree instead of the one from the rootfs / linux. This enables the use of dt overlays even if the corresponding device tree in the kernel is not compiled with symbol support (u-boot builtin DTBs always have symbol information). To use the builtin dt, add the WKS sourceparam "builtin_dt=yes" to the rootfs-u-boot sourcer. Co-developed-by: Florian Bezdeka Signed-off-by: Felix Moessbauer --- .../u-boot-script/files/u-boot-script | 3 +++ .../u-boot-script/files/update-u-boot-script | 16 ++++++++++++---- .../lib/wic/plugins/source/rootfs-u-boot.py | 3 +++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/meta/recipes-bsp/u-boot-script/files/u-boot-script b/meta/recipes-bsp/u-boot-script/files/u-boot-script index d053d721..a11212c0 100644 --- a/meta/recipes-bsp/u-boot-script/files/u-boot-script +++ b/meta/recipes-bsp/u-boot-script/files/u-boot-script @@ -15,3 +15,6 @@ NO_INITRD="" # U-boot commands to prepend to boot script SCRIPT_PREPEND="" + +# use u-boot builtin device tree +BUILTIN_DT="no" diff --git a/meta/recipes-bsp/u-boot-script/files/update-u-boot-script b/meta/recipes-bsp/u-boot-script/files/update-u-boot-script index 1d9c6d45..2eb6097c 100755 --- a/meta/recipes-bsp/u-boot-script/files/update-u-boot-script +++ b/meta/recipes-bsp/u-boot-script/files/update-u-boot-script @@ -33,10 +33,18 @@ echo "${SCRIPT_PREPEND}" >> ${BOOT_CMD} echo "setenv bootargs ${KERNEL_ARGS}" >> ${BOOT_CMD} -echo "echo Loading /usr/lib/linux-image-${KERNEL_VERSION}/\${fdtfile}..." \ - >> ${BOOT_CMD} -echo "load \${devtype} \${devnum}:${ROOT_PARTITION} \${fdt_addr_r}" \ - "/usr/lib/linux-image-${KERNEL_VERSION}/\${fdtfile}" >> ${BOOT_CMD} +if [ "${BUILTIN_DT}" = "yes" ]; then + echo "echo Loading builtin device tree..." \ + >> ${BOOT_CMD} + echo "fdt addr \${fdtcontroladdr}" >> ${BOOT_CMD} + echo "fdt move \${fdtcontroladdr} \${fdt_addr_r}" >> ${BOOT_CMD} +else + echo "echo Loading /usr/lib/linux-image-${KERNEL_VERSION}/\${fdtfile}..." \ + >> ${BOOT_CMD} + echo "load \${devtype} \${devnum}:${ROOT_PARTITION} \${fdt_addr_r}" \ + "/usr/lib/linux-image-${KERNEL_VERSION}/\${fdtfile}" >> ${BOOT_CMD} +fi + echo "echo Loading /boot/${KERNEL_FILE}-${KERNEL_VERSION}..." >> ${BOOT_CMD} echo "load \${devtype} \${devnum}:\${distro_bootpart} \${kernel_addr_r}" \ "/boot/${KERNEL_FILE}-${KERNEL_VERSION}" >> ${BOOT_CMD} diff --git a/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py b/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py index 0b4f9eec..93600dc2 100644 --- a/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py +++ b/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py @@ -10,6 +10,7 @@ # Recognized sourceparams: # - no_initrd=yes (disables initrd loading) # - overlays=file.dtbo ... (overlay files) +# - builtin_dt=no (use DT from uboot instead of kernel) # - script_prepend=cmd;... (prepends U-Boot command) import glob @@ -82,6 +83,8 @@ class RootfsUBootPlugin(RootfsPlugin): cfg.write('NO_INITRD="%s"\n' % no_initrd) overlays = source_params.get('overlays') or '' cfg.write('OVERLAYS="%s"\n' % overlays) + builtin_dt = source_params.get('builtin_dt') or '' + cfg.write('BUILTIN_DT="%s"\n' % builtin_dt) script_prepend = source_params.get('script_prepend') or '' # remove escapes from $\{var\} that are needed to avoid expansion by wic script_prepend = re.sub(r'\$\\{([^\\]+)\\}', r'${\1}', script_prepend) -- 2.34.1