Skip to content
Snippets Groups Projects
Commit 9e405ceb authored by Andrei Gherzan's avatar Andrei Gherzan :penguin:
Browse files

Merge branch 'c61_ota' into 'kirkstone'

seco-imx8mm-c61: Add RAUC/SYSOTA support configuration

See merge request eclipse/oniro-core/oniro!346
parents 6e0076cb 7506d711
No related branches found
No related tags found
No related merge requests found
...@@ -33,7 +33,7 @@ SPDX-FileCopyrightText: Huawei Inc. ...@@ -33,7 +33,7 @@ SPDX-FileCopyrightText: Huawei Inc.
<project name="meta-intel" remote="yocto" revision="15cdda250fc5aa762ac0139087f96411ca696036" path="meta-intel" /> <project name="meta-intel" remote="yocto" revision="15cdda250fc5aa762ac0139087f96411ca696036" path="meta-intel" />
<project name="pub/intel/yocto/meta-seco-intel" remote="seco" revision="65a673560211b11986db5785c70254fad190785f" path="meta-seco-intel" /> <project name="pub/intel/yocto/meta-seco-intel" remote="seco" revision="65a673560211b11986db5785c70254fad190785f" path="meta-seco-intel" />
<project name="meta-freescale" remote="yocto" revision="2e785f257ad98581b684f0e32f6d4bb96faefb10" path="meta-freescale" /> <project name="meta-freescale" remote="yocto" revision="2e785f257ad98581b684f0e32f6d4bb96faefb10" path="meta-freescale" />
<project name="pub/i.mx/yocto/5.x/meta-seco-imx" remote="seco" revision="604eea652c97a2b1aad94bf466ccb148e1c334a4" path="meta-seco-imx" /> <project name="pub/i.mx/yocto/5.x/meta-seco-imx" remote="seco" revision="f2cb750471dc263bc7c94ca6921cbaf25c37ccba" path="meta-seco-imx" />
<project name="meta-raspberrypi" remote="yocto" revision="0135a02ea577bd39dd552236ead2c5894d89da1d" path="meta-raspberrypi" /> <project name="meta-raspberrypi" remote="yocto" revision="0135a02ea577bd39dd552236ead2c5894d89da1d" path="meta-raspberrypi" />
<project name="meta-security" remote="yocto" revision="c79262a30bd385f5dbb009ef8704a1a01644528e" path="meta-security" /> <project name="meta-security" remote="yocto" revision="c79262a30bd385f5dbb009ef8704a1a01644528e" path="meta-security" />
<project name="rauc/meta-rauc" remote="github" revision="ea4236412dc4449eff4d52d3ef6b6d230355f936" path="meta-rauc" /> <project name="rauc/meta-rauc" remote="github" revision="ea4236412dc4449eff4d52d3ef6b6d230355f936" path="meta-rauc" />
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
set CMDLINE="console=ttyS0,115200 panic=60 rootwait quiet" set CMDLINE="console=@SERIAL_CONSOLES@ panic=60 rootwait quiet"
# Find the boot partition. We need to know where to load from and save the # Find the boot partition. We need to know where to load from and save the
# environment to. The boot partition is saved into the ONIRO_GRUB_BOOT # environment to. The boot partition is saved into the ONIRO_GRUB_BOOT
...@@ -81,9 +81,13 @@ fi ...@@ -81,9 +81,13 @@ fi
# https://gitlab.eclipse.org/eclipse/oniro-core/sysota/-/wikis/Boot%20Assets%20Specification#efigrub # https://gitlab.eclipse.org/eclipse/oniro-core/sysota/-/wikis/Boot%20Assets%20Specification#efigrub
if [ "$SLOT" == "A" ]; then if [ "$SLOT" == "A" ]; then
# TODO pass root partition by partuuid. # TODO pass root partition by partuuid.
linux "(hd0,gpt2)/boot/@KERNEL_IMAGETYPE@" root=/dev/sda2 rauc.slot=A $CMDLINE menuentry 'boot' {
linux "(hd0,gpt2)/boot/@KERNEL_IMAGETYPE@" root=@RAUC_SLOT_A@ rauc.slot=A $CMDLINE
}
elif [ "$SLOT" == "B" ]; then elif [ "$SLOT" == "B" ]; then
linux "(hd0,gpt3)/boot/@KERNEL_IMAGETYPE@" root=/dev/sda3 rauc.slot=B $CMDLINE menuentry 'boot' {
linux "(hd0,gpt3)/boot/@KERNEL_IMAGETYPE@" root=@RAUC_SLOT_B@ rauc.slot=B $CMDLINE
}
else else
echo "error: cannot select slot to boot from, halting" echo "error: cannot select slot to boot from, halting"
halt halt
......
...@@ -15,7 +15,7 @@ SRC_URI = " \ ...@@ -15,7 +15,7 @@ SRC_URI = " \
file://grub.cfg \ file://grub.cfg \
file://grubenv \ file://grubenv \
" "
require recipes-core/rauc/rauc-conf.inc
inherit deploy inherit deploy
RPROVIDES:${PN} += "virtual-grub-bootconf" RPROVIDES:${PN} += "virtual-grub-bootconf"
...@@ -33,6 +33,11 @@ do_install() { ...@@ -33,6 +33,11 @@ do_install() {
install -d ${D}${EFI_FILES_PATH} install -d ${D}${EFI_FILES_PATH}
install -m 644 grub.cfg ${D}${EFI_FILES_PATH}/grub.cfg install -m 644 grub.cfg ${D}${EFI_FILES_PATH}/grub.cfg
sed -i "s/@KERNEL_IMAGETYPE@/${KERNEL_IMAGETYPE}/g" ${D}${EFI_FILES_PATH}/grub.cfg sed -i "s/@KERNEL_IMAGETYPE@/${KERNEL_IMAGETYPE}/g" ${D}${EFI_FILES_PATH}/grub.cfg
baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'`
ttydev=`echo "${SERIAL_CONSOLES}" | sed -e 's/^[0-9]*\;//' -e 's/ .*//'`
sed -i "s/@SERIAL_CONSOLES@/${ttydev},${baudrate}/g" ${D}${EFI_FILES_PATH}/grub.cfg
sed -i "s,@RAUC_SLOT_A@,${RAUC_SLOT_A},g" ${D}${EFI_FILES_PATH}/grub.cfg
sed -i "s,@RAUC_SLOT_B@,${RAUC_SLOT_B},g" ${D}${EFI_FILES_PATH}/grub.cfg
install -m 644 grubenv ${D}${EFI_FILES_PATH}/grubenv install -m 644 grubenv ${D}${EFI_FILES_PATH}/grubenv
} }
......
...@@ -9,6 +9,7 @@ SUMMARY = "SysOTA/RAUC Update Bundle for Oniro Base Image" ...@@ -9,6 +9,7 @@ SUMMARY = "SysOTA/RAUC Update Bundle for Oniro Base Image"
RAUC_BUNDLE_COMPATIBLE:raspberrypi-armv7 = "Raspberry Pi ARMv7" RAUC_BUNDLE_COMPATIBLE:raspberrypi-armv7 = "Raspberry Pi ARMv7"
RAUC_BUNDLE_COMPATIBLE:raspberrypi4-64 = "Raspberry Pi 4" RAUC_BUNDLE_COMPATIBLE:raspberrypi4-64 = "Raspberry Pi 4"
RAUC_BUNDLE_COMPATIBLE:seco-intel-b68 := "SECO Alvin" RAUC_BUNDLE_COMPATIBLE:seco-intel-b68 := "SECO Alvin"
RAUC_BUNDLE_COMPATIBLE:seco-imx8mm-c61 := "SECO Astrid"
RAUC_BUNDLE_COMPATIBLE:qemux86 = "QEMU x86" RAUC_BUNDLE_COMPATIBLE:qemux86 = "QEMU x86"
RAUC_BUNDLE_COMPATIBLE:qemux86-64 = "QEMU x86-64" RAUC_BUNDLE_COMPATIBLE:qemux86-64 = "QEMU x86-64"
RAUC_BUNDLE_COMPATIBLE:qemuarm-efi = "QEMU ARM (EFI)" RAUC_BUNDLE_COMPATIBLE:qemuarm-efi = "QEMU ARM (EFI)"
......
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: MIT
# Define the slots and compatible strings for reference boards.
# The values here must be synchronized with those in the bundle.
# Look at meta-oniro-core/recipes-core/bundles/oniro-bundle-base.bb
RAUC_COMPAT:raspberrypi-armv7 := "Raspberry Pi ARMv7"
RAUC_SLOT_A:raspberrypi-armv7 := "/dev/mmcblk0p2"
RAUC_SLOT_B:raspberrypi-armv7 := "/dev/mmcblk0p3"
RAUC_COMPAT:raspberrypi4-64 := "Raspberry Pi 4"
RAUC_SLOT_A:raspberrypi4-64 := "/dev/mmcblk0p2"
RAUC_SLOT_B:raspberrypi4-64 := "/dev/mmcblk0p3"
RAUC_COMPAT:seco-intel-b68 := "SECO Alvin"
RAUC_SLOT_A:seco-intel-b68 := "/dev/sda2"
RAUC_SLOT_B:seco-intel-b68 := "/dev/sda3"
RAUC_COMPAT:seco-imx8mm-c61 := "SECO Astrid"
RAUC_SLOT_A:seco-imx8mm-c61 := "/dev/mmcblk0p2"
RAUC_SLOT_B:seco-imx8mm-c61 := "/dev/mmcblk0p3"
RAUC_COMPAT:qemux86 := "QEMU x86"
RAUC_SLOT_A:qemux86 := "/dev/sda2"
RAUC_SLOT_B:qemux86 := "/dev/sda3"
RAUC_COMPAT:qemux86-64 := "QEMU x86-64"
RAUC_SLOT_A:qemux86-64 := "/dev/sda2"
RAUC_SLOT_B:qemux86-64 := "/dev/sda3"
RAUC_COMPAT:qemuarm-efi:= "QEMU ARM (EFI)"
RAUC_SLOT_A:qemuarm-efi := "/dev/sda2"
RAUC_SLOT_B:qemuarm-efi := "/dev/sda3"
RAUC_COMPAT:qemuarm64-efi:= "QEMU ARM64 (EFI)"
RAUC_SLOT_A:qemuarm64-efi := "/dev/sda2"
RAUC_SLOT_B:qemuarm64-efi := "/dev/sda3"
...@@ -18,36 +18,7 @@ SRC_URI:append = " \ ...@@ -18,36 +18,7 @@ SRC_URI:append = " \
file://system.conf.in \ file://system.conf.in \
" "
# Define the slots and compatible strings for reference boards. include rauc-conf.inc
# The values here must be synchronized with those in the bundle.
# Look at meta-oniro-core/recipes-core/bundles/oniro-bundle-base.bb
RAUC_COMPAT:raspberrypi-armv7 := "Raspberry Pi ARMv7"
RAUC_SLOT_A:raspberrypi-armv7 := "/dev/mmcblk0p2"
RAUC_SLOT_B:raspberrypi-armv7 := "/dev/mmcblk0p3"
RAUC_COMPAT:raspberrypi4-64 := "Raspberry Pi 4"
RAUC_SLOT_A:raspberrypi4-64 := "/dev/mmcblk0p2"
RAUC_SLOT_B:raspberrypi4-64 := "/dev/mmcblk0p3"
RAUC_COMPAT:seco-intel-b68 := "SECO Alvin"
RAUC_SLOT_A:seco-intel-b68 := "/dev/sda2"
RAUC_SLOT_B:seco-intel-b68 := "/dev/sda3"
RAUC_COMPAT:qemux86 := "QEMU x86"
RAUC_SLOT_A:qemux86 := "/dev/sda2"
RAUC_SLOT_B:qemux86 := "/dev/sda3"
RAUC_COMPAT:qemux86-64 := "QEMU x86-64"
RAUC_SLOT_A:qemux86-64 := "/dev/sda2"
RAUC_SLOT_B:qemux86-64 := "/dev/sda3"
RAUC_COMPAT:qemuarm-efi:= "QEMU ARM (EFI)"
RAUC_SLOT_A:qemuarm-efi := "/dev/sda2"
RAUC_SLOT_B:qemuarm-efi := "/dev/sda3"
RAUC_COMPAT:qemuarm64-efi:= "QEMU ARM64 (EFI)"
RAUC_SLOT_A:qemuarm64-efi := "/dev/sda2"
RAUC_SLOT_B:qemuarm64-efi := "/dev/sda3"
do_install:prepend() { do_install:prepend() {
sed \ sed \
......
...@@ -121,6 +121,9 @@ SYSOTA_BOOTLOADER_TYPE:qemuarm64-efi := "GRUB" ...@@ -121,6 +121,9 @@ SYSOTA_BOOTLOADER_TYPE:qemuarm64-efi := "GRUB"
SYSOTA_MODEL:seco-intel-b68 := "B68 / Alvin" SYSOTA_MODEL:seco-intel-b68 := "B68 / Alvin"
SYSOTA_BOOTLOADER_TYPE:seco-intel-b68 := "GRUB" SYSOTA_BOOTLOADER_TYPE:seco-intel-b68 := "GRUB"
SYSOTA_MODEL:seco-imx8mm-c61 := "C61 / Astrid"
SYSOTA_BOOTLOADER_TYPE:seco-imx8mm-c61 := "GRUB"
do_install:prepend() { do_install:prepend() {
sed \ sed \
-e 's,@SYSOTA_BOOTLOADER_TYPE@,${SYSOTA_BOOTLOADER_TYPE},g' \ -e 's,@SYSOTA_BOOTLOADER_TYPE@,${SYSOTA_BOOTLOADER_TYPE},g' \
......
...@@ -4,5 +4,5 @@ ...@@ -4,5 +4,5 @@
# Start only when a configuration file has been provided as a part # Start only when a configuration file has been provided as a part
# of the provisioning process. # of the provisioning process.
[Service] [Unit]
ConditionPathExists=/etc/rauc-hawkbit-updater/config.conf ConditionPathExists=/etc/rauc-hawkbit-updater/config.conf
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment