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:
@@ -0,0 +1,12 @@
|
||||
require ti-jailhouse.inc
|
||||
|
||||
do_install() {
|
||||
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${TOOLS_SRC_DIR}/demos/ivshmem-demo ${D}${bindir}
|
||||
|
||||
}
|
||||
|
||||
FILES:${PN} = " \
|
||||
${bindir}/ivshmem-demo \
|
||||
"
|
||||
@@ -0,0 +1,128 @@
|
||||
require ti-jailhouse.inc
|
||||
|
||||
RDEPENDS:${PN} += "\
|
||||
python3-curses\
|
||||
python3-datetime\
|
||||
python3-mmap\
|
||||
"
|
||||
|
||||
JH_CELL_FILES ?= "*.cell"
|
||||
JH_CELL_FILES:k3 ?= "k3-*.cell"
|
||||
JH_CELL_FILES:am62xx ?= "k3-am625-*.cell"
|
||||
JH_CELL_FILES:am62pxx ?= "k3-am62p5-*.cell"
|
||||
JH_CELL_FILES:am62lxx ?= "k3-am62l*.cell"
|
||||
|
||||
JH_INMATE_DTB ?= ""
|
||||
JH_INMATE_DTB:am62xx ?= "inmate-k3-am625-sk.dtb"
|
||||
JH_INMATE_DTB:am65xx ?= "inmate-k3-am654-idk.dtb"
|
||||
JH_INMATE_DTB:am62pxx ?= "inmate-k3-am62p5-sk.dtb"
|
||||
JH_INMATE_DTB:am62lxx ?= "inmate-k3-am62l3-evm.dtb"
|
||||
JH_INMATE_DTB:j7 ?= "inmate-k3-j721e-evm.dtb"
|
||||
JH_INMATE_DTB:j7200-evm ?= "inmate-k3-j7200-evm.dtb"
|
||||
|
||||
JH_LINUX_DEMO_CELL ?= ""
|
||||
JH_LINUX_DEMO_CELL:am62xx ?= "k3-am625-sk-linux-demo.cell"
|
||||
JH_LINUX_DEMO_CELL:am65xx ?= "k3-am654-idk-linux-demo.cell"
|
||||
JH_LINUX_DEMO_CELL:am62pxx ?= "k3-am62p5-sk-linux-demo.cell"
|
||||
JH_LINUX_DEMO_CELL:am62lxx ?= "k3-am62l3-evm-linux-demo.cell"
|
||||
JH_LINUX_DEMO_CELL:j7 ?= "k3-j721e-evm-linux-demo.cell"
|
||||
JH_LINUX_DEMO_CELL:j7200-evm ?= "k3-j7200-evm-linux-demo.cell"
|
||||
|
||||
INITRAMFS_IMAGE ?= ""
|
||||
JH_RAMFS_IMAGE ?= "${INITRAMFS_IMAGE}"
|
||||
|
||||
JH_CMDLINE ?= ""
|
||||
JH_CMDLINE:am62xx ?= "console=ttyS3,115200n8 earlycon=ns16550a,mmio32,0x02810000"
|
||||
JH_CMDLINE:am62pxx ?= "console=ttyS1,115200n8"
|
||||
JH_CMDLINE:am62lxx ?= "console=ttyS3,115200n8"
|
||||
JH_CMDLINE:am65xx ?= "console=ttyS1,115200n8"
|
||||
JH_CMDLINE:j7 ?= "console=ttyS3,115200n8"
|
||||
JH_CMDLINE:j7200-evm ?= "console=ttyS3,115200n8"
|
||||
|
||||
do_install() {
|
||||
|
||||
# We want to install the python tools, but we do not want to use pip...
|
||||
# At least with v0.10, we can work around this with
|
||||
# 'PIP=":" PYTHON_PIP_USEABLE=yes'
|
||||
oe_runmake PIP=: PYTHON=python3 PYTHON_PIP_USEABLE=yes DESTDIR=${D} install
|
||||
|
||||
install -d ${D}${CELL_DIR}
|
||||
install -m 0644 ${B}/configs/${JH_ARCH}/${JH_CELL_FILES} ${D}${CELL_DIR}/
|
||||
|
||||
install -d ${D}${INMATES_DIR}
|
||||
install -m 0644 ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
|
||||
|
||||
install -d ${D}/boot
|
||||
if [ -n "${JH_RAMFS_IMAGE}" ]
|
||||
then
|
||||
if [ -f ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio ]
|
||||
then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio ${D}/boot
|
||||
else
|
||||
bberror "Could not find JH_RAMFS_IMAGE (${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio)!"
|
||||
bberror "Please make sure that \"cpio\" is in IMAGE_FSTYPES."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${JH_INMATE_DTB}" -a -n "${JH_LINUX_DEMO_CELL}" ]; then
|
||||
cd ${TOOLS_SRC_DIR}
|
||||
|
||||
echo "#! /bin/sh" > ${D}${JH_DATADIR}/linux-demo.sh
|
||||
echo "jailhouse enable ${CELL_DIR}/${JH_SYSCONFIG_CELL}" >> ${D}${JH_DATADIR}/linux-demo.sh
|
||||
./jailhouse-cell-linux -w ${D}${JH_DATADIR}/${JH_INMATE_DTB} \
|
||||
-a ${JH_ARCH} -c "${JH_CMDLINE}" \
|
||||
-d ../configs/${JH_ARCH}/dts/${JH_INMATE_DTB} \
|
||||
-i ${D}/boot/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio \
|
||||
${D}${CELL_DIR}/${JH_LINUX_DEMO_CELL} \
|
||||
${DEPLOY_DIR_IMAGE}/Image \
|
||||
| tr -cd '\11\12\15\40-\176' \
|
||||
>> ${D}${JH_DATADIR}/linux-demo.sh
|
||||
|
||||
sed -i -e 's,^Modified device tree written.*,,g' ${D}${JH_DATADIR}/linux-demo.sh
|
||||
sed -i -e 's,\${D},,g' ${D}${JH_DATADIR}/linux-demo.sh
|
||||
sed -i -e 's, linux-loader.bin, ${JH_EXEC_DIR}/linux-loader.bin,g' ${D}${JH_DATADIR}/linux-demo.sh
|
||||
sed -i -e 's,\${DEPLOY_DIR_IMAGE},/boot,g' ${D}${JH_DATADIR}/linux-demo.sh
|
||||
sed -i -e '/^\s*$/d' ${D}${JH_DATADIR}/linux-demo.sh
|
||||
chmod +x ${D}${JH_DATADIR}/linux-demo.sh
|
||||
fi
|
||||
|
||||
rm ${D}${JH_DATADIR}/root-cell-config.c.tmpl
|
||||
rm ${D}${JH_DATADIR}/jailhouse-config-collect.tmpl
|
||||
}
|
||||
|
||||
PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse ${PN}-tools"
|
||||
|
||||
FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
|
||||
FILES:${PN}-tools = "${libexecdir}/${BPN}/${BPN}-*"
|
||||
|
||||
RDEPENDS:${PN}-tools = "pyjailhouse python3-mmap python3-math python3-datetime python3-curses python3-compression"
|
||||
RDEPENDS:pyjailhouse = "python3-core python3-ctypes python3-fcntl python3-shell"
|
||||
|
||||
RRECOMMENDS:${PN} = "${PN}-tools"
|
||||
|
||||
INSANE_SKIP:${PN} = "ldflags usrmerge"
|
||||
INSANE_SKIP:${PN}-dbg = "usrmerge buildpaths"
|
||||
|
||||
KERNEL_MODULE_AUTOLOAD += "jailhouse"
|
||||
|
||||
# Any extra cells/inmates from external recipes/packages
|
||||
CELLS = ""
|
||||
|
||||
python __anonymous () {
|
||||
d.appendVarFlag('do_install', 'depends', ' virtual/kernel:do_deploy')
|
||||
ramfs = d.getVar('JH_RAMFS_IMAGE', True)
|
||||
if ramfs:
|
||||
d.appendVarFlag('do_install', 'depends', ' ${JH_RAMFS_IMAGE}:do_image_complete')
|
||||
|
||||
# Setup DEPENDS and RDEPENDS to included cells
|
||||
cells = d.getVar('CELLS', True) or ""
|
||||
for cell in cells.split():
|
||||
d.appendVar('DEPENDS', ' ' + cell)
|
||||
d.appendVar('RDEPENDS_${PN}', ' ' + cell)
|
||||
}
|
||||
|
||||
FILES:${PN} = " \
|
||||
/boot \
|
||||
/usr \
|
||||
/lib \
|
||||
"
|
||||
@@ -0,0 +1,88 @@
|
||||
SUMMARY = "Linux-based partitioning hypervisor"
|
||||
DESCRIPTION = "Jailhouse is a partitioning Hypervisor based on Linux. It is able to run bare-metal applications or (adapted) \
|
||||
operating systems besides Linux. For this purpose, it configures CPU and device virtualization features of the hardware \
|
||||
platform in a way that none of these domains, called 'cells' here, can interfere with each other in an unacceptable way."
|
||||
HOMEPAGE = "https://github.com/siemens/jailhouse"
|
||||
SECTION = "jailhouse"
|
||||
|
||||
LICENSE = "GPL-2.0-only & BSD-2-Clause"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "am62xx|am62pxx|am62lxx"
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
PV = "0.12+git"
|
||||
SRCREV = "ef512f9591febed854d8f07ad8c1fa731c2d3c69"
|
||||
BRANCH = "master"
|
||||
SRC_URI = " \
|
||||
git://git.ti.com/git/jailhouse/ti-jailhouse.git;protocol=https;branch=${BRANCH} \
|
||||
"
|
||||
|
||||
# Set jailhouse architecture JH_ARCH variable
|
||||
#
|
||||
# return value must match one of architectures supported by jailhouse
|
||||
#
|
||||
valid_jh_archs = "x86 arm"
|
||||
|
||||
def map_jh_arch(a, d):
|
||||
import re
|
||||
|
||||
valid_jh_archs = d.getVar('valid_jh_archs', True).split()
|
||||
|
||||
if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
|
||||
elif re.match('armeb$', a): return 'arm'
|
||||
elif re.match('aarch64$', a): return 'arm64'
|
||||
elif re.match('aarch64_be$', a): return 'arm64'
|
||||
elif a in valid_jh_archs: return a
|
||||
else:
|
||||
bb.error("cannot map '%s' to a jailhouse supported architecture" % a)
|
||||
|
||||
export JH_ARCH = "${@map_jh_arch(d.getVar('TARGET_ARCH', True), d)}"
|
||||
|
||||
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${S}"
|
||||
|
||||
DEPENDS = "virtual/kernel dtc-native python3-mako-native python3-mako make-native"
|
||||
|
||||
inherit module python3native bash-completion deploy setuptools3
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(ti-soc)"
|
||||
|
||||
JH_DATADIR ?= "${datadir}/jailhouse"
|
||||
JH_EXEC_DIR ?= "${libexecdir}/jailhouse"
|
||||
CELL_DIR ?= "${JH_DATADIR}/cells"
|
||||
CELLCONF_DIR ?= "${JH_DATADIR}/configs"
|
||||
INMATES_DIR ?= "${JH_DATADIR}/inmates"
|
||||
|
||||
JH_SYSCONFIG_CELL ?= ""
|
||||
JH_SYSCONFIG_CELL:am62xx ?= "k3-am625-sk.cell"
|
||||
JH_SYSCONFIG_CELL:am65xx ?= "k3-am654-idk.cell"
|
||||
JH_SYSCONFIG_CELL:am62pxx ?= "k3-am62p5-sk.cell"
|
||||
JH_SYSCONFIG_CELL:am62lxx ?= "k3-am62l3-evm.cell"
|
||||
JH_SYSCONFIG_CELL:j7 ?= "k3-j721e-evm.cell"
|
||||
JH_SYSCONFIG_CELL:j7200-evm ?= "k3-j7200-evm.cell"
|
||||
|
||||
do_configure() {
|
||||
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
|
||||
then
|
||||
cp ${STAGING_DIR_HOST}/${CELLCONF_DIR}/*.c ${S}/configs/
|
||||
fi
|
||||
}
|
||||
|
||||
USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \
|
||||
-DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \
|
||||
-Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \
|
||||
-I../driver'
|
||||
|
||||
TOOLS_SRC_DIR = "${S}/tools"
|
||||
|
||||
EXTRA_OEMAKE = "ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" KDIR=${STAGING_KERNEL_BUILDDIR}"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake V=1
|
||||
}
|
||||
Reference in New Issue
Block a user