From 77293f58cabfcdd9e9760f35da0dc8cac9e97d0f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 18 Apr 2018 00:18:53 +0200 Subject: [PATCH] expand working --- buildroot-external/board/ova/post-image.sh | 3 +-- buildroot-external/busybox.config | 2 +- buildroot-external/configs/ova_defconfig | 2 ++ .../etc/systemd/system/docker.service.d/hassio.conf | 3 ++- .../hassio-expand.service | 0 .../usr/lib/systemd/system/hassio-expand.service | 2 +- buildroot-external/rootfs-overlay/usr/sbin/hassio-expand | 7 +++---- buildroot-external/scripts/hdd_image.sh | 6 +++--- 8 files changed, 13 insertions(+), 12 deletions(-) rename buildroot-external/rootfs-overlay/etc/systemd/system/{local-fs-pre.target.wants => local-fs.target.wants}/hassio-expand.service (100%) diff --git a/buildroot-external/board/ova/post-image.sh b/buildroot-external/board/ova/post-image.sh index 3eab82260..6b5579c30 100755 --- a/buildroot-external/board/ova/post-image.sh +++ b/buildroot-external/board/ova/post-image.sh @@ -19,7 +19,6 @@ cp ${BOARD_DIR}/barebox-state.dtb ${BOOT_DATA}/EFI/barebox/state.dtb hassio_boot_image ${BINARIES_DIR} hassio_overlay_image ${BINARIES_DIR} -hassio_hdd_image ${BINARIES_DIR} ${BINARIES_DIR}/harddisk.img +hassio_hdd_image ${BINARIES_DIR} ${BINARIES_DIR}/harddisk.img 6 -qemu-img resize ${BINARIES_DIR}/harddisk.img +6G qemu-img convert -O vmdk ${BINARIES_DIR}/harddisk.img ${BINARIES_DIR}/hassio-os.vmdk diff --git a/buildroot-external/busybox.config b/buildroot-external/busybox.config index 3a7bbb2e7..fced55441 100644 --- a/buildroot-external/busybox.config +++ b/buildroot-external/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.27.2 -# Tue Apr 17 09:24:56 2018 +# Tue Apr 17 18:57:21 2018 # CONFIG_HAVE_DOT_CONFIG=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index b21933201..367aa44ca 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -30,6 +30,7 @@ BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_DT_UTILS=y BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_LIBCGROUP=y BR2_PACKAGE_LIBCGROUP_TOOLS=y @@ -49,6 +50,7 @@ BR2_PACKAGE_RAUC_NETWORK=y # BR2_PACKAGE_SYSTEMD_NETWORKD is not set BR2_PACKAGE_SYSTEMD_RANDOMSEED=y # BR2_PACKAGE_SYSTEMD_RESOLVED is not set +BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_TARGET_ROOTFS_SQUASHFS=y BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassio.conf b/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassio.conf index 57940218d..e0fc5ba32 100644 --- a/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassio.conf +++ b/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassio.conf @@ -2,4 +2,5 @@ RequiresMountsFor=/etc/docker /var/lib/docker [Service] -ExecStart=--storage-driver=overlay2 --log-driver=journald +ExecStart= +ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --log-driver=journald diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/local-fs-pre.target.wants/hassio-expand.service b/buildroot-external/rootfs-overlay/etc/systemd/system/local-fs.target.wants/hassio-expand.service similarity index 100% rename from buildroot-external/rootfs-overlay/etc/systemd/system/local-fs-pre.target.wants/hassio-expand.service rename to buildroot-external/rootfs-overlay/etc/systemd/system/local-fs.target.wants/hassio-expand.service diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassio-expand.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassio-expand.service index 06577bc75..5bcfa8c7c 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassio-expand.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassio-expand.service @@ -9,4 +9,4 @@ ExecStart=-/sbin/hassio-expand RemainAfterExit=true [Install] -WantedBy=local-fs-pre.target +WantedBy=local-fs.target diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand b/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand index b9d5cc2d1..ce11d0ae2 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand @@ -3,10 +3,9 @@ set -e DEVICE_CHILD=$(findfs LABEL="hassio-data") DEVICE_ROOT="/dev/$(lsblk -no pkname ${DEVICE_CHILD})" -LAST_FREE_SECTOR=$(sgdisk -E ${DEVICE_ROOT}) # Need resize -if [ $LAST_FREE_SECTOR -le 2048 ]; then +if [ $(sgdisk -E ${DEVICE_ROOT}) -le 2048 ]; then echo "[INFO] No resize of data partition needed" exit fi @@ -14,8 +13,8 @@ fi # Resize & Reload partition echo "[INFO] Update hassio-data partition" sgdisk -d 6 -n 6:0:0 -c 6:"hassio-data" -t 6:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" ${DEVICE_ROOT} -sgdisk -v -blockdev --rereadpt ${DEVICE_ROOT} +sgdisk -v ${DEVICE_ROOT} +partx -u ${DEVICE_ROOT} # Resize filesystem echo "[INFO] Resize hassio-data filesystem" diff --git a/buildroot-external/scripts/hdd_image.sh b/buildroot-external/scripts/hdd_image.sh index d01cc1732..5a7b284ee 100755 --- a/buildroot-external/scripts/hdd_image.sh +++ b/buildroot-external/scripts/hdd_image.sh @@ -6,7 +6,6 @@ BOOTSTATE_SIZE=8M SYSTEM_SIZE=256M OVERLAY_SIZE=64M DATA_SIZE=1G -IMAGE_SIZE=2G function hassio_boot_image() { local boot_data="${1}/boot" @@ -30,7 +29,8 @@ function hassio_hdd_image() { local rootfs_img="${1}/rootfs.squashfs" local overlay_img="${1}/overlay.ext4" local data_img="${1}/data.ext4" - local hdd_img="${2}" + local hdd_img=${2} + local hdd_count=${3:-2} local loop_dev="/dev/mapper/$(losetup -f | cut -d'/' -f3)" local boot_offset=0 @@ -39,7 +39,7 @@ function hassio_hdd_image() { local data_offset=0 # Write new image & GPT - dd if=/dev/zero of=${hdd_img} bs=${IMAGE_SIZE} count=1 + dd if=/dev/zero of=${hdd_img} bs=1G count=${hdd_count} sgdisk -o ${hdd_img} # Partition layout