Skip to content

Commit 398d5e9

Browse files
authored
Merge pull request #767 from YoeDistro/kraj/master
Add yoe updater support for var-som-mx8 platform and update layers
2 parents 7384b4a + 6271d6e commit 398d5e9

File tree

18 files changed

+259
-12
lines changed

18 files changed

+259
-12
lines changed

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,20 @@ and this project adheres to
2828
- Yoe updater now supports tmpfs as well as persistent overlays
2929
- Add yoe-installer-image to create SD card installer for eMMC
3030
- Switch to using ext4.xz for rootfs in updater
31+
- Update arm optee-os to 3.20.0
32+
- Upgrade bpftrace to 0.17.0
33+
- Fix serveral recipes in meta-freesclale to build world
34+
- Enable parallel execution of ptest images and fix ptest dependencies
35+
- Handle spaces within user $PATH in SDK installers
36+
- Upgrade systemd to 253.1
3137

3238
### Added
3339

3440
- Add kernel specific KERNEL_OBJDUMP variable
3541
- Add VOLATILE_TMP_DIR variable
3642
- Add support for visionfive2 board
3743
- Add recipes - python3-rich, xdg-dbus-proxy, libavif, dav1d
44+
- Add yoe updater support for MX8-VAR-SOM symphony board
3845

3946
### Removed
4047

sources/meta-arm

Submodule meta-arm updated 24 files

sources/meta-freescale

Submodule meta-freescale updated 31 files

sources/meta-openembedded

Submodule meta-openembedded updated 54 files

sources/meta-yoe/conf/layer.conf

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ BBFILES_DYNAMIC += " \
2323
raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bbappend \
2424
swupdate:${LAYERDIR}/dynamic-layers/swupdate/*/*/*.bb \
2525
swupdate:${LAYERDIR}/dynamic-layers/swupdate/*/*/*.bbappend \
26+
variscite-bsp:${LAYERDIR}/dynamic-layers/variscite-bsp/*/*/*.bb \
27+
variscite-bsp:${LAYERDIR}/dynamic-layers/variscite-bsp/*/*/*.bbappend \
2628
webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bb \
2729
webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bbappend \
2830
"

sources/meta-yoe/conf/projects/var-som-mx8/config.conf

+10-6
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@ ACCEPT_FSL_EULA = "1"
1010
# Rapsberry pi firmware
1111
LICENSE_FLAGS_ACCEPTED += "\
1212
"
13-
IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz"
13+
IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz"
14+
IMAGE_FSTYPES:remove = "tar.gz wic.bz2 ext4"
1415
# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
15-
#INITRAMFS_IMAGE_BUNDLE = "1"
16-
#WKS_FILE = "yoe-sdimage.wks"
16+
INITRAMFS_IMAGE_BUNDLE = "1"
1717
# Use yoe-initramfs-image for initramfs
18-
#INITRAMFS_IMAGE = "yoe-initramfs-image"
18+
INITRAMFS_IMAGE = "yoe-initramfs-image"
1919
# Use kernel+initramfs image to boot
20-
#IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}"
21-
#IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}"
20+
IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}"
21+
IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}"
22+
# Use default Device Tree ( LVDS )
23+
IMAGE_BOOT_FILES:append = " imx8qm-var-som-symphony-lvds.dtb;imx8qm-var-som-symphony.dtb"
24+
WKS_FILE:yoe = "yoe-imx8-sdimage.wks.in"
25+
WKS_FILE:yoe:pn-yoe-installer-image = "yoe-imx8-sd-installer.wks.in"
2226

