Small edits

This commit is contained in:
Cameron Thompson
2025-07-20 00:01:08 -04:00
parent 6936b9e5c8
commit b6ff2a3832
2 changed files with 5 additions and 7 deletions

View File

@@ -0,0 +1,61 @@
#!/bin/sh
newroot() {
/bin/echo "Begin mount fix process to make a usable userspace"
# Forcefully unmount /etc
/bin/echo "Unmounting the bind at /etc"
/bin/umount -lf /etc
# Remount root filesystem as read-write
/bin/echo "Remounting / as read-write"
/bin/mount -o remount,rw /
# Make mount namespaces private
mount --make-rprivate /
mount --make-rprivate /usrdata
# Ensure necessary directories exist for overlay and pivot_root
/bin/echo "Creating new overlay system"
if [ ! -d /usrdata/rootfs ]; then
mkdir -p /usrdata/rootfs
fi
if [ ! -d /usrdata/rootfs-workdir ]; then
mkdir -p /usrdata/rootfs-workdir
fi
if [ ! -d /rootfs ]; then
mkdir -p /rootfs
fi
# Mount the new overlay filesystem
/bin/mount -t overlay overlay -o lowerdir=/,upperdir=/usrdata/rootfs,workdir=/usrdata/rootfs-workdir /rootfs
# Create the real_rootfs directory in the new root
if [ ! -d /rootfs/real_rootfs ]; then
mkdir -p /rootfs/real_rootfs
fi
# Pivot root to the new root
/bin/echo "Pivoting Root / to /rootfs; Be back soon!!"
/sbin/pivot_root /rootfs /rootfs/real_rootfs >/dev/null 2>&1
# Move the mounted filesystems to the new locations
/bin/mount --move /real_rootfs/sys /sys
/bin/mount --move /real_rootfs/proc /proc
/bin/mount --move /real_rootfs/tmp /tmp
/bin/mount --move /real_rootfs/dev /dev
/bin/mount --move /real_rootfs/firmware /firmware
/bin/mount --move /real_rootfs/persist /persist
/bin/mount --move /real_rootfs/cache /cache
/bin/mount --move /real_rootfs/data /data
/bin/mount --move /real_rootfs/run /run
/bin/mount --move /real_rootfs/etc/machine-id /etc/machine-id
/bin/mount --move /real_rootfs/var/volatile /var/volatile
/bin/mount --move /real_rootfs/systemrw /systemrw
echo "Complete"
}
newroot