diff --git a/ipk-source/sdxpinn-mount-fix/CONTROL/control b/ipk-source/sdxpinn-mount-fix/CONTROL/control index d1eeae7..83438d1 100755 --- a/ipk-source/sdxpinn-mount-fix/CONTROL/control +++ b/ipk-source/sdxpinn-mount-fix/CONTROL/control @@ -1,5 +1,5 @@ Package: sdxpinn-mount-fix -Version: 1.3.1 +Version: 1.3.2 Architecture: aarch64_cortex-a53 Maintainer: Cameron Thompson iamromulan@github.com Source: github.com/iamromulan diff --git a/ipk-source/sdxpinn-mount-fix/CONTROL/postinst b/ipk-source/sdxpinn-mount-fix/CONTROL/postinst index 671f06e..1576954 100755 --- a/ipk-source/sdxpinn-mount-fix/CONTROL/postinst +++ b/ipk-source/sdxpinn-mount-fix/CONTROL/postinst @@ -1,18 +1,23 @@ #!/bin/ash # Enable and start the services -echo "Starting services..." +echo "Starting and enabling services..." service mount-fix enable +service mount-fix-final enable if grep -qs '/usrdata' /proc/mounts; then echo "/usrdata is mounted. Enabling at /usrdata..." cp -P /etc/rc.d/S03mount-fix /usrdata/etc/rc.d/S03mount-fix rm /usrdata/overlay-work/etc-upper/rc.d/S03mount-fix cp -P /etc/rc.d/S03mount-fix /usrdata/overlay-work/etc-upper/rc.d/S03mount-fix + cp -P /etc/rc.d/S04mount-fix-final /usrdata/etc/rc.d/S04mount-fix-final + rm /usrdata/overlay-work/etc-upper/rc.d/S04mount-fix-final + cp -P /etc/rc.d/S04mount-fix-final /usrdata/overlay-work/etc-upper/rc.d/S04mount-fix-final fi service mount-fix start service mount-fix enable +service mount-fix-final enable echo -e "\e[32m sdxpinn-mount-fix installed! Here is the new file structure! \e[0m" echo -e "\e[32m ============================================================ \e[0m" diff --git a/ipk-source/sdxpinn-mount-fix/CONTROL/preinst b/ipk-source/sdxpinn-mount-fix/CONTROL/preinst index 0a61b6b..7c43dc1 100755 --- a/ipk-source/sdxpinn-mount-fix/CONTROL/preinst +++ b/ipk-source/sdxpinn-mount-fix/CONTROL/preinst @@ -33,6 +33,8 @@ stop_handle_new_firmware() { /bin/echo "Stopping and reverting overlay and pivot_root" service init-overlay-watchdog stop service init-overlay-watchdog disable + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs @@ -73,6 +75,10 @@ stop_handle_old_firmware() { # Redirect all output (stdout and stderr) to the log file exec >>"$LOG_FILE" 2>&1 /bin/echo "Stopping and reverting overlay and pivot_root" + service init-overlay-watchdog stop + service init-overlay-watchdog disable + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs @@ -110,7 +116,6 @@ if grep -qs '/real_rootfs' /proc/mounts; then echo "Upgrade scenario detected." mount_factory service mount-fix disable - rm /usrdata/etc/rc.d/S03mount-fix echo "Filesystem structure returned to Quectel Stock" echo "Backup exists at /usrdata/rootfs or /data/rootfs" fi @@ -131,4 +136,8 @@ if grep -qs '/usrdata' /proc/mounts; then umount -lf /etc fi +echo "Preinst complete...." +echo "View Results here:..." +mount + exit 0 diff --git a/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix b/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix index 7d36d34..d3848d2 100755 --- a/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix +++ b/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix @@ -97,13 +97,9 @@ handle_old_firmware() { /bin/mount --move /real_rootfs/persist /persist /bin/mount --move /real_rootfs/cache /cache /bin/mount --move /real_rootfs/data /data - - # Synchronize rc.d - synchronize_rc_d "/real_rootfs/etc/rc.d" "/etc/rc.d" # Bind the orignal rc.d back and make writable /bin/mount -o bind,rw /real_rootfs/etc/rc.d /etc/rc.d - /bin/mount -o remount,rw /etc/rc.d # Final logs and remount the original root as read-only /bin/echo "...and we're back! The original root now lives at /real_rootfs" @@ -195,16 +191,9 @@ handle_new_firmware() { /bin/mount --move /real_rootfs/cache /cache /bin/mount --move /real_rootfs/systemrw /systemrw /bin/mount --move /real_rootfs/persist /persist - - # Synchronize between rc.d layer 1 to Final - synchronize_rc_d "/real_rootfs/etc/rc.d" "/etc/rc.d" - - # Synchronize between rc.d layer 2 to Final - synchronize_rc_d "/usrdata/etc/rc.d" "/etc/rc.d" - # Bind the orignal rc.d back and make writable + # Bind the orignal rc.d back /bin/mount -o bind,rw /real_rootfs/etc/rc.d /etc/rc.d - /bin/mount -o remount,rw /etc/rc.d # Final logs and remount the original root as read-only /bin/echo "...and we're back! The original root now lives at /real_rootfs" @@ -214,31 +203,6 @@ handle_new_firmware() { } - -synchronize_rc_d() { - local source_dir="$1" - local target_dir="$2" - /bin/echo "Synchronizing $source_dir with $target_dir" - for link in "$source_dir"/*; do - if [ -L "$link" ]; then - link_name=$(basename "$link") - if [ ! -e "$target_dir/$link_name" ]; then - /bin/echo "Copying $link_name to $target_dir" - cp -a "$link" "$target_dir/$link_name" - fi - fi - done - for link in "$target_dir"/*; do - if [ -L "$link" ]; then - link_name=$(basename "$link") - if [ ! -e "$source_dir/$link_name" ]; then - /bin/echo "Copying $link_name to $source_dir" - cp -a "$link" "$source_dir/$link_name" - fi - fi - done -} - stop() { # Initialize log rm -f "$LOG_FILE" >/dev/null 2>&1 @@ -266,7 +230,10 @@ stop_handle_new_firmware() { # Redirect all output (stdout and stderr) to the log file exec >>"$LOG_FILE" 2>&1 /bin/echo "Stopping and reverting overlay and pivot_root" - + + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d + # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs @@ -304,6 +271,9 @@ stop_handle_old_firmware() { # Redirect all output (stdout and stderr) to the log file exec >>"$LOG_FILE" 2>&1 /bin/echo "Stopping and reverting overlay and pivot_root" + + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs diff --git a/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix-final b/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix-final new file mode 100755 index 0000000..b9f975c --- /dev/null +++ b/ipk-source/sdxpinn-mount-fix/root/etc/init.d/mount-fix-final @@ -0,0 +1,18 @@ +#!/bin/sh /etc/rc.common + +START=04 + +start() { + # mount the bind mount as rw + /bin/mount -o remount,rw /etc/rc.d +} + +stop() { + # mount the bind mount as ro + /bin/mount -o remount,ro /etc/rc.d +} + +restart() { + stop + start +} diff --git a/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix b/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix index 7d36d34..d3848d2 100755 --- a/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix +++ b/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix @@ -97,13 +97,9 @@ handle_old_firmware() { /bin/mount --move /real_rootfs/persist /persist /bin/mount --move /real_rootfs/cache /cache /bin/mount --move /real_rootfs/data /data - - # Synchronize rc.d - synchronize_rc_d "/real_rootfs/etc/rc.d" "/etc/rc.d" # Bind the orignal rc.d back and make writable /bin/mount -o bind,rw /real_rootfs/etc/rc.d /etc/rc.d - /bin/mount -o remount,rw /etc/rc.d # Final logs and remount the original root as read-only /bin/echo "...and we're back! The original root now lives at /real_rootfs" @@ -195,16 +191,9 @@ handle_new_firmware() { /bin/mount --move /real_rootfs/cache /cache /bin/mount --move /real_rootfs/systemrw /systemrw /bin/mount --move /real_rootfs/persist /persist - - # Synchronize between rc.d layer 1 to Final - synchronize_rc_d "/real_rootfs/etc/rc.d" "/etc/rc.d" - - # Synchronize between rc.d layer 2 to Final - synchronize_rc_d "/usrdata/etc/rc.d" "/etc/rc.d" - # Bind the orignal rc.d back and make writable + # Bind the orignal rc.d back /bin/mount -o bind,rw /real_rootfs/etc/rc.d /etc/rc.d - /bin/mount -o remount,rw /etc/rc.d # Final logs and remount the original root as read-only /bin/echo "...and we're back! The original root now lives at /real_rootfs" @@ -214,31 +203,6 @@ handle_new_firmware() { } - -synchronize_rc_d() { - local source_dir="$1" - local target_dir="$2" - /bin/echo "Synchronizing $source_dir with $target_dir" - for link in "$source_dir"/*; do - if [ -L "$link" ]; then - link_name=$(basename "$link") - if [ ! -e "$target_dir/$link_name" ]; then - /bin/echo "Copying $link_name to $target_dir" - cp -a "$link" "$target_dir/$link_name" - fi - fi - done - for link in "$target_dir"/*; do - if [ -L "$link" ]; then - link_name=$(basename "$link") - if [ ! -e "$source_dir/$link_name" ]; then - /bin/echo "Copying $link_name to $source_dir" - cp -a "$link" "$source_dir/$link_name" - fi - fi - done -} - stop() { # Initialize log rm -f "$LOG_FILE" >/dev/null 2>&1 @@ -266,7 +230,10 @@ stop_handle_new_firmware() { # Redirect all output (stdout and stderr) to the log file exec >>"$LOG_FILE" 2>&1 /bin/echo "Stopping and reverting overlay and pivot_root" - + + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d + # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs @@ -304,6 +271,9 @@ stop_handle_old_firmware() { # Redirect all output (stdout and stderr) to the log file exec >>"$LOG_FILE" 2>&1 /bin/echo "Stopping and reverting overlay and pivot_root" + + # Unmount /etc/rc.d bind + /bin/umount -lf /etc/rc.d # Remount the original root filesystem as read-write /bin/mount -o remount,rw /real_rootfs diff --git a/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix-final b/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix-final new file mode 100755 index 0000000..b9f975c --- /dev/null +++ b/ipk-source/sdxpinn-mount-fix/root/usrdata/etc/init.d/mount-fix-final @@ -0,0 +1,18 @@ +#!/bin/sh /etc/rc.common + +START=04 + +start() { + # mount the bind mount as rw + /bin/mount -o remount,rw /etc/rc.d +} + +stop() { + # mount the bind mount as ro + /bin/mount -o remount,ro /etc/rc.d +} + +restart() { + stop + start +} diff --git a/opkg-feed/Packages b/opkg-feed/Packages index 6d4b7e0..54f8174 100644 --- a/opkg-feed/Packages +++ b/opkg-feed/Packages @@ -69,14 +69,14 @@ License: GPLv3 Package: sdxpinn-mount-fix -Version: 1.3.1 +Version: 1.3.2 Depends: libc Section: base Architecture: aarch64_cortex-a53 Maintainer: iamromulan -MD5Sum: 4bb33e6ca7365f722440f1a83ae1bcea -Size: 4672 -Filename: sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk +MD5Sum: 004d4f1c792efc2d32c2de27629bae3b +Size: 4648 +Filename: sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk Source: github/iamromulan Description: Creates a usable mount space and overlay for SDXPINN modems. Dependencies bundled: libinotifytools and inotifywait License: GPLv3 diff --git a/opkg-feed/Packages.gz b/opkg-feed/Packages.gz index 79b65df..5c7ffaf 100644 Binary files a/opkg-feed/Packages.gz and b/opkg-feed/Packages.gz differ diff --git a/opkg-feed/Packages.log b/opkg-feed/Packages.log index 39616e3..7cf5b8f 100644 --- a/opkg-feed/Packages.log +++ b/opkg-feed/Packages.log @@ -1,18 +1,17 @@ -Starting package analysis - Tue Jan 28 12:06:04 AM EST 2025 +Starting package analysis - Tue Jan 28 07:50:38 PM EST 2025 No update needed for atinout (version 0.9.1, MD5: 444eb87488bad1927b6ed069dedf7393, size: 4323) No update needed for luci-app-atinout-mod (version 1.3.4-20250119, MD5: 1ffee9ec8fe5723b8140bf2c21fea508, size: 4864) No update needed for luci-app-tailscale (version 1.2.3-2, MD5: 53c84c947c42d7518aecb4a6b8a9c5a8, size: 6501) No update needed for ookla-speedtest (version 1.2.0, MD5: b26e1909599f73cab40ea0281c5a6283, size: 1075696) No update needed for sdxpinn-console-menu (version 0.0.2, MD5: de75d2889510e92b57fc8a7ca087ced4, size: 7361) -No update needed for sdxpinn-mount-fix (version 1.3.1, MD5: 4bb33e6ca7365f722440f1a83ae1bcea, size: 4672) +Updating package info for sdxpinn-mount-fix... +Updated sdxpinn-mount-fix to version 1.3.2 with MD5: 004d4f1c792efc2d32c2de27629bae3b and size: 4648 No update needed for sdxpinn-patch (version 2.5, MD5: 0ec65238142dad95de1666b01a6f09c6, size: 3054) No update needed for sdxpinn-quecmanager (version 1.0.1, MD5: cb96c5ec96c2166f39d989f277ebc0f7, size: 722109) -Updating package info for sdxpinn-quecmanager-beta... -Updated sdxpinn-quecmanager-beta to version 1.1.1-3 with MD5: 918f318f87e6b1cb3777cb0f4675164d and size: 1040588 +No update needed for sdxpinn-quecmanager-beta (version 1.1.1-3, MD5: 918f318f87e6b1cb3777cb0f4675164d, size: 1040588) No update needed for sms-tool (version 2025.1.19-APmod-iamromulan, MD5: 83dc8bfd2d4ac8d8952a2a95b2be943f, size: 13687) -Updating package info for socat-at-bridge... -Updated socat-at-bridge to version 1.1.1 with MD5: a5f4c4c371426fbe12bf2345938af195 and size: 1795 +No update needed for socat-at-bridge (version 1.1.1, MD5: a5f4c4c371426fbe12bf2345938af195, size: 1795) No update needed for tailscale (version 1.78.1-2, MD5: baa4d97ba49aa42ef104accba2dc2fd8, size: 9882856) No update needed for tailscaled (version 1.78.1-4, MD5: 647b4d3c6e51f700dd96362f92f20b54, size: 17960998) Package file and signature updated successfully. -Package analysis completed - Tue Jan 28 12:06:05 AM EST 2025 +Package analysis completed - Tue Jan 28 07:50:39 PM EST 2025 diff --git a/opkg-feed/Packages.sig b/opkg-feed/Packages.sig index b5e42ca..405e14e 100644 --- a/opkg-feed/Packages.sig +++ b/opkg-feed/Packages.sig @@ -1,2 +1,2 @@ untrusted comment: signed by key 6262698f038d1226 -RWRiYmmPA40SJhh+2Zkv4GQ+97MKc7OzMXVKcjUbqS39csl2T/749CvLj7rYXVCZg0RRyqtTHhvsDM3YMv/O5a8k7iFdqZcgmQA= +RWRiYmmPA40SJkgq7nJ8/MWlHtxRBg9GL6wMICntyEidAFGPCQlYb0FIy9eHqrMpMp0AIq9ElWmRbgOvCjzsDKl2/hgYV4VCoAc= diff --git a/opkg-feed/sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk deleted file mode 100644 index 475beb3..0000000 Binary files a/opkg-feed/sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk and /dev/null differ diff --git a/opkg-feed/sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk new file mode 100644 index 0000000..e454a29 Binary files /dev/null and b/opkg-feed/sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk differ diff --git a/rcPCIe_SDXPINN_toolkit.sh b/rcPCIe_SDXPINN_toolkit.sh index c0ad094..051a8d4 100644 --- a/rcPCIe_SDXPINN_toolkit.sh +++ b/rcPCIe_SDXPINN_toolkit.sh @@ -59,8 +59,8 @@ install_mount_fix() { fi # Install mount-fix cd /tmp - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk - opkg install sdxpinn-mount-fix_1.3.1_aarch64_cortex-a53.ipk + curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk + opkg install sdxpinn-mount-fix_1.3.2_aarch64_cortex-a53.ipk } basic_55x_setup() {