2327
# Needed for Running bitbake -ctestimage <image>
2428
#TEST_TARGET_IP = "10.0.0.34"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2+
3+
SRC_URI:append:yoe = " file://0001-imx8qm_var_som-Adjust-for-boot-root-data-paritioning.patch"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From ae4bb4e192786f1f25ffa5cdb1cc67dd40987175 Mon Sep 17 00:00:00 2001
2+
From: Khem Raj <[email protected]>
3+
Date: Tue, 14 Mar 2023 21:22:03 -0700
4+
Subject: [PATCH] imx8qm_var_som: Adjust for boot/root/data paritioning scheme
5+
6+
Yoe Distro uses separate parition for boot and rootfs, therefore adjust
7+
it here in bootloader environment.
8+
9+
Upstream-Status: Inappropriate [Yoe Specific]
10+
Signed-off-by: Khem Raj <[email protected]>
11+
---
12+
include/configs/imx8qm_var_som.h | 4 ++--
13+
1 file changed, 2 insertions(+), 2 deletions(-)
14+
15+
--- a/include/configs/imx8qm_var_som.h
16+
+++ b/include/configs/imx8qm_var_som.h
17+
@@ -93,7 +93,7 @@
18+
CONFIG_MFG_ENV_SETTINGS \
19+
M4_BOOT_ENV \
20+
AHAB_ENV \
21+
- "bootdir=/boot\0" \
22+
+ "bootdir=\0" \
23+
"script=boot.scr\0" \
24+
"image=Image.gz\0" \
25+
"panel=VAR-WVGA-LCD\0" \
26+
@@ -126,7 +126,7 @@
27+
"bootaux ${m41_addr} 1;\0" \
28+
"optargs=setenv bootargs ${bootargs} ${kernelargs};\0" \
29+
"mmcargs=setenv bootargs console=${console},${baudrate} earlycon som_wifi=${som_wifi} " \
30+
- "root=/dev/mmcblk${mmcblk}p${mmcpart} rootfstype=ext4 rootwait rw\0 " \
31+
+ "root=/dev/mmcblk${mmcblk}p2 rootfstype=ext4 rootwait rw\0 " \
32+
"loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${script};\0" \
33+
"bootscript=echo Running bootscript from mmc ...; " \
34+
"source\0" \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_OVERLAY_FS=y
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2+
SRC_URI += "file://overlayfs.cfg"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# We use updater to handle disk/SD management, therefore remove 96boards-tools
2+
IMAGE_INSTALL:remove = "96boards-tools"
3+
4+
KERNEL_IMAGE = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin"
5+
6+
KERNEL_ARTEFACTS = "\
7+
${KERNEL_IMAGETYPE} \
8+
imx8qm-var-som-symphony-dp-m4.dtb \
9+
imx8qm-var-som-symphony-dp.dtb \
10+
imx8qm-var-som-symphony-hdmi-m4.dtb \
11+
imx8qm-var-som-symphony-hdmi.dtb \
12+
imx8qm-var-som-symphony-lvds.dtb \
13+
imx8qm-var-som-symphony-lvds-m4.dtb \
14+
"
15+
DTBO_ARTEFACTS = "\
16+
"
17+
18+
ROOTFS_ARTEFACTS = "rootfs.ext4.xz"
19+
20+
BOOTLOADER_ARTEFACTS = "\
21+
imx-boot \
22+
dpfw.bin \
23+
hdmirxfw.bin \
24+
hdmitxfw.bin \
25+
"
26+
UPDATE_IMAGES = "version.txt ${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS} ${DTBO_ARTEFACTS} ${ROOTFS_ARTEFACTS}"
27+
28+
do_updater() {
29+
echo "IMG_VERSION = ${IMG_VERSION}"
30+
rm -rf ${TOPDIR}/deploy/${MACHINE}
31+
install -d ${TOPDIR}/deploy/${MACHINE}
32+
OLDPWD="$PWD"
33+
cd ${TOPDIR}/deploy/${MACHINE}
34+
echo "${IMG_VERSION}" > version.txt
35+
install ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext4.xz ${ROOTFS_ARTEFACTS}
36+
for f in ${KERNEL_ARTEFACTS} ${BOOTLOADER_ARTEFACTS}
37+
do
38+
install ${DEPLOY_DIR_IMAGE}/$f $f
39+
done
40+
#default device tree file One of the dtbs from BOOTLOADER_ARTEFACTS here we choose 'lvds' one
41+
install imx8qm-var-som-symphony-lvds.dtb imx8qm-var-som-symphony.dtb
42+
43+
for f in ${DTBO_ARTEFACTS}
44+
do
45+
install -D ${DEPLOY_DIR_IMAGE}/`basename $f` $f
46+
done
47+
# Match kernel image with wic
48+
rm ${KERNEL_IMAGETYPE}
49+
install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} ${KERNEL_IMAGETYPE}
50+
sha256sum ${UPDATE_IMAGES} > update.sha256
51+
rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd
52+
ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd
53+
install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd
54+
cd ${OLDPWD}
55+
rm -rf ${TOPDIR}/deploy/${MACHINE}
56+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../updater.installer
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
TITLE="VAR-SOM-MX8 Symphony Board"
2+
PLAT="imx8qm-var-som"
3+
UPDATE_FILE_NAME="${PLAT}"
4+
5+
USB_DETECTION_DELAY=4
6+
7+
KERNEL="\
8+
Image \
9+
imx8qm-var-som-symphony.dtb \
10+
imx8qm-var-som-symphony-dp-m4.dtb \
11+
imx8qm-var-som-symphony-dp.dtb \
12+
imx8qm-var-som-symphony-hdmi-m4.dtb \
13+
imx8qm-var-som-symphony-hdmi.dtb \
14+
imx8qm-var-som-symphony-lvds.dtb \
15+
imx8qm-var-som-symphony-lvds-m4.dtb \
16+
"
17+
18+
BOOT="\
19+
imx-boot \
20+
dpfw.bin \
21+
hdmirxfw.bin \
22+
hdmitxfw.bin \
23+
"
24+
25+
ROOTFS="rootfs.ext4.xz"
26+
27+
EMMC_DEVICE=/dev/mmcblk0
28+
SD_DEVICE=/dev/mmcblk1
29+
30+
# Can have "emmc" or "sd", this is the install target media
31+
STORAGE="sd"
32+
# Install location is EMMC_DEVICE if STORAGE is 'emmc' and
33+
# SD_DEVICE if STORAGE is 'sd'
34+
if [ "$STORAGE" = "emmc" ]; then
35+
INSTALL_DEVICE=${EMMC_DEVICE}
36+
else
37+
INSTALL_DEVICE=${SD_DEVICE}
38+
fi
39+
40+
INSTALL_BOOT_DEV=${INSTALL_DEVICE}p1
41+
INSTALL_ROOTFS_DEV=${INSTALL_DEVICE}p2
42+
INSTALL_DATA_DEV=${INSTALL_DEVICE}p3
43+
44+
EMMC_BOOT_DEV=${EMMC_DEVICE}p1
45+
EMMC_ROOTFS_DEV=${EMMC_DEVICE}p2
46+
EMMC_DATA_DEV=${EMMC_DEVICE}p3
47+
48+
SD_BOOT_DEV=${SD_DEVICE}p1
49+
SD_ROOTFS_DEV=${SD_DEVICE}p2
50+
SD_DATA_DEV=${SD_DEVICE}p3
51+
52+
BOOT_MOUNT_POINT=/boot
53+
ROOTFS_MOUNT_POINT=/root
54+
DATA_MOUNT_POINT=/data
55+
USB_MOUNT_POINT=/media/usb
56+
SD_MOUNT_POINT=/media/sd
57+
58+
# Size in 'M' for MB, 'G' for GB
59+
RESERVED_SIZE=2M
60+
BOOT_SIZE=100M
61+
ROOTFS_SIZE=1G
62+
63+
FSTYPE=ext4
64+
BOOT_FSTYPE=ext4
65+
66+
UPDATER_SPEECH=0
67+
UPDATER_CAN_PARTITION=1
68+
69+
# Space separated list of dirs to create in /data
70+
# which is used by volatile-binds during main rootfs boot
71+
PERSISTENT_BINDS="/etc/ssh"
72+
73+
plat_init() {
74+
msg "Running $PLAT initializations ..."
75+
cat /proc/cpuinfo | grep Revision | cut -d' ' -f 2 > /etc/hwrevision
76+
}
77+
78+
plat_bootloader_quirks() {
79+
# unlock eMMC boot partitions
80+
# see https://www.kernel.org/doc/Documentation/mmc/mmc-dev-parts.txt
81+
BOOTDEV=$(basename ${EMMC_DEVICE})
82+
if [ -e imx-boot1 ]; then
83+
if ! diff imx-boot $BOOT_MOUNT_POINT/imx-boot 2>&1 >/dev/null; then
84+
msg_splash "Updating bootloader in eMMC ..."
85+
echo 0 > /sys/block/${BOOTDEV}boot0/force_ro
86+
dd if=imx-boot of=/dev/${BOOTDEV}boot0 seek=33 bs=1k
87+
echo 1 > /sys/block/${BOOTDEV}boot0/force_ro
88+
echo 0 > /sys/block/${BOOTDEV}boot1/force_ro
89+
dd if=imx-boot of=/dev/${BOOTDEV}boot1 seek=33 bs=1k
90+
echo 1 > /sys/block/${BOOTDEV}boot1/force_ro
91+
fi
92+
fi
93+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# short-description: Create SD card image with a boot partition
2+
# long-description:
3+
# Create an image that can be written onto a SD card using dd for use
4+
# with i.MX SoC family
5+
# It uses u-boot + other binaries gathered together on imx-boot file
6+
#
7+
# The disk layout used is:
8+
# - ---------- -------------- -------------------
9+
# | | imx-boot | installer | empty |
10+
# - ---------- ------------------ --------------
11+
# ^ ^ ^ ^ ^
12+
# | | | | |
13+
# 0 | 8MiB 1024MiB 1024MiB + IMAGE_EXTRA_SPACE (default 10MiB)
14+
# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual
15+
#
16+
part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}
17+
# 1G
18+
part /boot --source bootimg-partition --ondisk mmcblk --fstype=ext4 --label boot --active --align 4096 --size 1024
19+
20+
bootloader --ptable gpt
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# short-description: Create SD card image with a boot partition
2+
# long-description:
3+
# Create an image that can be written onto a SD card using dd for use
4+
# with i.MX SoC family
5+
# It uses u-boot + other binaries gathered together on imx-boot file
6+
#
7+
# The disk layout used is:
8+
# - ---------- -------------- --------------
9+
# | | imx-boot | boot | rootfs |
10+
# - ---------- -------------- --------------
11+
# ^ ^ ^ ^ ^
12+
# | | | | |
13+
# 0 | 8MiB 72MiB 72MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
14+
# ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual
15+
#
16+
part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}
17+
part /boot --source bootimg-partition --ondisk mmcblk --fstype=ext4 --label boot --active --align 4096 --size 64
18+
# Main Rootfs partition (1G)
19+
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --fixed-size 1024 --align 4096 --uuid=70672ec3-5eee-49ff-b3b1-eb1fbd406bf5
20+
21+
# User data partition (1M)
22+
part /data --ondisk mmcblk --fstype=ext4 --label data --fixed-size 1 --align 4096 --fsoptions "x-systemd.growfs"
23+
24+
bootloader --ptable gpt

sources/poky

Submodule poky updated 115 files

0 commit comments

Comments
 (0)