Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
From 2c78d22a78584f2a17eb33b5b5fd6fa602c2af8d Mon Sep 17 00:00:00 2001
From: Ryan Eatmon <reatmon@ti.com>
Date: Wed, 17 Jul 2024 16:19:20 -0500
Subject: [PATCH] drivers: gpu: drm: msm: registers: improve reproducibility
The files generated by gen_header.py capture the source path to the
input files and the date. While that can be informative, it varies
based on where and when the kernel was built as the full path is
captured.
Since all of the files that this tool is run on is under the drivers
directory, this modifies the application to strip all of the path before
drivers. Additionally it prints <stripped> instead of the date.
Both changes solve the reproducibility issue.
Upstream-Status: Inappropriate
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
drivers/gpu/drm/msm/registers/gen_header.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/msm/registers/gen_header.py b/drivers/gpu/drm/msm/registers/gen_header.py
index 3926485bb197..a409404627c7 100644
--- a/drivers/gpu/drm/msm/registers/gen_header.py
+++ b/drivers/gpu/drm/msm/registers/gen_header.py
@@ -11,6 +11,7 @@ import collections
import argparse
import time
import datetime
+import re
class Error(Exception):
def __init__(self, message):
@@ -877,13 +878,14 @@ The rules-ng-ng source files this header was generated from are:
""")
maxlen = 0
for filepath in p.xml_files:
- maxlen = max(maxlen, len(filepath))
+ new_filepath = re.sub("^.+drivers","drivers",filepath)
+ maxlen = max(maxlen, len(new_filepath))
for filepath in p.xml_files:
- pad = " " * (maxlen - len(filepath))
+ pad = " " * (maxlen - len(new_filepath))
filesize = str(os.path.getsize(filepath))
filesize = " " * (7 - len(filesize)) + filesize
filetime = time.ctime(os.path.getmtime(filepath))
- print("- " + filepath + pad + " (" + filesize + " bytes, from " + filetime + ")")
+ print("- " + new_filepath + pad + " (" + filesize + " bytes, from <stripped>)")
if p.copyright_year:
current_year = str(datetime.date.today().year)
print()
--
2.17.1

View File

@@ -0,0 +1,31 @@
From a51ebf08cec81d84ac258da1c0ead139d6ddc94f Mon Sep 17 00:00:00 2001
From: Ryan Eatmon <reatmon@ti.com>
Date: Tue, 2 Jul 2024 11:07:14 -0500
Subject: [master][PATCH] perf python: Fix compile for 32bit platforms
The definition for perf_sample is missing on 32bit compiles:
tools/perf/util/python.c:75:28: error: field 'sample' has incomplete type
75 | struct perf_sample sample;
Adding #include "sample.h" fixes it.
Upstream-Status: Inappropriate
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
tools/perf/util/python.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
index 3be882b2e845..de64ca3cf2d1 100644
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -1,3 +1,5 @@
+#include "sample.h"
+
// SPDX-License-Identifier: GPL-2.0
#include <Python.h>
#include <structmember.h>
--
2.17.1

View File

@@ -0,0 +1,60 @@
From 4907fa9ff1dbdd72ce9fa7855091fb604a35a62d Mon Sep 17 00:00:00 2001
From: Ryan Eatmon <reatmon@ti.com>
Date: Wed, 17 Jul 2024 14:55:10 -0500
Subject: [PATCH] vt/conmakehash: improve reproducibility for v6.10
The file generated by conmakehash capture the application
path used to generate the file. While that can be informative,
it varies based on where the kernel was built, as the full
path is captured.
We tweak the application to use a second input as the "capture
name", and then modify the Makefile to pass the basename of
the source, making it reproducible.
This could be improved by using some sort of path mapping,
or the application manipualing argv[1] itself, but for now
this solves the reprodicibility issue.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
This is a minior rework of Bruce's original patch for the v6.10 kernel.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
drivers/tty/vt/Makefile | 2 +-
drivers/tty/vt/conmakehash.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
index 2c8ce8b592ed..8532077ed3bb 100644
--- a/drivers/tty/vt/Makefile
+++ b/drivers/tty/vt/Makefile
@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c
hostprogs += conmakehash
quiet_cmd_conmk = CONMK $@
- cmd_conmk = $(obj)/conmakehash $< > $@
+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
$(call cmd,conmk)
diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
index dc2177fec715..9cd4096a8ffa 100644
--- a/drivers/tty/vt/conmakehash.c
+++ b/drivers/tty/vt/conmakehash.c
@@ -112,6 +112,8 @@ int main(int argc, char *argv[])
else
rel_tblname = tblname;
+ rel_tblname = argv[2];
+
/* For now we assume the default font is always 256 characters. */
fontlen = 256;
--
2.17.1

View File

@@ -0,0 +1,56 @@
From 0f586f4ee8adacac79b64d1f3d47799a5eb7fbea Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Sun, 10 Jul 2022 21:37:07 -0400
Subject: [PATCH] vt/conmakehash: improve reproducibility
The file generated by conmakehash capture the application
path used to generate the file. While that can be informative,
it varies based on where the kernel was built, as the full
path is captured.
We tweak the application to use a second input as the "capture
name", and then modify the Makefile to pass the basename of
the source, making it reproducible.
This could be improved by using some sort of path mapping,
or the application manipualing argv[1] itself, but for now
this solves the reprodicibility issue.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
drivers/tty/vt/Makefile | 2 +-
drivers/tty/vt/conmakehash.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
index fe30ce512819..cb51c21b58f9 100644
--- a/drivers/tty/vt/Makefile
+++ b/drivers/tty/vt/Makefile
@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c
hostprogs += conmakehash
quiet_cmd_conmk = CONMK $@
- cmd_conmk = $(obj)/conmakehash $< > $@
+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
$(call cmd,conmk)
diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
index cddd789fe46e..d62510b280e9 100644
--- a/drivers/tty/vt/conmakehash.c
+++ b/drivers/tty/vt/conmakehash.c
@@ -253,7 +253,7 @@ int main(int argc, char *argv[])
#include <linux/types.h>\n\
\n\
u8 dfont_unicount[%d] = \n\
-{\n\t", argv[1], fontlen);
+{\n\t", argv[2], fontlen);
for ( i = 0 ; i < fontlen ; i++ )
{
--
2.25.1

View File

@@ -0,0 +1,33 @@
SECTION = "kernel"
SUMMARY = "Mainline Linux kernel for TI devices"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit kernel
require recipes-kernel/linux/ti-kernel.inc
DEPENDS += "gmp-native libmpc-native"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} ${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
# 6.12 Mainline version
SRCREV = "adc218676eef25575469234709c2d87185ca223a"
PV = "6.12"
KERNEL_GIT_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
BRANCH = "master"
KERNEL_DEFCONFIG = ""
KERNEL_REPRODUCIBILITY_PATCHES = " \
file://0001-drivers-gpu-drm-msm-registers-improve-reproducibilit.patch \
file://0001-perf-python-Fix-compile-for-32bit-platforms.patch \
"
DEFCONFIG_NAME = "multi_v7_defconfig"
DEFCONFIG_NAME:omapl138 = "davinci_all_defconfig"
DEFCONFIG_NAME:k3 = "defconfig"
KERNEL_CONFIG_COMMAND = "oe_runmake -C ${S} O=${B} ${DEFCONFIG_NAME}"

View File

@@ -0,0 +1,13 @@
require linux-ti-mainline_git.bb
SUMMARY = "Linux-next kernel for TI devices"
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
# 6.6.0-rc3+ version
SRCREV = "6465e260f48790807eef06b583b38ca9789b6072"
PV = "6.6.0-rc3+git"
KERNEL_GIT_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git"
KERNEL_REPRODUCIBILITY_PATCHES = ""

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config

View File

@@ -0,0 +1 @@
use-kernel-config=davinci_all_defconfig

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config

View File

@@ -0,0 +1 @@
use-kernel-config=davinci_all_defconfig

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config

View File

@@ -0,0 +1 @@
use-kernel-config=davinci_all_defconfig

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=davinci_all_defconfig
config-fragment=kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=davinci_all_defconfig
config-fragment=

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=defconfig
config-fragment=kernel/configs/ti_arm64_prune.config kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=davinci_all_defconfig
config-fragment=kernel/configs/ti_rt.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,2 @@
use-kernel-config=multi_v7_defconfig
config-fragment=kernel/configs/ti_multi_v7_prune.config kernel/configs/ti_rt.config kernel/configs/no_smp.config

View File

@@ -0,0 +1,15 @@
require linux-ti-staging_6.1.bb
KERNEL_LOCALVERSION:append = "-rt"
# Look in the generic major.minor directory for files
# This will have priority over generic non-rt path
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.1:"
BRANCH = "ti-rt-linux-6.1.y"
SRCREV = "194ebd939bee3ffff36de9cf8dff28a77c671f5b"
include ${@ 'recipes-kernel/linux/ti-extras-rt.inc' if d.getVar('TI_EXTRAS') else ''}
PV = "6.1.112+git"

View File

@@ -0,0 +1,9 @@
require linux-ti-staging_6.12.bb
KERNEL_LOCALVERSION:append = "-rt"
# Look in the generic major.minor directory for files
# This will have priority over generic non-rt path
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.12:"
include ${@ 'recipes-kernel/linux/ti-extras-rt.inc' if d.getVar('TI_EXTRAS') else ''}

View File

@@ -0,0 +1,15 @@
require linux-ti-staging_6.6.bb
KERNEL_LOCALVERSION:append = "-rt"
# Look in the generic major.minor directory for files
# This will have priority over generic non-rt path
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.6:"
BRANCH = "ti-rt-linux-6.6.y"
SRCREV = "c79d7ef3a56ff61dd83d5527520b419a4f0e32e2"
include ${@ 'recipes-kernel/linux/ti-extras-rt.inc' if d.getVar('TI_EXTRAS') else ''}
PV = "6.6.58+git"

View File

@@ -0,0 +1,33 @@
SECTION = "kernel"
SUMMARY = "Linux kernel for TI devices"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit ti-secdev
inherit kernel
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
DEPENDS += "gmp-native libmpc-native"
# Look in the generic major.minor directory for files
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.1:"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \
${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
BRANCH ?= "ti-linux-6.1.y"
SRCREV ?= "4ef41ca7ad952c7b13b7e40808ab1025796f9a6c"
PV = "6.1.112+git"
# Special configuration for remoteproc/rpmsg IPC modules
module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample"
module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus"
module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus"
KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc"

View File

@@ -0,0 +1,33 @@
SECTION = "kernel"
SUMMARY = "Linux kernel for TI devices"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit ti-secdev
inherit kernel
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
DEPENDS += "gmp-native libmpc-native"
# Look in the generic major.minor directory for files
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.12:"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \
${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
BRANCH ?= "ti-linux-6.12.y"
SRCREV ?= "f9cad1448e0dc8631d4974627a838d349bd06eba"
PV = "6.12.22+git"
# Special configuration for remoteproc/rpmsg IPC modules
module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample"
module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus"
module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus"
KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc"

View File

@@ -0,0 +1,37 @@
SECTION = "kernel"
SUMMARY = "Linux kernel for TI devices"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit ti-secdev
inherit kernel
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
include ${@ 'recipes-kernel/linux/ti-kernel-devicetree-prefix.inc' if d.getVar('KERNEL_DEVICETREE_PREFIX') else ''}
include ${@ 'recipes-kernel/linux/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
DEPENDS += "gmp-native libmpc-native"
# Look in the generic major.minor directory for files
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.6:"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \
${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
BRANCH ?= "ti-linux-6.6.y"
SRCREV ?= "a7758da17c2807e5285d6546b6797aae1d34a7d6"
PV = "6.6.58+git"
KERNEL_REPRODUCIBILITY_PATCHES = " \
file://0001-vt-conmakehash-improve-reproducibility.patch \
"
# Special configuration for remoteproc/rpmsg IPC modules
module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample"
module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus"
module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus"
KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc"

View File

@@ -0,0 +1,84 @@
KERNEL_LOCALVERSION = "-ti"
# Check the defconfig file and see if it points to an in kernel
# defconfig that should be used, or if it is a complete config file
# Or if it points to a combined defconfig that lists both in kernel
# defconfig and associated config fragments.
do_configure() {
# Always copy the defconfig file to .config to keep consistency
# between the case where there is a real config and the in kernel
# tree config
cp ${WORKDIR}/defconfig ${B}/.config
scm_version=$(printf '%s%s' -g $(git -C ${S} rev-parse --verify HEAD 2>/dev/null | cut -c1-12))
echo ${scm_version} > ${B}/.scmversion
echo ${scm_version} > ${S}/.scmversion
# Zero, when using "tisdk" configs, pass control to defconfig_builder
config=`cat ${B}/.config | grep use-tisdk-config | cut -d= -f2`
if [ -n "$config" ]
then
${DEFCONFIG_BUILDER} -w ${S} -t $config
oe_runmake -C ${S} O=${B} "$config"_defconfig
else
# First, check if pointing to a combined config with config fragments
config=`cat ${B}/.config | grep use-combined-config | cut -d= -f2`
if [ -n "$config" ]
then
cp ${S}/$config ${B}/.config
fi
# Second, extract any config fragments listed in the defconfig
config=`cat ${B}/.config | grep config-fragment | cut -d= -f2`
if [ -n "$config" ]
then
configfrags=""
for f in $config
do
# Check if the config fragment is available
if [ ! -e "${S}/$f" ]
then
echo "Could not find kernel config fragment $f"
exit 1
else
# Sanitize config fragment files to be relative to sources
configfrags="$configfrags ${S}/$f"
fi
done
fi
# Third, check if pointing to a known in kernel defconfig
config=`cat ${B}/.config | grep use-kernel-config | cut -d= -f2`
if [ -n "$config" ]
then
oe_runmake -C ${S} O=${B} $config
else
yes '' | oe_runmake -C ${S} O=${B} oldconfig
fi
fi
# Fourth, handle config fragments specified in the recipe
# The assumption is that the config fragment will be specified with the absolute path.
# E.g. ${WORKDIR}/config1.cfg or ${S}/config2.cfg
if [ -n "${KERNEL_CONFIG_FRAGMENTS}" ]
then
for f in ${KERNEL_CONFIG_FRAGMENTS}
do
# Check if the config fragment is available
if [ ! -e "$f" ]
then
echo "Could not find kernel config fragment $f"
exit 1
fi
done
fi
# Now that all the fragments are located merge them
if [ -n "${KERNEL_CONFIG_FRAGMENTS}" -o -n "$configfrags" ]
then
( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config $configfrags ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
yes '' | oe_runmake -C ${S} O=${B} oldconfig
fi
}

View File

@@ -0,0 +1,11 @@
# Use different commit, repo and branch for TI extras build
# This will have priority over generic rt path
COMPATIBLE_MACHINE = "am62xx|am62pxx|am62lxx"
BRANCH = "ti-linux-6.12.y"
BRANCH:tie-jailhouse = "ti-linux-6.12.y-jailhouse"
SRCREV = "c9e21a1ebd757f2b4487035382bbf65299cf8170"
SRCREV:tie-jailhouse = "229a48602ad1557612a4ffabec6a3cbcdd745f87"

View File

@@ -0,0 +1,14 @@
# Use different commit, repo and branch for TI extras build
# This will have priority over generic rt path
COMPATIBLE_MACHINE = "am62xx|am62pxx|am62lxx"
BRANCH = "ti-linux-6.12.y"
BRANCH:tie-jailhouse = "ti-linux-6.12.y-jailhouse"
SRCREV = "c9e21a1ebd757f2b4487035382bbf65299cf8170"
SRCREV:tie-jailhouse = "229a48602ad1557612a4ffabec6a3cbcdd745f87"
KERNEL_GIT_URI = "git://git.ti.com/git/processor-sdk/linux.git"

View File

@@ -0,0 +1,42 @@
def get_dtbs_from_kernel(dts_dir, dts_prefix):
import os
import glob
matches = []
for prefix in dts_prefix.split():
filenames = glob.glob(dts_dir + prefix + '*.dts')
filenames += glob.glob(dts_dir + prefix + '*.dtso')
for filename in filenames:
# Before v6.2 kernels DTB Overlays shared the same name as DTB files
# so we need to search the file to find the type
with open(filename) as f:
file_postfix = '.dtbo' if '/plugin/;' in f.read() else '.dtb'
filename = os.path.split(filename)[1]
filename = os.path.splitext(filename)[0] + file_postfix
filename = os.path.join(os.path.split(prefix)[0], filename)
matches.append(filename)
return ' '.join(matches)
def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
import os
matches = []
if dts_dir == "":
return ' '
for pattern in dts_pattern.split():
pattern_dir = os.path.split(pattern)[0]
pattern_target = os.path.split(pattern)[1].replace(".","-") + "s"
makefile = dts_dir + "/" + pattern_dir + "/Makefile"
if os.path.exists(makefile):
with open(makefile) as f:
if pattern_target in f.read():
matches.append(pattern)
return ' '.join(matches)
KERNEL_DEVICETREE_DTBMERGE ?= ""
KERNEL_DEVICETREE = " \
${@get_dtbs_from_kernel('${S}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_PREFIX}')} \
${@get_merge_dtbs_from_kernel('${S}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_DTBMERGE}')} \
"

View File

@@ -0,0 +1,28 @@
# Add DTC FLAGS -@ when KERNEL_DTB_OVERLAY_SUPPORT is enabled
def get_extra_dtc_args(d):
if d.getVar('KERNEL_DTB_OVERLAY_SUPPORT') == "1":
return "DTC_FLAGS=-@"
else:
return ""
EXTRA_DTC_ARGS += "${@get_extra_dtc_args(d)}"
# Tell the kernel class to install the DTBs in the same directory structure as
# the kernel.
KERNEL_DTBDEST = "${KERNEL_IMAGEDEST}/dtb"
KERNEL_DTBVENDORED = "1"
KERNEL_GIT_URI ?= "git://git.ti.com/git/ti-linux-kernel/ti-linux-kernel.git"
KERNEL_GIT_PROTOCOL ?= "https"
KERNEL_GIT_BRANCH ?= "branch=${BRANCH}"
KERNEL_DEFCONFIG ?= "file://defconfig"
KERNEL_REPRODUCIBILITY_PATCHES ?= ""
SRC_URI = " \
${KERNEL_GIT_URI};protocol=${KERNEL_GIT_PROTOCOL};${KERNEL_GIT_BRANCH} \
${KERNEL_DEFCONFIG} \
${KERNEL_REPRODUCIBILITY_PATCHES} \
"