* Update rauc 1.4 to fix mounted boot partition issue * applay update * fix characters * fix CI * Support old format * fix mcopy prefix * fix lint * fix lint * clean style * Fix script * fix syntax * Support all system * fix shell * Fix script
57 lines
1.7 KiB
Bash
Executable File
57 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# shellcheck disable=SC2155
|
|
|
|
function create_ota_update() {
|
|
local ota_file="$(hassos_image_name raucb)"
|
|
local rauc_folder="${BINARIES_DIR}/rauc"
|
|
local boot="${BINARIES_DIR}/boot.vfat"
|
|
local kernel="${BINARIES_DIR}/kernel.ext4"
|
|
local rootfs="${BINARIES_DIR}/rootfs.squashfs"
|
|
local spl="${BINARIES_DIR}/spl.img"
|
|
local key="/build/key.pem"
|
|
local cert="/build/cert.pem"
|
|
local keyring="${TARGET_DIR}/etc/rauc/keyring.pem"
|
|
|
|
# Skip if no dev key is arround
|
|
if [ ! -f "${key}" ]; then
|
|
echo "Skip creating OTA update because of missing key ${key}"
|
|
return 0
|
|
fi
|
|
|
|
rm -rf "${rauc_folder}" "${ota_file}"
|
|
mkdir -p "${rauc_folder}"
|
|
|
|
cp -f "${kernel}" "${rauc_folder}/kernel.ext4"
|
|
cp -f "${boot}" "${rauc_folder}/boot.vfat"
|
|
cp -f "${rootfs}" "${rauc_folder}/rootfs.img"
|
|
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 "[image.boot]"
|
|
echo "filename=boot.vfat"
|
|
echo "hooks=install"
|
|
echo "[image.kernel]"
|
|
echo "filename=kernel.ext4"
|
|
echo "[image.rootfs]"
|
|
echo "filename=rootfs.img"
|
|
) > "${rauc_folder}/manifest.raucm"
|
|
|
|
# SPL
|
|
if [ "${BOOT_SPL}" == "true" ]; then
|
|
cp -f "${spl}" "${rauc_folder}/spl.img"
|
|
|
|
(
|
|
echo "[image.spl]"
|
|
echo "filename=spl.img"
|
|
echo "hooks=install"
|
|
) >> "${rauc_folder}/manifest.raucm"
|
|
fi
|
|
|
|
rauc bundle -d --cert="${cert}" --key="${key}" --keyring="${keyring}" "${rauc_folder}" "${ota_file}"
|
|
}
|