Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update layers and prepare for 2024.08 #967

Merged
merged 12 commits into from
Aug 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,7 @@
path = sources/meta-tegra-community
url = https://github.com/YoeDistro/meta-tegra-community
branch = master
[submodule "sources/meta-swupdate"]
path = sources/meta-swupdate
url = https://github.com/yoedistro/meta-swupdate
branch = yoe/master
16 changes: 13 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2024.08] - 2024-08-XX
## [2024.08] - 2024-08-31

### Changed

Expand All @@ -19,7 +19,7 @@ and this project adheres to
- Fix buildpaths build QA error in several recipes
- Add UPSTREAM_CHECK_COMMITS to meta-openembedded recipes
- Upgrade go to 1.22.6
- Upgrade rust to 1.77.2
- Upgrade rust to 1.79.0
- Upgrade GCC to 14.2
- Upgrade binutils to 2.43
- Set CVE_PRODUCT in several recipes
Expand All @@ -32,13 +32,23 @@ and this project adheres to
- Upgrade binutils to 2.43.1
- Fix QT 6.7 builds with Clang-19
- Upgrade libxml2 to 2.13.3 and address ABI breakges due to it in meta-oe
- Fix several multimedia recipes to work with ffmpeg 7
- Fix recipes to work with fmt 11.x
- Correct LICENSE field of several recipes in meta-python
- Upgrade musl to latest on trunk 1.2.5+
- Upgrade automate to 1.17
- Add swupdate OTA support on tegra platforms

### Added

- Introduce 6.10 reference kernel
- Added vex class for CVE management
- Added recipes:
- drgn, vdpauinfo, python3-psycopg
- drgn, vdpauinfo, python3-psycopg, libplacebo, cpuset

### Removed

- Removed VOLATILE_TMP_DIR and VOLATILE_LOG_DIR bitbake variables

## [2024.07] - 2024-07-30

Expand Down
7 changes: 6 additions & 1 deletion conf/projects/jetson-agx-orin-devkit/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down
7 changes: 6 additions & 1 deletion conf/projects/jetson-orin-nano-devkit-nvme/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down
7 changes: 6 additions & 1 deletion conf/projects/jetson-orin-nano-devkit/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down
1 change: 1 addition & 0 deletions conf/projects/jetson-orin-nano-devkit/layers.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ BBLAYERS = "\
${TOPDIR}/sources/meta-tegra \
${TOPDIR}/sources/meta-tegra-community \
\
${TOPDIR}/sources/meta-swupdate \
${TOPDIR}/sources/meta-qt6 \
\
${TOPDIR}/sources/meta-openembedded/meta-filesystems \
Expand Down
2 changes: 1 addition & 1 deletion conf/site.conf
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ require ${TOPDIR}/conf/projects/${PROJECT}/config.conf
#YOE_PROFILE = "yoe-musl-sysvinit-wayland"
#require conf/world.conf

IMG_VERSION = "24.7.5"
IMG_VERSION = "24.8.0"
2 changes: 1 addition & 1 deletion sources/meta-openembedded
Submodule meta-openembedded updated 113 files
2 changes: 1 addition & 1 deletion sources/meta-qcom
1 change: 1 addition & 0 deletions sources/meta-swupdate
Submodule meta-swupdate added at faedf1
4 changes: 2 additions & 2 deletions sources/meta-yoe/conf/distro/yoe.inc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ MAINTAINER = "Yoe Distro Community <http://yoedistro.org>"
TARGET_VENDOR = "-yoe"
SDK_VENDOR = "-yoesdk"
# Distro version is YYYY.MM
DISTRO_VERSION = "2024.07"
DISTRO_CODENAME = "Qinghai"
DISTRO_VERSION = "2024.08"
DISTRO_CODENAME = "Rabo Largo"
SDK_VERSION := "${DISTRO_VERSION}"

