Skip to content

Commit

Permalink
Merge pull request #967 from YoeDistro/kraj/master
Browse files Browse the repository at this point in the history
Update layers and prepare for 2024.08
  • Loading branch information
kraj committed Aug 31, 2024
2 parents 869bc72 + b6dda1f commit 7e0dc54
Show file tree
Hide file tree
Showing 33 changed files with 327 additions and 26 deletions.
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
2 changes: 1 addition & 1 deletion sources/meta-raspberrypi
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

0 comments on commit 7e0dc54

Please sign in to comment.