changes
This commit is contained in:
1 parent
870f79e69d
commit
4e986b012d
4 files changed
+37
-43
No files matched your search
@@ -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"
|
||||
@@ -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
|
||||
Reference in new issue
Block a user