diff --git a/Documentation/deployment.md b/Documentation/deployment.md index b88c0d947..68e456dcd 100644 --- a/Documentation/deployment.md +++ b/Documentation/deployment.md @@ -3,7 +3,7 @@ We know 3 types of release builds: - development (beta/dev) - staging (rc) -- productive (stable) +- production (stable) ## Versioning The format of version is *MAJOR.BUILD*. Everytime we create a new release with same userland, we bump the build number. diff --git a/buildroot-external/board/ova/patches/rauc/0001-add-i-argument-to.patch b/buildroot-external/board/ova/patches/rauc/0001-add-i-argument-to.patch index 2337970a9..6ab580a7c 100644 --- a/buildroot-external/board/ova/patches/rauc/0001-add-i-argument-to.patch +++ b/buildroot-external/board/ova/patches/rauc/0001-add-i-argument-to.patch @@ -17,7 +17,7 @@ index d5efc0c..c57c2f7 100644 g_ptr_array_add(args, g_strdup_printf(BOOTSTATE_PREFIX ".%s.remaining_attempts", bootname)); + + g_ptr_array_add(args, g_strdup("-i")); -+ g_ptr_array_add(args, g_strdup("/mnt/boot/EFI/barebox/state.dtb")); ++ g_ptr_array_add(args, g_strdup("/etc/barebox-state.dtb")); g_ptr_array_add(args, NULL); sub = g_subprocess_newv((const gchar * const *)args->pdata, @@ -27,7 +27,7 @@ index d5efc0c..c57c2f7 100644 } + + g_ptr_array_add(args, g_strdup("-i")); -+ g_ptr_array_add(args, g_strdup("/mnt/boot/EFI/barebox/state.dtb")); ++ g_ptr_array_add(args, g_strdup("/etc/barebox-state.dtb")); g_ptr_array_add(args, NULL); sub = g_subprocess_newv((const gchar * const *)args->pdata, diff --git a/buildroot-external/board/ova/post-image.sh b/buildroot-external/board/ova/post-image.sh index 9a38c47fa..605719f62 100755 --- a/buildroot-external/board/ova/post-image.sh +++ b/buildroot-external/board/ova/post-image.sh @@ -26,10 +26,5 @@ prepare_disk_image # Create disk images create_disk_image 6 -convert_disk_image_vdmk - -# Generate OTA update file -rm -rf ${BOOT_DATA}/EFI/barebox -rm -f ${BOOT_DATA}/cmdline.txt - -create_ota_update bzImage +convert_disk_image_vmdk +create_ota_update diff --git a/buildroot-external/board/raspberrypi/post-image.sh b/buildroot-external/board/raspberrypi/post-image.sh index 655967f08..7f1e1ef78 100755 --- a/buildroot-external/board/raspberrypi/post-image.sh +++ b/buildroot-external/board/raspberrypi/post-image.sh @@ -44,8 +44,4 @@ prepare_disk_image create_disk_image 2 fix_disk_image_mbr convert_disk_image_gz - -# Generate OTA update file -rm -f ${BOOT_DATA}/*.txt - -create_ota_update ${KERNEL_NAME} +create_ota_update diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index e6582f86b..16bd4447b 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -71,12 +71,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/amd64-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 3d8eeb5a0..e9dc0ce2d 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index bb619557b..ed7fdf022 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -79,12 +79,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 63da4555c..b144b4153 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/aarch64-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 2ccb033e0..2db9cedd6 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 189abab69..9d0c315a7 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -79,12 +79,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="108" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="3" +BR2_PACKAGE_HASSOS_CLI_VERSION="4" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_APPARMOR=y diff --git a/buildroot-external/rootfs-overlay/etc/fw_env.config b/buildroot-external/misc/fw_env.config similarity index 100% rename from buildroot-external/rootfs-overlay/etc/fw_env.config rename to buildroot-external/misc/fw_env.config diff --git a/buildroot-external/misc/rauc-hook b/buildroot-external/misc/rauc-hook new file mode 100644 index 000000000..815a6c5fb --- /dev/null +++ b/buildroot-external/misc/rauc-hook @@ -0,0 +1,12 @@ +#!/bin/sh + +# Handle boot hocks +if [ "${RAUC_SLOT_CLASS}" = "boot" ]; then + if [ "${1}" = "slot-post-install" ]; then + /usr/lib/rauc/post-install-boot + elif [ "${1}" = "slot-pre-install" ]; then + /usr/lib/rauc/pre-install-boot + fi +fi + +exit 0 diff --git a/buildroot-external/rootfs-overlay/etc/rauc/system.conf b/buildroot-external/rootfs-overlay/etc/rauc/system.conf index 22b483050..7c2d3c2e3 100644 --- a/buildroot-external/rootfs-overlay/etc/rauc/system.conf +++ b/buildroot-external/rootfs-overlay/etc/rauc/system.conf @@ -4,6 +4,10 @@ mountprefix=/run/rauc statusfile=/mnt/data/rauc.db bootloader=%BOOTLOADER% +[handlers] +pre-install=/usr/lib/rauc/pre-install +post-install=/usr/lib/rauc/post-install + [keyring] path=/etc/rauc/keyring.pem diff --git a/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install b/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install new file mode 100755 index 000000000..f07bc2638 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +systemctl start mnt-boot.mount +systemctl reboot diff --git a/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install-boot b/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install-boot new file mode 100755 index 000000000..53bfd2ded --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/rauc/post-install-boot @@ -0,0 +1,7 @@ +#!/bin/sh + +BOOT_DATA=/tmp/boot-data + +cp -f ${BOOT_DATA}/*.txt ${RAUC_SLOT_MOUNT_POINT}/ + +rm -rf ${BOOT_DATA} diff --git a/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install b/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install new file mode 100755 index 000000000..71b4b94b3 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install @@ -0,0 +1,3 @@ +#!/bin/sh + +systemctl stop mnt-boot.mount diff --git a/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install-boot b/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install-boot new file mode 100755 index 000000000..f101d548d --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install-boot @@ -0,0 +1,8 @@ +#!/bin/sh + +BOOT_DATA=/tmp/boot-data + +rm -rf ${BOOT_DATA} +mkdir -p ${BOOT_DATA} + +cp -f ${RAUC_SLOT_MOUNT_POINT}/*.txt ${BOOT_DATA}/ diff --git a/buildroot-external/scripts/hdd-image.sh b/buildroot-external/scripts/hdd-image.sh index 772988406..41bab4700 100755 --- a/buildroot-external/scripts/hdd-image.sh +++ b/buildroot-external/scripts/hdd-image.sh @@ -37,19 +37,16 @@ function create_overlay_image() { function create_kernel_image() { - local kernel0_img="${BINARIES_DIR}/kernel0.ext4" - local kernel1_img="${BINARIES_DIR}/kernel1.ext4" + local kernel_img="${BINARIES_DIR}/kernel.ext4" local kernel="${BINARIES_DIR}/${KERNEL_FILE}" # Make image - dd if=/dev/zero of=${kernel0_img} bs=${KERNEL_SIZE} count=1 - mkfs.ext4 -L "hassos-kernel0" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel0_img} - dd if=/dev/zero of=${kernel1_img} bs=${KERNEL_SIZE} count=1 - mkfs.ext4 -L "hassos-kernel1" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel1_img} + dd if=/dev/zero of=${kernel_img} bs=${KERNEL_SIZE} count=1 + mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel_img} # Mount / init file structs mkdir -p /mnt/data/ - mount -o loop ${kernel0_img} /mnt/data + mount -o loop ${kernel_img} /mnt/data cp -f ${kernel} /mnt/data/ umount /mnt/data } @@ -67,16 +64,14 @@ function create_disk_image() { local rootfs_img="${BINARIES_DIR}/rootfs.squashfs" local overlay_img="${BINARIES_DIR}/overlay.ext4" local data_img="${BINARIES_DIR}/data.ext4" - local kernel0_img="${BINARIES_DIR}/kernel0.ext4" - local kernel1_img="${BINARIES_DIR}/kernel1.ext4" + local kernel_img="${BINARIES_DIR}/kernel.ext4" local hdd_img="$(hassos_image_name img)" local hdd_count=${1:-2} local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)" local boot_offset=0 local rootfs_offset=0 - local kernel0_offset=0 - local kernel1_offset=0 + local kernel_offset=0 local overlay_offset=0 local data_offset=0 @@ -88,13 +83,12 @@ function create_disk_image() { boot_offset="$(sgdisk -F ${hdd_img})" sgdisk -n 1:0:+${BOOT_SIZE} -c 1:"hassos-boot" -t 1:"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" -u 1:${BOOT_UUID} ${hdd_img} - kernel0_offset="$(sgdisk -F ${hdd_img})" + kernel_offset="$(sgdisk -F ${hdd_img})" sgdisk -n 2:0:+${KERNEL_SIZE} -c 2:"hassos-kernel0" -t 2:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 2:${KERNEL0_UUID} ${hdd_img} rootfs_offset="$(sgdisk -F ${hdd_img})" sgdisk -n 3:0:+${SYSTEM_SIZE} -c 3:"hassos-system0" -t 3:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 3:${SYSTEM0_UUID} ${hdd_img} - kernel1_offset="$(sgdisk -F ${hdd_img})" sgdisk -n 4:0:+${KERNEL_SIZE} -c 4:"hassos-kernel1" -t 4:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 4:${KERNEL1_UUID} ${hdd_img} sgdisk -n 5:0:+${SYSTEM_SIZE} -c 5:"hassos-system1" -t 5:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 5:${SYSTEM1_UUID} ${hdd_img} @@ -110,8 +104,7 @@ function create_disk_image() { # Write Images sgdisk -v dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${boot_offset} - dd if=${kernel0_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel0_offset} - dd if=${kernel1_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel1_offset} + dd if=${kernel_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel_offset} dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${rootfs_offset} dd if=${overlay_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${overlay_offset} dd if=${data_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${data_offset} @@ -126,12 +119,12 @@ function fix_disk_image_mbr() { } -function convert_disk_image_vdmk() { +function convert_disk_image_vmdk() { local hdd_img="$(hassos_image_name img)" - local hdd_vdmk="$(hassos_image_name vdmk)" + local hdd_vmdk="$(hassos_image_name vmdk)" - rm -f ${hdd_vdmk} - qemu-img convert -O vmdk ${hdd_img} ${hdd_vdmk} + rm -f ${hdd_vmdk} + qemu-img convert -O vmdk ${hdd_img} ${hdd_vmdk} rm -f ${hdd_img} } diff --git a/buildroot-external/scripts/ota.sh b/buildroot-external/scripts/ota.sh index b9f3a3f9e..589b3a1a7 100644 --- a/buildroot-external/scripts/ota.sh +++ b/buildroot-external/scripts/ota.sh @@ -3,8 +3,8 @@ function create_ota_update() { local ota_file="$(hassos_image_name raucb)" local rauc_folder="${BINARIES_DIR}/rauc" - local boot_folder="${BINARIES_DIR}/boot" - local kernel="${BINARIES_DIR}/${KERNEL_FILE}" + local boot="${BINARIES_DIR}/boot.vfat" + local kernel="${BINARIES_DIR}/kernel.ext4" local rootfs="${BINARIES_DIR}/rootfs.squashfs" local key="/build/key.pem" local cert="/build/cert.pem" @@ -12,18 +12,22 @@ function create_ota_update() { rm -rf ${rauc_folder} ${ota_file} mkdir -p ${rauc_folder} - tar -P -cf ${rauc_folder}/kernel.tar ${kernel} - tar -P -cf ${rauc_folder}/boot.tar ${boot_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}/misc/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.tar" + echo "filename=boot.vfat" + echo "hooks=pre-install;post-install" echo "[image.kernel]" - echo "filename=kernel.tar" + echo "filename=kernel.ext4" echo "[image.rootfs]" echo "filename=rootfs.img" ) > ${rauc_folder}/manifest.raucm diff --git a/buildroot-external/scripts/post-build.sh b/buildroot-external/scripts/post-build.sh index a0eb5fea2..8ba16f109 100755 --- a/buildroot-external/scripts/post-build.sh +++ b/buildroot-external/scripts/post-build.sh @@ -38,8 +38,16 @@ sed -i "s/%COMPATIBLE%/$(hassos_rauc_compatible)/g" ${TARGET_DIR}/etc/rauc/syste sed -i "s/%BOOTLOADER%/${BOOTLOADER}/g" ${TARGET_DIR}/etc/rauc/system.conf # Settup the correct CA -if [ "${DEPLOYMENT}" == "development" ]; then - cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/provisioning-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem -else +if [ "${DEPLOYMENT}" == "production" ]; then cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem +else + cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/dev-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem fi + +# Bootloader options +if [ "${BOOTLOADER}" == "uboot" ]; then + cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/fw_env.config ${TARGET_DIR}/etc/fw_env.config +else + cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb ${TARGET_DIR}/etc/barebox-state.dtb +fi +