1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-01-12 01:20:20 +00:00

u-boot: Add tie-test-builds and alternative key signing

Part of the testing for TI is to build alternative versions of uboot
that turn on/off certain features.  The decision was made to host these
config fragments in the ti-upstream repository so that they are  outside
of the tree, but centrally located for all version of u-boot to access.

This patch adds the logic to enable this feature by adding this to the
local.conf:

TI_EXTRAS += "tie-test-builds"

This makes use of the existing UBOOT_CONFIG flow for looping over uboot
and building it multiple times and naming the output files uniquely.

Additionally, we want to provide examples of how to sign the uboot files
with different keys so that customers can see how it is done.  We have
provided an ECDSA key and follow on patches will show to point to it.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
Ryan Eatmon
2025-10-06 08:42:31 -05:00
parent bdc389b794
commit 082203db1e
7 changed files with 50 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
-----BEGIN EC PRIVATE KEY-----
MIGkAgEBBDBDO9fzBU2LoKaYgji4m3ZCHKUBF9CTVnU6ClfNPJsTo0SKZpCsmyr0
TKUNkk16vwGgBwYFK4EEACKhZANiAATCv6ftwnJW91fP5wpLpLAxt3u732oNnKr8
pLbZUzi/s8/e7QiISJ8QKYGaWMnjORW82cM3UJKlCw8GOrb3ZrEXYWRKxkPWql0+
BOhDQA5b21GtL9HQPvuCPz471ZaxGYA=
-----END EC PRIVATE KEY-----

View File

@@ -8,3 +8,30 @@ BRANCH:tie-jailhouse:bsp-ti-6_12 = "ti-u-boot-2025.01-jailhouse"
SRCREV_uboot:tie-jailhouse:bsp-ti-6_12 = "e718bbcec3ebf663c021839753034a224be4cc53"
UBOOT_GIT_URI:tie-jailhouse = "git://git.ti.com/git/processor-sdk/u-boot.git"
#
# Test builds settings
#
TI_UPSTREAM_TOOLS_INCLUDE ?= ""
TI_UPSTREAM_TOOLS_INCLUDE:tie-test-builds = "recipes-ti/ti-upstream-tools/ti-upstream-tools.inc"
require ${TI_UPSTREAM_TOOLS_INCLUDE}
SRC_URI:append:tie-test-builds = " ${TI_UPSTREAM_TOOLS_SRC_URI}"
SRCREV_ti-upstream-tools:tie-test-builds = "${TI_UPSTREAM_TOOLS_SRCREV}"
SRCREV_FORMAT:tie-test-builds = "uboot_ti-upstream-tools"
TI_UPSTREAM_TOOLS_MACHINE ?= "${MACHINE}"
do_configure:prepend:tie-test-builds() {
${UNPACKDIR}/ti-upstream-tools/uboot-configs/generate_configs.sh \
--uboot-src "${S}" \
--output-dir "${B}/test-build-configs" \
--yocto-machine "${TI_UPSTREAM_TOOLS_MACHINE}"
for lpConfig in ${B}/test-build-configs/*; do
if [ -f $lpConfig ]; then
echo "Copy generated config: $lpConfig -> ${S}/configs"
cp $lpConfig ${S}/configs
fi
done
}

View File

@@ -1,7 +1,15 @@
do_configure:append () {
uboot_configure:append () {
if [ -n "${UBOOT_CONFIG_FRAGMENTS}" ] && [ -n "${UBOOT_MACHINE}" ]
then
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} ${UBOOT_CONFIG_FRAGMENTS}
oe_runmake -C ${S} O=${B} olddefconfig
oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_OPTS} ${UBOOT_MACHINE} ${UBOOT_CONFIG_FRAGMENTS}
oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_OPTS} olddefconfig
fi
}
uboot_configure_config:append () {
if [ -n "${UBOOT_CONFIG_FRAGMENTS}" ]; then
oe_runmake -C ${S} O=${B}/${builddir} ${config_make_opts} ${UBOOT_MAKE_OPTS} ${config} ${UBOOT_CONFIG_FRAGMENTS}
oe_runmake -C ${S} O=${B}/${builddir} ${config_make_opts} ${UBOOT_MAKE_OPTS} olddefconfig
fi
}

View File

@@ -1,7 +1,5 @@
require u-boot-ti.inc
include ${@ 'recipes-bsp/u-boot/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
PR = "r0"
BRANCH = "ti-u-boot-2024.04"

View File

@@ -1,7 +1,5 @@
require u-boot-ti.inc
include ${@ 'recipes-bsp/u-boot/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
PR = "r0"
BRANCH = "ti-u-boot-2025.01"

View File

@@ -415,3 +415,7 @@ PACKAGES:prepend:am62pxx-evm = "${FALCON_PKG} "
PACKAGES:prepend:am62xx-lp-evm = "${FALCON_PKG} "
TOOLCHAIN = "gcc"
include ${@ 'recipes-bsp/u-boot/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
TI_SIGN_WITH_ECDSA_KEY ?= "KEY_PATH=${THISDIR}/files/custMpk_ecdsa.key"

View File

@@ -0,0 +1,2 @@
TI_UPSTREAM_TOOLS_SRC_URI = "git://git.ti.com/git/ti-linux-kernel/ti-upstream-tools.git;protocol=https;branch=master;name=ti-upstream-tools;destsuffix=ti-upstream-tools"
TI_UPSTREAM_TOOLS_SRCREV = "54411cac5a67e061685f1aef12fdb6a91d8aef25"