mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 06:56:29 +00:00
Use tempio to generate RAUC configuration files (#1797)
* Add tempio host package tempio is a template helper using Go's template engine and sprig functions. * Use tempio to generate rauc manifest * Use tempio to generate rauc system.conf
This commit is contained in:
parent
dde7a7b809
commit
616c406e8e
@ -10,5 +10,6 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in"
|
|||||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
|
||||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
|
||||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-rf-mod/Config.in"
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-rf-mod/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/tempio/Config.in.host"
|
||||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in"
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/xe-guest-utilities/Config.in"
|
||||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl88x2bu/Config.in"
|
source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl88x2bu/Config.in"
|
||||||
|
@ -119,6 +119,7 @@ BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
|||||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="qemuarm-64"
|
BR2_PACKAGE_HASSIO_MACHINE="qemuarm-64"
|
||||||
|
@ -109,6 +109,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="generic-x86-64"
|
BR2_PACKAGE_HASSIO_MACHINE="generic-x86-64"
|
||||||
|
@ -107,6 +107,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
|
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
|
||||||
|
@ -107,6 +107,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="odroid-c2"
|
BR2_PACKAGE_HASSIO_MACHINE="odroid-c2"
|
||||||
|
@ -107,6 +107,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="odroid-c4"
|
BR2_PACKAGE_HASSIO_MACHINE="odroid-c4"
|
||||||
|
@ -107,6 +107,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
|
BR2_PACKAGE_HASSIO_MACHINE="odroid-n2"
|
||||||
|
@ -109,6 +109,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="odroid-xu"
|
BR2_PACKAGE_HASSIO_MACHINE="odroid-xu"
|
||||||
|
@ -112,6 +112,8 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="qemux86-64"
|
BR2_PACKAGE_HASSIO_MACHINE="qemux86-64"
|
||||||
|
@ -110,6 +110,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi2"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi2"
|
||||||
|
@ -111,6 +111,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3-64"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3-64"
|
||||||
|
@ -111,6 +111,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi3"
|
||||||
|
@ -113,6 +113,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64"
|
||||||
|
@ -111,6 +111,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4"
|
||||||
|
@ -114,6 +114,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="tinker"
|
BR2_PACKAGE_HASSIO_MACHINE="tinker"
|
||||||
|
@ -112,6 +112,7 @@ BR2_PACKAGE_HOST_E2FSPROGS=y
|
|||||||
BR2_PACKAGE_HOST_GPTFDISK=y
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
BR2_PACKAGE_HOST_MTOOLS=y
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HOST_TEMPIO=y
|
||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64"
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64"
|
||||||
|
26
buildroot-external/ota/manifest.raucm.gtpl
Normal file
26
buildroot-external/ota/manifest.raucm.gtpl
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[update]
|
||||||
|
compatible={{ env "ota_compatible" }}
|
||||||
|
version={{ env "ota_version" }}
|
||||||
|
|
||||||
|
[hooks]
|
||||||
|
filename=hook
|
||||||
|
hooks=install-check;
|
||||||
|
|
||||||
|
[image.boot]
|
||||||
|
filename=boot.vfat
|
||||||
|
hooks=install;
|
||||||
|
|
||||||
|
[image.kernel]
|
||||||
|
filename=kernel.img
|
||||||
|
{{- if eq (env "BOOTLOADER") "grub" }}
|
||||||
|
hooks=post-install;
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
[image.rootfs]
|
||||||
|
filename=rootfs.img
|
||||||
|
|
||||||
|
{{- if eq (env "BOOT_SPL") "true" }}
|
||||||
|
[image.spl]
|
||||||
|
filename=spl.img
|
||||||
|
hooks=install
|
||||||
|
{{- end }}
|
45
buildroot-external/ota/system.conf.gtpl
Normal file
45
buildroot-external/ota/system.conf.gtpl
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[system]
|
||||||
|
compatible={{ env "ota_compatible" }}
|
||||||
|
mountprefix=/run/rauc
|
||||||
|
statusfile=/mnt/data/rauc.db
|
||||||
|
bootloader={{ env "BOOTLOADER" }}
|
||||||
|
{{- if eq (env "BOOTLOADER") "grub" }}
|
||||||
|
{{- if eq (env "BOOT_SYS") "efi" }}
|
||||||
|
grubenv=/mnt/boot/EFI/BOOT/grubenv
|
||||||
|
{{- else }}
|
||||||
|
grubenv=/mnt/boot/grubenv
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
[keyring]
|
||||||
|
path=/etc/rauc/keyring.pem
|
||||||
|
|
||||||
|
[slot.boot.0]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-boot
|
||||||
|
type=vfat
|
||||||
|
allow-mounted=true
|
||||||
|
{{- if eq (env "BOOT_SPL") "true" }}
|
||||||
|
[slot.spl.0]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-boot
|
||||||
|
type=raw
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
[slot.kernel.0]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-kernel0
|
||||||
|
type=raw
|
||||||
|
bootname=A
|
||||||
|
|
||||||
|
[slot.rootfs.0]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-system0
|
||||||
|
type=raw
|
||||||
|
parent=kernel.0
|
||||||
|
|
||||||
|
[slot.kernel.1]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-kernel1
|
||||||
|
type=raw
|
||||||
|
bootname=B
|
||||||
|
|
||||||
|
[slot.rootfs.1]
|
||||||
|
device=/dev/disk/by-partlabel/hassos-system1
|
||||||
|
type=raw
|
||||||
|
parent=kernel.1
|
5
buildroot-external/package/tempio/Config.in.host
Normal file
5
buildroot-external/package/tempio/Config.in.host
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
config BR2_PACKAGE_HOST_TEMPIO
|
||||||
|
bool "Home Assistant tempio"
|
||||||
|
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
|
||||||
|
help
|
||||||
|
Install Home Assistant template helper.
|
22
buildroot-external/package/tempio/tempio.mk
Normal file
22
buildroot-external/package/tempio/tempio.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Home Assistant tempio
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
TEMPIO_VERSION = 2021.09.0
|
||||||
|
TEMPIO_SITE = $(call github,home-assistant,tempio,$(TEMPIO_VERSION))
|
||||||
|
TEMPIO_LICENSE = Apache License 2.0
|
||||||
|
TEMPIO_LICENSE_FILES = LICENSE
|
||||||
|
TEMPIO_GOMOD = github.com/home-assistant/tempio
|
||||||
|
TEMPIO_LDFLAGS = -X main.version=$(TEMPIO_VERSION)
|
||||||
|
|
||||||
|
define TEMPIO_GO_VENDORING
|
||||||
|
(cd $(@D); \
|
||||||
|
$(HOST_DIR)/bin/go mod vendor)
|
||||||
|
endef
|
||||||
|
|
||||||
|
TEMPIO_POST_PATCH_HOOKS += TEMPIO_GO_VENDORING
|
||||||
|
|
||||||
|
$(eval $(golang-package))
|
||||||
|
$(eval $(host-golang-package))
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
function create_ota_update() {
|
function create_ota_update() {
|
||||||
local ota_file="$(hassos_image_name raucb)"
|
local ota_file="$(hassos_image_name raucb)"
|
||||||
|
local ota_compatible="$(hassos_rauc_compatible)"
|
||||||
|
local ota_version="$(hassos_version)"
|
||||||
local rauc_folder="${BINARIES_DIR}/rauc"
|
local rauc_folder="${BINARIES_DIR}/rauc"
|
||||||
local boot="${BINARIES_DIR}/boot.vfat"
|
local boot="${BINARIES_DIR}/boot.vfat"
|
||||||
local kernel="${BINARIES_DIR}/kernel.img"
|
local kernel="${BINARIES_DIR}/kernel.img"
|
||||||
@ -26,35 +28,17 @@ function create_ota_update() {
|
|||||||
cp -f "${rootfs}" "${rauc_folder}/rootfs.img"
|
cp -f "${rootfs}" "${rauc_folder}/rootfs.img"
|
||||||
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/ota/rauc-hook" "${rauc_folder}/hook"
|
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/ota/rauc-hook" "${rauc_folder}/hook"
|
||||||
|
|
||||||
(
|
|
||||||
echo "[update]"
|
|
||||||
echo "compatible=$(hassos_rauc_compatible)"
|
|
||||||
echo "version=$(hassos_version)"
|
|
||||||
echo "[hooks]"
|
|
||||||
echo "filename=hook"
|
|
||||||
echo "hooks=install-check"
|
|
||||||
echo "[image.boot]"
|
|
||||||
echo "filename=boot.vfat"
|
|
||||||
echo "hooks=install"
|
|
||||||
echo "[image.kernel]"
|
|
||||||
echo "filename=kernel.img"
|
|
||||||
if [ "${BOOTLOADER}" == "grub" ]; then
|
|
||||||
echo "hooks=post-install"
|
|
||||||
fi
|
|
||||||
echo "[image.rootfs]"
|
|
||||||
echo "filename=rootfs.img"
|
|
||||||
) > "${rauc_folder}/manifest.raucm"
|
|
||||||
|
|
||||||
# SPL
|
# SPL
|
||||||
if [ "${BOOT_SPL}" == "true" ]; then
|
if [ "${BOOT_SPL}" == "true" ]; then
|
||||||
cp -f "${spl}" "${rauc_folder}/spl.img"
|
cp -f "${spl}" "${rauc_folder}/spl.img"
|
||||||
|
|
||||||
(
|
|
||||||
echo "[image.spl]"
|
|
||||||
echo "filename=spl.img"
|
|
||||||
echo "hooks=install"
|
|
||||||
) >> "${rauc_folder}/manifest.raucm"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export BOOTLOADER BOOT_SPL
|
||||||
|
export ota_compatible ota_version
|
||||||
|
(
|
||||||
|
"${HOST_DIR}/bin/host-tempio" \
|
||||||
|
-template "${BR2_EXTERNAL_HASSOS_PATH}/ota/manifest.raucm.gtpl"
|
||||||
|
) > "${rauc_folder}/manifest.raucm"
|
||||||
|
|
||||||
rauc bundle -d --cert="${cert}" --key="${key}" --keyring="${keyring}" "${rauc_folder}" "${ota_file}"
|
rauc bundle -d --cert="${cert}" --key="${key}" --keyring="${keyring}" "${rauc_folder}" "${ota_file}"
|
||||||
}
|
}
|
||||||
|
@ -1,73 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
function _create_rauc_header() {
|
|
||||||
(
|
|
||||||
echo "[system]"
|
|
||||||
echo "compatible=$(hassos_rauc_compatible)"
|
|
||||||
echo "mountprefix=/run/rauc"
|
|
||||||
echo "statusfile=/mnt/data/rauc.db"
|
|
||||||
echo "bootloader=${BOOTLOADER}"
|
|
||||||
if [ "${BOOTLOADER}" == "grub" ]; then
|
|
||||||
if [ "${BOOT_SYS}" == "efi" ]; then
|
|
||||||
echo "grubenv=/mnt/boot/EFI/BOOT/grubenv"
|
|
||||||
else
|
|
||||||
echo "grubenv=/mnt/boot/grubenv"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[keyring]"
|
|
||||||
echo "path=/etc/rauc/keyring.pem"
|
|
||||||
) > "${TARGET_DIR}/etc/rauc/system.conf"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function _write_rauc_boot() {
|
|
||||||
(
|
|
||||||
echo "[slot.boot.0]"
|
|
||||||
echo "device=/dev/disk/by-partlabel/hassos-boot"
|
|
||||||
echo "type=vfat"
|
|
||||||
echo "allow-mounted=true"
|
|
||||||
) >> "${TARGET_DIR}/etc/rauc/system.conf"
|
|
||||||
|
|
||||||
# SPL
|
|
||||||
if ! [ "${BOOT_SPL}" == "true" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
(
|
|
||||||
echo "[slot.spl.0]"
|
|
||||||
echo "device=/dev/disk/by-partlabel/hassos-boot"
|
|
||||||
echo "type=raw"
|
|
||||||
) >> "${TARGET_DIR}/etc/rauc/system.conf"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function _write_rauc_system() {
|
|
||||||
local slot_num=${1}
|
|
||||||
local slot_name=${2}
|
|
||||||
|
|
||||||
(
|
|
||||||
echo "[slot.kernel.${slot_num}]"
|
|
||||||
echo "device=/dev/disk/by-partlabel/hassos-kernel${slot_num}"
|
|
||||||
echo "type=raw"
|
|
||||||
echo "bootname=${slot_name}"
|
|
||||||
|
|
||||||
echo "[slot.rootfs.${slot_num}]"
|
|
||||||
echo "device=/dev/disk/by-partlabel/hassos-system${slot_num}"
|
|
||||||
echo "type=raw"
|
|
||||||
echo "parent=kernel.${slot_num}"
|
|
||||||
) >> "${TARGET_DIR}/etc/rauc/system.conf"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function write_rauc_config() {
|
function write_rauc_config() {
|
||||||
mkdir -p "${TARGET_DIR}/etc/rauc"
|
mkdir -p "${TARGET_DIR}/etc/rauc"
|
||||||
|
|
||||||
_create_rauc_header
|
local ota_compatible
|
||||||
_write_rauc_boot
|
ota_compatible="$(hassos_rauc_compatible)"
|
||||||
_write_rauc_system 0 A
|
|
||||||
_write_rauc_system 1 B
|
export ota_compatible
|
||||||
|
export BOOTLOADER BOOT_SYS BOOT_SPL
|
||||||
|
|
||||||
|
(
|
||||||
|
"${HOST_DIR}/bin/host-tempio" \
|
||||||
|
-template "${BR2_EXTERNAL_HASSOS_PATH}/ota/system.conf.gtpl"
|
||||||
|
) > "${TARGET_DIR}/etc/rauc/system.conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user