recipes-kernel: update kernel recipe to linux-jammy-nvidia-tegra 5.15

Signed-off-by: Matt Madison <matt@madison.systems>
This commit is contained in:
Matt Madison
2024-05-03 13:00:51 -07:00
parent 617aa8c815
commit 6b045aac99
7 changed files with 15 additions and 116 deletions

View File

@@ -27,7 +27,7 @@ TNSPEC_MACHINE ??= "${MACHINE}"
TNSPEC_BOOTDEV_DEFAULT ??= "mmcblk0p1"
TNSPEC_BOOTDEV ??= "${TNSPEC_BOOTDEV_DEFAULT}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-tegra"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-jammy-nvidia-tegra"
PREFERRED_PROVIDER_virtual/bootloader ?= "edk2-firmware-tegra"
OPTEE_MM_PROVIDER = "${@'tegra-uefi-prebuilt' if d.getVar('PREFERRED_PROVIDER_virtual/bootloader') == 'tegra-uefi-prebuilt' else 'standalone-mm-optee-tegra'}"
PREFERRED_PROVIDER_standalone-mm-optee-tegra ?= "${OPTEE_MM_PROVIDER}"

View File

@@ -11,32 +11,29 @@ require recipes-kernel/linux/linux-yocto.inc
KERNEL_DISABLE_FW_USER_HELPER ?= "y"
DEPENDS:remove = "kern-tools-native"
DEPENDS:append = " kern-tools-tegra-native"
# All of our device trees are out-of-tree
KERNEL_DEVICETREE:forcevariable = ""
LINUX_VERSION ?= "5.10.192"
PV = "${LINUX_VERSION}+git"
LINUX_VERSION ?= "5.15.136"
PV = "${LINUX_VERSION}+git${SRCPV}"
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1]}:"
LINUX_VERSION_EXTENSION ?= "-l4t-${@'.'.join(d.getVar('L4T_VERSION').split('.'))}"
LINUX_VERSION_EXTENSION ?= "-l4t-r${@'.'.join(d.getVar('L4T_VERSION').split('.')[0:2])}-1009.9"
SCMVERSION ??= "y"
SRCBRANCH = "oe4t-patches${LINUX_VERSION_EXTENSION}"
SRCREV = "db857ecdbe10de229a3cf125831afd6226417eac"
SRCREV = "46cdb595bebc15e918ade351a93b820f4d987220"
KBRANCH = "${SRCBRANCH}"
SRC_REPO = "github.com/OE4T/linux-tegra-5.10.git;protocol=https"
SRC_REPO = "github.com/OE4T/linux-jammy-nvidia-tegra.git;protocol=https"
KERNEL_REPO = "${SRC_REPO}"
SRC_URI = "git://${KERNEL_REPO};name=machine;branch=${KBRANCH} \
${@'file://localversion_auto.cfg' if d.getVar('SCMVERSION') == 'y' else ''} \
${@'file://disable-fw-user-helper.cfg' if d.getVar('KERNEL_DISABLE_FW_USER_HELPER') == 'y' else ''} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://systemd.cfg', '', d)} \
file://spiflash.cfg \
file://disable-module-signing.cfg \
"
PATH:prepend = "${STAGING_BINDIR_NATIVE}/kern-tools-tegra:"
KBUILD_DEFCONFIG = "tegra_defconfig"
KBUILD_DEFCONFIG = "defconfig"
KCONFIG_MODE = "--alldefconfig"
set_scmversion() {
@@ -47,62 +44,7 @@ set_scmversion() {
}
do_kernel_checkout[postfuncs] += "set_scmversion"
python do_kernel_configcheck:prepend() {
os.environ['KERNEL_OVERLAYS'] = d.expand("${S}/nvidia ${S}/nvidia/nvgpu")
}
KERNEL_DEVICETREE_APPLY_OVERLAYS ??= ""
overlay_compatible() {
for oc in $1; do
if echo "$2 " | grep -q "${oc} "; then
return 0
fi
done
return 1
}
do_compile_devicetree_overlays() {
if [ -n "${KERNEL_DTC_FLAGS}" ]; then
export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
fi
oe_runmake dtb-overlays CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
}
do_compile_devicetree_overlays[dirs] = "${B}"
do_compile_devicetree_overlays[depends] += "dtc-native:do_populate_sysroot"
addtask compile_devicetree_overlays after do_compile before do_install
do_apply_devicetree_overlays() {
[ -n "${KERNEL_DEVICETREE_APPLY_OVERLAYS}" ] || return 0
for dtbf in ${KERNEL_DEVICETREE}; do
dtb=$(get_real_dtb_path_in_kernel $(normalize_dtb "$dtbf"))
compat=$(fdtget "$dtb" / compatible)
overlayfiles=
for dtbof in ${KERNEL_DEVICETREE_APPLY_OVERLAYS}; do
dtbo=$(get_real_dtb_path_in_kernel $(normalize_dtb "$dtbof"))
overlaycompat=$(fdtget "$dtbo" / compatible)
if overlay_compatible "$overlaycompat" "$compat"; then
overlayfiles="$overlayfiles $dtbo"
fi
done
if [ -n "$overlayfiles" ]; then
fdtoverlay --input "$dtb" --output "${dtb}.tmp" $overlayfiles
rm "$dtb"
mv "${dtb}.tmp" "$dtb"
else
bbnote "Skipping overlays for $dtb: none compatible"
fi
done
}
do_apply_devicetree_overlays[dirs] = "${B}"
do_apply_devicetree_overlays[depends] += "dtc-native:do_populate_sysroot"
addtask apply_devicetree_overlays after do_compile_devicetree_overlays before do_install
sign_kernel_image_and_dtb_files() {
sign_kernel_image() {
tegra_uefi_sbsign "$1"
shift
while [ $# -gt 0 ]; do
@@ -111,50 +53,13 @@ sign_kernel_image_and_dtb_files() {
done
}
do_sign_kernel_and_dtbs() {
local dtb dtbf alldtbs
alldtbs=""
for dtbf in ${KERNEL_DEVICETREE}; do
dtb=$(get_real_dtb_path_in_kernel $(normalize_dtb "$dtbf"))
alldtbs="$alldtbs $dtb"
done
sign_kernel_image_and_dtb_files ${KERNEL_OUTPUT_DIR}/${KERNEL_IMAGETYPE} $alldtbs
do_sign_kernel() {
sign_kernel_image ${KERNEL_OUTPUT_DIR}/${KERNEL_IMAGETYPE}
}
do_sign_kernel_and_dtbs[dirs] = "${B}"
do_sign_kernel_and_dtbs[depends] += "${TEGRA_UEFI_SIGNING_TASKDEPS}"
do_sign_kernel[dirs] = "${B}"
do_sign_kernel[depends] += "${TEGRA_UEFI_SIGNING_TASKDEPS}"
addtask sign_kernel_and_dtbs after do_compile before do_install
do_install:append() {
for dtbo in $(find ${KERNEL_OUTPUT_DIR}/dts/*.dtbo); do
dtbo_base_name=$(basename $dtbo)
install -m 0644 $dtbo ${D}/${KERNEL_IMAGEDEST}/$dtbo_base_name
done
}
OVERLAYS_TO_DEPLOY = '${TEGRA_PLUGIN_MANAGER_OVERLAYS} ${@" ".join((d.getVar("OVERLAY_DTB_FILE") or "").split(","))}'
do_deploy:append() {
for dtbo in ${OVERLAYS_TO_DEPLOY}; do
if [ -e ${KERNEL_OUTPUT_DIR}/dts/$dtbo ]; then
install -m 0644 ${KERNEL_OUTPUT_DIR}/dts/$dtbo $deployDir
fi
done
for dtbf in ${KERNEL_DEVICETREE}; do
dtb=$(normalize_dtb "$dtbf")
dtb_ext=${dtb##*.}
dtb_path=$(get_real_dtb_path_in_kernel "$dtb")
dtb_base_name=$(basename $dtb .$dtb_ext)
if [ -e $dtb_path.signed ] ; then
install -m 0644 $dtb_path.signed $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.signed
if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then
ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.signed $deployDir/$dtb_base_name.$dtb_ext.signed
fi
if [ -n "${KERNEL_DTB_LINK_NAME}" ] ; then
ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.signed $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext.signed
fi
fi
done
}
addtask sign_kernel after do_compile before do_install
sign_bootimg() {
tegra_uefi_attach_sign "$1"

View File

@@ -1,6 +0,0 @@
CONFIG_QSPI_TEGRA210=y
CONFIG_QSPI_TEGRA23x=y
CONFIG_MTD=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_QSPI_FLASH=y
CONFIG_MTD_BLOCK=y