mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 15:06:29 +00:00
Use correct cert (#35)
* Use correct cert * Fix boot partition handling * Cleanup rauc handling * Make a reboot * handling
This commit is contained in:
parent
42dc915436
commit
3e8499ecbf
@ -3,7 +3,7 @@
|
|||||||
We know 3 types of release builds:
|
We know 3 types of release builds:
|
||||||
- development (beta/dev)
|
- development (beta/dev)
|
||||||
- staging (rc)
|
- staging (rc)
|
||||||
- productive (stable)
|
- production (stable)
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
The format of version is *MAJOR.BUILD*. Everytime we create a new release with same userland, we bump the build number.
|
The format of version is *MAJOR.BUILD*. Everytime we create a new release with same userland, we bump the build number.
|
||||||
|
@ -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_printf(BOOTSTATE_PREFIX ".%s.remaining_attempts", bootname));
|
||||||
+
|
+
|
||||||
+ g_ptr_array_add(args, g_strdup("-i"));
|
+ 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);
|
g_ptr_array_add(args, NULL);
|
||||||
|
|
||||||
sub = g_subprocess_newv((const gchar * const *)args->pdata,
|
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("-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);
|
g_ptr_array_add(args, NULL);
|
||||||
|
|
||||||
sub = g_subprocess_newv((const gchar * const *)args->pdata,
|
sub = g_subprocess_newv((const gchar * const *)args->pdata,
|
||||||
|
@ -26,10 +26,5 @@ prepare_disk_image
|
|||||||
|
|
||||||
# Create disk images
|
# Create disk images
|
||||||
create_disk_image 6
|
create_disk_image 6
|
||||||
convert_disk_image_vdmk
|
convert_disk_image_vmdk
|
||||||
|
create_ota_update
|
||||||
# Generate OTA update file
|
|
||||||
rm -rf ${BOOT_DATA}/EFI/barebox
|
|
||||||
rm -f ${BOOT_DATA}/cmdline.txt
|
|
||||||
|
|
||||||
create_ota_update bzImage
|
|
||||||
|
@ -44,8 +44,4 @@ prepare_disk_image
|
|||||||
create_disk_image 2
|
create_disk_image 2
|
||||||
fix_disk_image_mbr
|
fix_disk_image_mbr
|
||||||
convert_disk_image_gz
|
convert_disk_image_gz
|
||||||
|
create_ota_update
|
||||||
# Generate OTA update file
|
|
||||||
rm -f ${BOOT_DATA}/*.txt
|
|
||||||
|
|
||||||
create_ota_update ${KERNEL_NAME}
|
|
||||||
|
@ -71,12 +71,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
@ -79,12 +79,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
@ -80,12 +80,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
@ -79,12 +79,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
|||||||
BR2_PACKAGE_HOST_RAUC=y
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
BR2_PACKAGE_HASSOS=y
|
BR2_PACKAGE_HASSOS=y
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
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="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_CLI_PROFILE="docker-default"
|
||||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
12
buildroot-external/misc/rauc-hook
Normal file
12
buildroot-external/misc/rauc-hook
Normal file
@ -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
|
@ -4,6 +4,10 @@ mountprefix=/run/rauc
|
|||||||
statusfile=/mnt/data/rauc.db
|
statusfile=/mnt/data/rauc.db
|
||||||
bootloader=%BOOTLOADER%
|
bootloader=%BOOTLOADER%
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
pre-install=/usr/lib/rauc/pre-install
|
||||||
|
post-install=/usr/lib/rauc/post-install
|
||||||
|
|
||||||
[keyring]
|
[keyring]
|
||||||
path=/etc/rauc/keyring.pem
|
path=/etc/rauc/keyring.pem
|
||||||
|
|
||||||
|
4
buildroot-external/rootfs-overlay/usr/lib/rauc/post-install
Executable file
4
buildroot-external/rootfs-overlay/usr/lib/rauc/post-install
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
systemctl start mnt-boot.mount
|
||||||
|
systemctl reboot
|
7
buildroot-external/rootfs-overlay/usr/lib/rauc/post-install-boot
Executable file
7
buildroot-external/rootfs-overlay/usr/lib/rauc/post-install-boot
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
BOOT_DATA=/tmp/boot-data
|
||||||
|
|
||||||
|
cp -f ${BOOT_DATA}/*.txt ${RAUC_SLOT_MOUNT_POINT}/
|
||||||
|
|
||||||
|
rm -rf ${BOOT_DATA}
|
3
buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install
Executable file
3
buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
systemctl stop mnt-boot.mount
|
8
buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install-boot
Executable file
8
buildroot-external/rootfs-overlay/usr/lib/rauc/pre-install-boot
Executable file
@ -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}/
|
@ -37,19 +37,16 @@ function create_overlay_image() {
|
|||||||
|
|
||||||
|
|
||||||
function create_kernel_image() {
|
function create_kernel_image() {
|
||||||
local kernel0_img="${BINARIES_DIR}/kernel0.ext4"
|
local kernel_img="${BINARIES_DIR}/kernel.ext4"
|
||||||
local kernel1_img="${BINARIES_DIR}/kernel1.ext4"
|
|
||||||
local kernel="${BINARIES_DIR}/${KERNEL_FILE}"
|
local kernel="${BINARIES_DIR}/${KERNEL_FILE}"
|
||||||
|
|
||||||
# Make image
|
# Make image
|
||||||
dd if=/dev/zero of=${kernel0_img} bs=${KERNEL_SIZE} count=1
|
dd if=/dev/zero of=${kernel_img} bs=${KERNEL_SIZE} count=1
|
||||||
mkfs.ext4 -L "hassos-kernel0" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel0_img}
|
mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel_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}
|
|
||||||
|
|
||||||
# Mount / init file structs
|
# Mount / init file structs
|
||||||
mkdir -p /mnt/data/
|
mkdir -p /mnt/data/
|
||||||
mount -o loop ${kernel0_img} /mnt/data
|
mount -o loop ${kernel_img} /mnt/data
|
||||||
cp -f ${kernel} /mnt/data/
|
cp -f ${kernel} /mnt/data/
|
||||||
umount /mnt/data
|
umount /mnt/data
|
||||||
}
|
}
|
||||||
@ -67,16 +64,14 @@ function create_disk_image() {
|
|||||||
local rootfs_img="${BINARIES_DIR}/rootfs.squashfs"
|
local rootfs_img="${BINARIES_DIR}/rootfs.squashfs"
|
||||||
local overlay_img="${BINARIES_DIR}/overlay.ext4"
|
local overlay_img="${BINARIES_DIR}/overlay.ext4"
|
||||||
local data_img="${BINARIES_DIR}/data.ext4"
|
local data_img="${BINARIES_DIR}/data.ext4"
|
||||||
local kernel0_img="${BINARIES_DIR}/kernel0.ext4"
|
local kernel_img="${BINARIES_DIR}/kernel.ext4"
|
||||||
local kernel1_img="${BINARIES_DIR}/kernel1.ext4"
|
|
||||||
local hdd_img="$(hassos_image_name img)"
|
local hdd_img="$(hassos_image_name img)"
|
||||||
local hdd_count=${1:-2}
|
local hdd_count=${1:-2}
|
||||||
|
|
||||||
local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)"
|
local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)"
|
||||||
local boot_offset=0
|
local boot_offset=0
|
||||||
local rootfs_offset=0
|
local rootfs_offset=0
|
||||||
local kernel0_offset=0
|
local kernel_offset=0
|
||||||
local kernel1_offset=0
|
|
||||||
local overlay_offset=0
|
local overlay_offset=0
|
||||||
local data_offset=0
|
local data_offset=0
|
||||||
|
|
||||||
@ -88,13 +83,12 @@ function create_disk_image() {
|
|||||||
boot_offset="$(sgdisk -F ${hdd_img})"
|
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}
|
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}
|
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})"
|
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}
|
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 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}
|
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
|
# Write Images
|
||||||
sgdisk -v
|
sgdisk -v
|
||||||
dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${boot_offset}
|
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=${kernel_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel_offset}
|
||||||
dd if=${kernel1_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${kernel1_offset}
|
|
||||||
dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${rootfs_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=${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}
|
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_img="$(hassos_image_name img)"
|
||||||
local hdd_vdmk="$(hassos_image_name vdmk)"
|
local hdd_vmdk="$(hassos_image_name vmdk)"
|
||||||
|
|
||||||
rm -f ${hdd_vdmk}
|
rm -f ${hdd_vmdk}
|
||||||
qemu-img convert -O vmdk ${hdd_img} ${hdd_vdmk}
|
qemu-img convert -O vmdk ${hdd_img} ${hdd_vmdk}
|
||||||
rm -f ${hdd_img}
|
rm -f ${hdd_img}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,8 +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 rauc_folder="${BINARIES_DIR}/rauc"
|
local rauc_folder="${BINARIES_DIR}/rauc"
|
||||||
local boot_folder="${BINARIES_DIR}/boot"
|
local boot="${BINARIES_DIR}/boot.vfat"
|
||||||
local kernel="${BINARIES_DIR}/${KERNEL_FILE}"
|
local kernel="${BINARIES_DIR}/kernel.ext4"
|
||||||
local rootfs="${BINARIES_DIR}/rootfs.squashfs"
|
local rootfs="${BINARIES_DIR}/rootfs.squashfs"
|
||||||
local key="/build/key.pem"
|
local key="/build/key.pem"
|
||||||
local cert="/build/cert.pem"
|
local cert="/build/cert.pem"
|
||||||
@ -12,18 +12,22 @@ function create_ota_update() {
|
|||||||
rm -rf ${rauc_folder} ${ota_file}
|
rm -rf ${rauc_folder} ${ota_file}
|
||||||
mkdir -p ${rauc_folder}
|
mkdir -p ${rauc_folder}
|
||||||
|
|
||||||
tar -P -cf ${rauc_folder}/kernel.tar ${kernel}
|
cp -f ${kernel} ${rauc_folder}/kernel.ext4
|
||||||
tar -P -cf ${rauc_folder}/boot.tar ${boot_folder}
|
cp -f ${boot} ${rauc_folder}/boot.vfat
|
||||||
cp -f ${rootfs} ${rauc_folder}/rootfs.img
|
cp -f ${rootfs} ${rauc_folder}/rootfs.img
|
||||||
|
cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/rauc-hook ${rauc_folder}/hook
|
||||||
|
|
||||||
(
|
(
|
||||||
echo "[update]"
|
echo "[update]"
|
||||||
echo "compatible=$(hassos_rauc_compatible)"
|
echo "compatible=$(hassos_rauc_compatible)"
|
||||||
echo "version=$(hassos_version)"
|
echo "version=$(hassos_version)"
|
||||||
|
echo "[hooks]"
|
||||||
|
echo "filename=hook"
|
||||||
echo "[image.boot]"
|
echo "[image.boot]"
|
||||||
echo "filename=boot.tar"
|
echo "filename=boot.vfat"
|
||||||
|
echo "hooks=pre-install;post-install"
|
||||||
echo "[image.kernel]"
|
echo "[image.kernel]"
|
||||||
echo "filename=kernel.tar"
|
echo "filename=kernel.ext4"
|
||||||
echo "[image.rootfs]"
|
echo "[image.rootfs]"
|
||||||
echo "filename=rootfs.img"
|
echo "filename=rootfs.img"
|
||||||
) > ${rauc_folder}/manifest.raucm
|
) > ${rauc_folder}/manifest.raucm
|
||||||
|
@ -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
|
sed -i "s/%BOOTLOADER%/${BOOTLOADER}/g" ${TARGET_DIR}/etc/rauc/system.conf
|
||||||
|
|
||||||
# Settup the correct CA
|
# Settup the correct CA
|
||||||
if [ "${DEPLOYMENT}" == "development" ]; then
|
if [ "${DEPLOYMENT}" == "production" ]; then
|
||||||
cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/provisioning-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem
|
|
||||||
else
|
|
||||||
cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem
|
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
|
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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user