diff --git a/buildroot-external/board/ova/post-image.sh b/buildroot-external/board/ova/post-image.sh index d115a22e4..1ad965289 100755 --- a/buildroot-external/board/ova/post-image.sh +++ b/buildroot-external/board/ova/post-image.sh @@ -26,7 +26,6 @@ echo "console=tty1" > ${BOOT_DATA}/cmdline.txt create_boot_image ${BINARIES_DIR} create_overlay_image ${BINARIES_DIR} create_kernel_image ${BINARIES_DIR} bzImage -create_barebox_state_image ${BINARIES_DIR} create_disk_image ${BINARIES_DIR} ${BINARIES_DIR}/harddisk.img 6 diff --git a/buildroot-external/board/raspberrypi/post-image.sh b/buildroot-external/board/raspberrypi/post-image.sh index a70d8f984..074a0adec 100755 --- a/buildroot-external/board/raspberrypi/post-image.sh +++ b/buildroot-external/board/raspberrypi/post-image.sh @@ -45,7 +45,6 @@ echo "dwc_otg.lpm_enable=0 console=tty1" > ${BOOT_DATA}/cmdline.txt # Create other layers create_boot_image ${BINARIES_DIR} create_overlay_image ${BINARIES_DIR} -create_uboot_state_image ${BINARIES_DIR} create_kernel_image ${BINARIES_DIR} ${KERNEL_NAME} create_disk_image ${BINARIES_DIR} ${IMAGE_FILE} 2 diff --git a/buildroot-external/bootloader/uboot.config b/buildroot-external/bootloader/uboot.config index dc8a4158d..de619a0f3 100644 --- a/buildroot-external/bootloader/uboot.config +++ b/buildroot-external/bootloader/uboot.config @@ -7,11 +7,11 @@ CONFIG_SYS_PROMPT="HassOS> " # CONFIG_DOS_PARTITION is not set # CONFIG_ISO_PARTITION is not set CONFIG_EFI_PARTITION=y +CONFIG_FS_EXT4=y # CONFIG_ENV_IS_NOWHERE is not set # CONFIG_ENV_IS_IN_FAT is not set -CONFIG_ENV_IS_IN_EXT4=y -CONFIG_ENV_EXT4_DEVICE_AND_PART="0:6" -CONFIG_ENV_EXT4_FILE="/hassos.env" +# CONFIG_ENV_IS_IN_EXT4 is not set +CONFIG_ENV_IS_IN_MMC=y CONFIG_CONSOLE_SCROLL_LINES=10 CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_REGEX=y diff --git a/buildroot-external/patches/uboot/0001-Support-HassOS-bootstate-partition.patch b/buildroot-external/patches/uboot/0001-Support-HassOS-bootstate-partition.patch new file mode 100644 index 000000000..d73a5221e --- /dev/null +++ b/buildroot-external/patches/uboot/0001-Support-HassOS-bootstate-partition.patch @@ -0,0 +1,28 @@ +From 1529062f72cee8061b4733e1148357d227639900 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 11 Jun 2018 11:09:10 +0000 +Subject: [PATCH 1/1] Support HassOS bootstate partition + +Signed-off-by: Pascal Vizeli +--- + env/mmc.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/env/mmc.c b/env/mmc.c +index 5e3da6dca7..75c06899d1 100644 +--- a/env/mmc.c ++++ b/env/mmc.c +@@ -18,6 +18,10 @@ + #include + #include + ++#define CONFIG_SYS_MMC_ENV_DEV 0 ++#define CONFIG_ENV_OFFSET 0x25100000 ++#define CONFIG_ENV_SIZE 0x400000 ++ + #define __STR(X) #X + #define STR(X) __STR(X) + +-- +2.17.1 + diff --git a/buildroot-external/rootfs-overlay/etc/fw_env.config b/buildroot-external/rootfs-overlay/etc/fw_env.config index cb8888e9f..e111c297b 100644 --- a/buildroot-external/rootfs-overlay/etc/fw_env.config +++ b/buildroot-external/rootfs-overlay/etc/fw_env.config @@ -1 +1 @@ -/mnt/state/hassos.env 0x0000 0x4000 +/dev/disk/by-partlabel/hassos-bootstate 0x00 0x4000 diff --git a/buildroot-external/rootfs-overlay/etc/rauc/system.conf b/buildroot-external/rootfs-overlay/etc/rauc/system.conf index 42cf2b340..22b483050 100644 --- a/buildroot-external/rootfs-overlay/etc/rauc/system.conf +++ b/buildroot-external/rootfs-overlay/etc/rauc/system.conf @@ -8,26 +8,26 @@ bootloader=%BOOTLOADER% path=/etc/rauc/keyring.pem [slot.boot.0] -device=/dev/disk/by-partuuid/b3dd0952-733c-4c88-8cba-cab9b8b4377f +device=/dev/disk/by-partlabel/hassos-boot type=vfs [slot.kernel.0] -device=/dev/disk/by-partuuid/26700fc6-b0bc-4ccf-9837-ea1a4cba3e65 +device=/dev/disk/by-partlabel/hassos-kernel0 type=ext4 bootname=A [slot.kernel.1] -device=/dev/disk/by-partuuid/fc02a4f0-5350-406f-93a2-56cbed636b5f +device=/dev/disk/by-partlabel/hassos-kernel1 type=ext4 bootname=B [slot.rootfs.0] -device=/dev/disk/by-partuuid/8d3d53e3-6d49-4c38-8349-aff6859e82fd +device=/dev/disk/by-partlabel/hassos-system0 type=raw parent=kernel.0 [slot.rootfs.1] -device=/dev/disk/by-partuuid/a3ec664e-32ce-4665-95ea-7ae90ce9aa20 +device=/dev/disk/by-partlabel/hassos-system1 type=raw parent=kernel.1 diff --git a/buildroot-external/scripts/hdd-image.sh b/buildroot-external/scripts/hdd-image.sh index 3014ca07c..911551ae1 100755 --- a/buildroot-external/scripts/hdd-image.sh +++ b/buildroot-external/scripts/hdd-image.sh @@ -55,22 +55,6 @@ function create_kernel_image() { } -function create_barebox_state_image() { - local bootstate_img="${1}/bootstate.img" - - dd if=/dev/zero of=${bootstate_img} bs=${BOOTSTATE_SIZE} count=1 -} - - -function create_uboot_state_image() { - local bootstate_img="${1}/bootstate.img" - - dd if=/dev/zero of=${bootstate_img} bs=${BOOTSTATE_SIZE} count=1 - #mkfs.ext4 -L "hassos-bootstate" -E lazy_itable_init=0 -O ^has_journal ${bootstate_img} - mkfs.ext2 -L "hassos-bootstate" -E lazy_itable_init=0 ${bootstate_img} -} - - function create_disk_image() { local boot_img="${1}/boot.vfat" local rootfs_img="${1}/rootfs.squashfs" @@ -78,13 +62,11 @@ function create_disk_image() { local data_img="${1}/data.ext4" local kernel0_img="${1}/kernel0.ext4" local kernel1_img="${1}/kernel1.ext4" - local bootstate_img="${1}/bootstate.img" local hdd_img=${2} local hdd_count=${3:-2} local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)" local boot_offset=0 - local bootstate_offset=0 local rootfs_offset=0 local kernel0_offset=0 local kernel1_offset=0 @@ -110,7 +92,6 @@ function create_disk_image() { sgdisk -n 5:0:+${SYSTEM_SIZE} -c 5:"hassos-system1" -t 5:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 5:${SYSTEM1_UUID} ${hdd_img} - bootstate_offset="$(sgdisk -F ${hdd_img})" sgdisk -n 6:0:+${BOOTSTATE_SIZE} -c 6:"hassos-bootstate" -u 6:${BOOTSTATE_UUID} ${hdd_img} overlay_offset="$(sgdisk -F ${hdd_img})" @@ -122,7 +103,6 @@ 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=${bootstate_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${bootstate_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=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 obs=512 seek=${rootfs_offset}