mirror of
https://github.com/OpenVoiceOS/OpenVoiceOS
synced 2025-06-05 22:19:21 +02:00
[DONE] Implementation of own growdisk architecture.
This is temporarily till we switch to A/B mirrored rootfs and data-overlay for all writable mounts.
This commit is contained in:
@ -7,6 +7,7 @@ menu "Additional drivers, libraries and/or applications"
|
|||||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/docbook-xml/Config.in"
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/docbook-xml/Config.in"
|
||||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/docbook-xsl/Config.in"
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/docbook-xsl/Config.in"
|
||||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/fann/Config.in"
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/fann/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/growdisk-service/Config.in"
|
||||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/hostname-service/Config.in"
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/hostname-service/Config.in"
|
||||||
menu "KDE Framework and Plasma"
|
menu "KDE Framework and Plasma"
|
||||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/kf5-attica/Config.in"
|
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/kf5-attica/Config.in"
|
||||||
|
@ -288,6 +288,10 @@ BR2_PACKAGE_WILC1000_FIRMWARE=y
|
|||||||
BR2_PACKAGE_WILINK_BT_FIRMWARE=y
|
BR2_PACKAGE_WILINK_BT_FIRMWARE=y
|
||||||
BR2_PACKAGE_ZD1211_FIRMWARE=y
|
BR2_PACKAGE_ZD1211_FIRMWARE=y
|
||||||
BR2_PACKAGE_DBUS_CPP=y
|
BR2_PACKAGE_DBUS_CPP=y
|
||||||
|
BR2_PACKAGE_GPTFDISK=y
|
||||||
|
BR2_PACKAGE_GPTFDISK_GDISK=y
|
||||||
|
BR2_PACKAGE_GPTFDISK_SGDISK=y
|
||||||
|
BR2_PACKAGE_GPTFDISK_CGDISK=y
|
||||||
BR2_PACKAGE_KBD=y
|
BR2_PACKAGE_KBD=y
|
||||||
BR2_PACKAGE_PARTED=y
|
BR2_PACKAGE_PARTED=y
|
||||||
BR2_PACKAGE_RASPI_GPIO=y
|
BR2_PACKAGE_RASPI_GPIO=y
|
||||||
@ -409,7 +413,6 @@ BR2_PACKAGE_LINUX_PAM=y
|
|||||||
BR2_PACKAGE_PROTOBUF=y
|
BR2_PACKAGE_PROTOBUF=y
|
||||||
BR2_PACKAGE_LIBESTR=y
|
BR2_PACKAGE_LIBESTR=y
|
||||||
BR2_PACKAGE_LIBUNISTRING=y
|
BR2_PACKAGE_LIBUNISTRING=y
|
||||||
BR2_PACKAGE_NCURSES_WCHAR=y
|
|
||||||
BR2_PACKAGE_NCURSES_TARGET_PROGS=y
|
BR2_PACKAGE_NCURSES_TARGET_PROGS=y
|
||||||
BR2_PACKAGE_PCRE_16=y
|
BR2_PACKAGE_PCRE_16=y
|
||||||
BR2_PACKAGE_PCRE_32=y
|
BR2_PACKAGE_PCRE_32=y
|
||||||
@ -464,6 +467,7 @@ BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
|
|||||||
BR2_PACKAGE_SYSTEMD_REPART=y
|
BR2_PACKAGE_SYSTEMD_REPART=y
|
||||||
# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
|
# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
|
||||||
BR2_PACKAGE_TAR=y
|
BR2_PACKAGE_TAR=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
|
||||||
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
|
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
|
||||||
BR2_PACKAGE_UTIL_LINUX_KILL=y
|
BR2_PACKAGE_UTIL_LINUX_KILL=y
|
||||||
BR2_PACKAGE_UTIL_LINUX_MORE=y
|
BR2_PACKAGE_UTIL_LINUX_MORE=y
|
||||||
@ -494,6 +498,7 @@ BR2_PACKAGE_ALSA_PLUGINS=y
|
|||||||
BR2_PACKAGE_BARESIP=y
|
BR2_PACKAGE_BARESIP=y
|
||||||
BR2_PACKAGE_BTSPEAKER=y
|
BR2_PACKAGE_BTSPEAKER=y
|
||||||
BR2_PACKAGE_FANN=y
|
BR2_PACKAGE_FANN=y
|
||||||
|
BR2_PACKAGE_GROWDISK_SERVICE=y
|
||||||
BR2_PACKAGE_HOSTNAME_SERVICE=y
|
BR2_PACKAGE_HOSTNAME_SERVICE=y
|
||||||
BR2_PACKAGE_KF5_BREEZE_ICONS=y
|
BR2_PACKAGE_KF5_BREEZE_ICONS=y
|
||||||
BR2_PACKAGE_KF5_KACTIVITIES=y
|
BR2_PACKAGE_KF5_KACTIVITIES=y
|
||||||
|
6
buildroot-external/package/growdisk-service/Config.in
Normal file
6
buildroot-external/package/growdisk-service/Config.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
config BR2_PACKAGE_GROWDISK_SERVICE
|
||||||
|
bool "growdisk-service"
|
||||||
|
help
|
||||||
|
A systemd service that only runs on file flag
|
||||||
|
to auto expand the filesystem over the full size
|
||||||
|
of the used disk.
|
24
buildroot-external/package/growdisk-service/growdisk
Executable file
24
buildroot-external/package/growdisk-service/growdisk
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Get active block device
|
||||||
|
DEVICE_ROOTFS="$(findfs UUID=c0932a41-44cf-463b-8152-d43188553ed4)"
|
||||||
|
DEVICE="/dev/$(lsblk -no pkname "${DEVICE_ROOTFS}")"
|
||||||
|
|
||||||
|
# Fix GPT header backup file
|
||||||
|
sgdisk -e "${DEVICE}" &&
|
||||||
|
partprobe "${DEVICE}" &&
|
||||||
|
|
||||||
|
# Resize needed?
|
||||||
|
UNUSED=$(sfdisk -Fq "${DEVICE}" | cut -d " " -f 3 | tail -1)
|
||||||
|
if [ -z "${UNUSED}" ] || [ "${UNUSED}" -le "16384" ]; then
|
||||||
|
echo "[INFO] No resize of rootfs partition needed"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "[INFO] Resizing the rootfs partition"
|
||||||
|
parted "${DEVICE}" unit % resizepart 2 100% &&
|
||||||
|
partprobe "${DEVICE}" &&
|
||||||
|
sync &&
|
||||||
|
resize2fs "${DEVICE_ROOTFS}" &&
|
||||||
|
echo "[OK]"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,20 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# growdisk-service
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
GROWDISK_SERVICE_VERSION = 0.1.0
|
||||||
|
GROWDISK_SERVICE_SITE = $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/growdisk-service
|
||||||
|
GROWDISK_SERVICE_SITE_METHOD = local
|
||||||
|
GROWDISK_SERVICE_LICENSE = Apache License 2.0
|
||||||
|
GROWDISK_SERVICE_LICENSE_FILES = LICENSE
|
||||||
|
|
||||||
|
define GROWDISK_SERVICE_INSTALL_TARGET_CMDS
|
||||||
|
$(INSTALL) -m 0755 $(@D)/growdisk $(TARGET_DIR)/usr/sbin/
|
||||||
|
$(INSTALL) -D -m 644 $(@D)/growdisk.service \
|
||||||
|
$(TARGET_DIR)/usr/lib/systemd/system/growdisk.service
|
||||||
|
touch $(TARGET_DIR)/etc/growdisk
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(generic-package))
|
14
buildroot-external/package/growdisk-service/growdisk.service
Normal file
14
buildroot-external/package/growdisk-service/growdisk.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Growdisk service to auto expand the rootfs partition
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=systemd-remount-fs.service
|
||||||
|
Before=sysinit.target shutdown.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/sbin/growdisk
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
@ -1,2 +0,0 @@
|
|||||||
[Partition]
|
|
||||||
Type=root
|
|
@ -1,5 +1,5 @@
|
|||||||
enable systemd-repart.service
|
|
||||||
enable prepare_system.service
|
enable prepare_system.service
|
||||||
|
enable growdisk.service
|
||||||
enable hostname.service
|
enable hostname.service
|
||||||
enable sshd.service
|
enable sshd.service
|
||||||
enable brcm_bt.service
|
enable brcm_bt.service
|
||||||
|
Reference in New Issue
Block a user