SDK_NAME_PREFIX = "yoe"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
function postinst()
local success = os.execute("/usr/bin/oe4t-set-uefi-OSIndications")
local result = "oe4t-set-uefi-OSIndications completed with success: " .. tostring(success)
return success, result
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
software =
{
version = "@@DISTRO_VERSION@@";

@@MACHINE@@ = {
hardware-compatibility: [ "1.0" ]
system = {
slot_a : {
partitions: (
{
type = "diskformat";
device = "@@ROOTFS_DEVICE_PATH@@/APP_b";
properties: {
fstype = "ext4";
force = "true";
}
}
);
images: (
{
filename = "@@ROOTFS_FILENAME@@";
type = "archive";
device = "@@ROOTFS_DEVICE_PATH@@/APP_b";
filesystem = "ext4";
path = "/";
installed-directly = true;
preserve-attributes = true;
sha256 = "$swupdate_get_sha256(@@ROOTFS_FILENAME@@)";
},
{
filename = "@@DEPLOY_KERNEL_IMAGE@@";
device = "@@ROOTFS_DEVICE_PATH@@/@@KERNEL_B_PARTNAME@@";
},
{
filename = "@@DTBFILE@@";
device = "@@ROOTFS_DEVICE_PATH@@/@@KERNEL_B_DTB_PARTNAME@@";
}

);
files: (
{
filename = "tegra-bl.cap";
path = "/boot/efi/EFI/UpdateCapsule/TEGRA_BL.Cap";
properties = {create-destination = "true";}
}
);
scripts: (
{
filename = "bootloader-update.lua";
type = "lua"
sha256 = "$swupdate_get_sha256(bootloader-update.lua)";
}
);

};
slot_b : {
partitions: (
{
type = "diskformat";
device = "@@ROOTFS_DEVICE_PATH@@/APP";
properties: {
fstype = "ext4";
force = "true";
}
}
);
images: (
{
filename = "@@ROOTFS_FILENAME@@";
type = "archive";
device = "@@ROOTFS_DEVICE_PATH@@/APP";
filesystem = "ext4";
path = "/";
installed-directly = true;
preserve-attributes = true;
sha256 = "$swupdate_get_sha256(@@ROOTFS_FILENAME@@)";
},
{
filename = "@@DEPLOY_KERNEL_IMAGE@@";
device = "@@ROOTFS_DEVICE_PATH@@/@@KERNEL_A_PARTNAME@@";
},
{
filename = "@@DTBFILE@@";
device = "@@ROOTFS_DEVICE_PATH@@/@@KERNEL_A_DTB_PARTNAME@@";
}
);
files: (
{
filename = "tegra-bl.cap";
path = "/boot/efi/EFI/UpdateCapsule/TEGRA_BL.Cap";
properties = {create-destination = "true";}
}
);
scripts: (
{
filename = "bootloader-update.lua";
type = "lua"
sha256 = "$swupdate_get_sha256(bootloader-update.lua)";
}
);
};
};
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
SUMMARY = "Tegra swupdate update image"
DESCRIPTION = "A swupdate image for demonstrating tegra updates"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"

SRC_URI = "\
file://sw-description \
file://bootloader-update.lua \
"

inherit swupdate image_types_tegra

DEPLOY_KERNEL_IMAGE ?= "${@os.path.basename(tegra_kernel_image(d))}"

ROOTFS_DEVICE_PATH ?= "/dev/disk/by-partlabel"

# By default, use yoe-simple-image as the base image.
# Redefine in local.conf if you'd like to use a different base image.
SWUPDATE_CORE_IMAGE_NAME ?= "yoe-simple-image"

ROOTFS_FILENAME ?= "${SWUPDATE_CORE_IMAGE_NAME}-${MACHINE}.rootfs.tar.gz"

# Handle differences in redundant partition naming on t194 platforms
KERNEL_A_PARTNAME = "A_kernel"
KERNEL_A_DTB_PARTNAME = "A_kernel-dtb"
KERNEL_B_PARTNAME = "B_kernel"
KERNEL_B_DTB_PARTNAME = "B_kernel-dtb"

# images to build before building swupdate image
IMAGE_DEPENDS = "${SWUPDATE_CORE_IMAGE_NAME} tegra-uefi-capsules"

# images and files that will be included in the .swu image
DTBFILE_PATH = "${@'${EXTERNAL_KERNEL_DEVICETREE}/${DTBFILE}' if len(d.getVar('EXTERNAL_KERNEL_DEVICETREE')) else '${DTBFILE}'}"
SWUPDATE_IMAGES = "${ROOTFS_FILENAME} tegra-bl.cap ${DEPLOY_KERNEL_IMAGE} ${DTBFILE_PATH}"

do_swuimage[depends] += "${DTB_EXTRA_DEPS}"
do_swuimage[dirs] += "${S}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/sh

get_current_slot() {
curslot=$(nvbootctrl get-current-slot)
if [ $curslot -eq 1 ]; then
echo "b"
else
echo "a"
fi
}

. /etc/os-release

if [ -e /run/mfgdata/serial-number ]; then
SERIALNUMBER=$(cat /run/mfgdata/serial-number)
elif [ -e /sys/module/fuse_burn/parameters/tegra_chip_uid ]; then
SERIALNUMBER=$(cat /sys/module/fuse_burn/parameters/tegra_chip_uid)
else
SERIALNUMBER="unknown"
fi

BOOTSLOT=$(get_current_slot)

rm -f /run/swupdate/swupdate.cfg

extrased=
if [ ! -e /usr/share/swupdate/swupdate.pem ]; then
extrased="-e /public-key-file/d"
fi
sed -e"s,@SWVERSION@,$VERSION_ID," \
-e"s,@SERIALNUMBER@,$SERIALNUMBER," \
-e"s,@BOOTSLOT@,$BOOTSLOT," \
$extrased \
/usr/share/swupdate/swupdate.cfg.in > /run/swupdate/swupdate.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Service]
ExecStartPre=/usr/libexec/swupdate/swupdate-genconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
globals:
{
verbose = false;
loglevel = 3;
select = "system,slot_@BOOTSLOT@";
};

identify : (
{ name = "swversion"; value = "@SWVERSION@" },
{ name = "serialnumber"; value = "@SERIALNUMBER@" },
{ name = "model"; value = "@MODEL@" }
);

Loading