[PATCH 29/31] scripts: k3img: make dmdata optional

Sascha Hauer s.hauer at pengutronix.de
Wed May 28 04:45:41 PDT 2025


dmdata will not be needed for AM62L support, so make it optional.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 scripts/k3img | 39 +++++++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 14 deletions(-)

diff --git a/scripts/k3img b/scripts/k3img
index a9f7e513723b251c3605e81a97093e23850a8f4d..2cb2a6b33bbdf6bcf2dedcd067dcc2ffd2d17d04 100755
--- a/scripts/k3img
+++ b/scripts/k3img
@@ -68,14 +68,12 @@ done
 shasbl=$(sha512sum $sbl | sed 's/ .*//')
 shasysfw=$(sha512sum $sysfw | sed 's/ .*//')
 shasysfwdata=$(sha512sum $sysfwdata | sed 's/ .*//')
-shadmdata=$(sha512sum $dmdata | sed 's/ .*//')
 
 sblsize=$(stat -c%s $sbl)
 sysfwsize=$(stat -c%s $sysfw)
 sysfwdatasize=$(stat -c%s $sysfwdata)
-dmdatasize=$(stat -c%s $dmdata)
 
-total=$(($sblsize + $sysfwsize + $sysfwdatasize + $dmdatasize))
+total=$(($sblsize + $sysfwsize + $sysfwdatasize))
 
 TMPDIR="$(mktemp -d)"
 trap 'rm -rf -- "$TMPDIR"' EXIT
@@ -83,7 +81,7 @@ trap 'rm -rf -- "$TMPDIR"' EXIT
 certcfg=${TMPDIR}/certcfg
 cert=${TMPDIR}/cert
 
-num_comp=4
+num_comp=3
 
 if [ -n "${innerdata}" ]; then
 	shainnerdata=$(sha512sum $innerdata | sed 's/ .*//')
@@ -100,12 +98,32 @@ shaType  = OID:2.16.840.1.101.3.4.2.3
 shaValue = FORMAT:HEX,OCT:$shainnerdata
 EOF
 )
-
 	num_comp=$((num_comp + 1))
 	total=$((total + innerdatasize))
 	sysfw_inner_cert="sysfw_inner_cert=SEQUENCE:sysfw_inner_cert"
 fi
 
+if [ -n "${dmdata}" ]; then
+	shadmdata=$(sha512sum $dmdata | sed 's/ .*//')
+	dmdatasize=$(stat -c%s $dmdata)
+
+	dmdata_sect=$(cat <<EOF
+[dm_data]
+compType = INTEGER:17
+bootCore = INTEGER:16
+compOpts = INTEGER:0
+destAddr = FORMAT:HEX,OCT:$dmdata_addr
+compSize = INTEGER:$dmdatasize
+shaType  = OID:2.16.840.1.101.3.4.2.3
+shaValue = FORMAT:HEX,OCT:$shadmdata
+EOF
+)
+
+	num_comp=$((num_comp + 1))
+	total=$((total + dmdatasize))
+	dm_data="dm_data=SEQUENCE:dm_data"
+fi
+
 cat > $certcfg <<EndOfHereDocument
 [ req ]
 distinguished_name     = req_distinguished_name
@@ -138,7 +156,7 @@ sbl=SEQUENCE:sbl
 sysfw=SEQUENCE:sysfw
 sysfw_data=SEQUENCE:sysfw_data
 $sysfw_inner_cert
-dm_data=SEQUENCE:dm_data
+$dm_data
 
 [sbl]
 compType = INTEGER:1
@@ -175,14 +193,7 @@ coreDbgSecEn = INTEGER:0
 
 $innercert
 
-[dm_data]
-compType = INTEGER:17
-bootCore = INTEGER:16
-compOpts = INTEGER:0
-destAddr = FORMAT:HEX,OCT:$dmdata_addr
-compSize = INTEGER:$dmdatasize
-shaType  = OID:2.16.840.1.101.3.4.2.3
-shaValue = FORMAT:HEX,OCT:$shadmdata
+$dmdata_sect
 
 EndOfHereDocument
 

-- 
2.39.5




More information about the barebox mailing list