diff --git a/buildroot-external/busybox.config b/buildroot-external/busybox.config index 7b784de6f..3a7bbb2e7 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 10 15:03:52 2018 +# Tue Apr 17 09:24:56 2018 # CONFIG_HAVE_DOT_CONFIG=y @@ -585,16 +585,16 @@ CONFIG_FATATTR=y CONFIG_FBSET=y CONFIG_FEATURE_FBSET_FANCY=y CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_FDISK_WRITABLE is not set # CONFIG_FEATURE_AIX_LABEL is not set # CONFIG_FEATURE_SGI_LABEL is not set # CONFIG_FEATURE_SUN_LABEL is not set # CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_GPT_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set CONFIG_FINDFS=y CONFIG_FLOCK=y CONFIG_FDFLUSH=y @@ -619,14 +619,14 @@ CONFIG_IPCS=y CONFIG_LOSETUP=y CONFIG_LSPCI=y CONFIG_LSUSB=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MESG=y -CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set # CONFIG_MKE2FS is not set # CONFIG_MKFS_EXT2 is not set # CONFIG_MKFS_MINIX is not set @@ -643,11 +643,11 @@ CONFIG_FEATURE_MOUNT_VERBOSE=y # CONFIG_FEATURE_MOUNT_HELPERS is not set CONFIG_FEATURE_MOUNT_LABEL=y # CONFIG_FEATURE_MOUNT_NFS is not set -CONFIG_FEATURE_MOUNT_CIFS=y +# CONFIG_FEATURE_MOUNT_CIFS is not set CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_FEATURE_MOUNT_OTHERTAB=y -CONFIG_MOUNTPOINT=y +# CONFIG_FEATURE_MOUNT_FSTAB is not set +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +# CONFIG_MOUNTPOINT is not set CONFIG_NSENTER=y CONFIG_FEATURE_NSENTER_LONG_OPTS=y CONFIG_PIVOT_ROOT=y @@ -688,29 +688,29 @@ CONFIG_VOLUMEID=y # # Filesystem/Volume identification # -CONFIG_FEATURE_VOLUMEID_BCACHE=y -CONFIG_FEATURE_VOLUMEID_BTRFS=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_EXFAT=y +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_F2FS=y +# CONFIG_FEATURE_VOLUMEID_F2FS is not set CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_NILFS=y +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_OCFS2=y -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set CONFIG_FEATURE_VOLUMEID_SYSV=y -CONFIG_FEATURE_VOLUMEID_UBIFS=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_XFS=y +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set # # Miscellaneous Utilities diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 8f603530e..b21933201 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -29,6 +29,7 @@ BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_DT_UTILS=y +BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_LIBCGROUP=y BR2_PACKAGE_LIBCGROUP_TOOLS=y 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-pre.target.wants/hassio-expand.service new file mode 120000 index 000000000..0d497084a --- /dev/null +++ b/buildroot-external/rootfs-overlay/etc/systemd/system/local-fs-pre.target.wants/hassio-expand.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hassio-expand.service \ No newline at end of file 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 new file mode 100644 index 000000000..06577bc75 --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassio-expand.service @@ -0,0 +1,12 @@ +[Unit] +Description=Hassio data resizing +DefaultDependencies=no +Before=mnt-data.mount + +[Service] +Type=oneshot +ExecStart=-/sbin/hassio-expand +RemainAfterExit=true + +[Install] +WantedBy=local-fs-pre.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount index 2c8fb8ac3..6be030fb4 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/mnt-data.mount @@ -1,6 +1,7 @@ [Unit] Description=Hassio data partition DefaultDependencies=no +After=hassio-expand.service Before=umount.target Conflicts=umount.target diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand b/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand index 829303ea5..57c4568bd 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassio-expand @@ -1,3 +1,25 @@ #!/bin/sh +set -e +DEVICE_CHILD=$(findfs NAME="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 + echo "[INFO] No resize of data partition needed" + exit +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} + +# Resize filesystem +echo "[INFO] Resize hassio-data filesystem" +e2fsck -y ${DEVICE_CHILD} +resize2fs -f ${DEVICE_CHILD} + +echo "[INFO] Finish hassio-data resizing"