This commit is contained in:
Miguel Fuertes committed 2025-10-03 18:15:52 +02:00
1 parent 870f79e69d
commit 4e986b012d
4 files changed
+37 -43

No files matched your search

+1 -4
View File
@@ -146,7 +146,4 @@ for n in fsc fsg modemst1 modemst2 modem persist sec; do
done
echo
echo "[+] Process completed successfully"
echo "[*] Device should reboot to OpenWrt automatically"
echo
echo "[!] Note: EXT4 filesystem - full writable rootfs, no overlay needed"
echo "[+] Process completed successfully"
+7 -4
View File
@@ -9,12 +9,16 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=Utilities
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Resize Rootfs (ext4 fs only)
TITLE:=Resize rootfs (ext4 only)
DEPENDS:=+resize2fs +mount-utils +e2fsprogs +tune2fs
endef
define Package/$(PKG_NAME)/description
Automatically resize ext4 rootfs on first boot
endef
define Build/Configure
endef
@@ -24,8 +28,7 @@ endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/rootfs-resizer.init $(1)/etc/init.d/rootfs-resizer
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) ./files/rootfs-resizer.sh $(1)/usr/bin/rootfs-resizer
endef
@@ -1,35 +0,0 @@
#!/bin/sh
# Rootfs resize utility
log() { logger -t rootfs-resizer "$*"; }
get_rootdev() {
local dev="$(awk '$2=="/"{print $1; exit}' /proc/mounts)"
[ "$dev" = "/dev/root" ] && dev="$(sed -n 's/.*\broot=\([^ ]*\).*/\1/p' /proc/cmdline)"
echo "$dev"
}
# Get root device
dev="$(get_rootdev)"
if [ -z "$dev" ] || [ ! -b "$dev" ]; then
log "ERROR: invalid root device '$dev'"
exit 1
fi
log "resizing $dev"
# Prepare filesystem
mount -o ro,remount / 2>/dev/null
tune2fs -O^resize_inode "$dev" >/dev/null 2>&1
e2fsck -yDf "$dev" >/dev/null 2>&1
mount -o rw,remount / 2>/dev/null
# Resize
if resize2fs "$dev" 2>&1 | logger -t rootfs-resizer; then
log "resize successful"
exit 0
else
log "ERROR: resize failed"
exit 1
fi
@@ -0,0 +1,29 @@
#!/bin/sh
# Rootfs resize utility
log() { logger -t rootfs-resizer "$*"; }
# Get root partition
rootpart=$(findmnt -n -o SOURCE /)
if [ -z "$rootpart" ] || [ ! -b "$rootpart" ]; then
log "ERROR: cannot find root partition"
exit 1
fi
log "resizing $rootpart"
# Resize procedure (based on HandsomeMod script)
mount -o ro,remount /
tune2fs -O^resize_inode "$rootpart" 2>&1 | logger -t rootfs-resizer
fsck.ext4 -yDf "$rootpart" 2>&1 | logger -t rootfs-resizer
mount -o rw,remount /
resize2fs "$rootpart" 2>&1 | logger -t rootfs-resizer
if [ $? -eq 0 ]; then
log "resize completed successfully"
exit 0
else
log "ERROR: resize failed"
exit 1
fi