Skip to content

Commit

Permalink
fix(squash): don't mount the mount points if already mounted
Browse files Browse the repository at this point in the history
It is possible that user setup some early mount in the rootfs even
earlier, so just be more robust and cover that case too.

Signed-off-by: Kairui Song <[email protected]>
  • Loading branch information
ryncsn authored and johannbg committed May 19, 2021
1 parent fa63c9b commit 636d6df
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
17 changes: 11 additions & 6 deletions modules.d/99squash/init-squash.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
#!/bin/sh
PATH=/bin:/sbin

# Basic mounts for mounting a squash image
mkdir /proc /sys /dev /run
mount -t proc -o nosuid,noexec,nodev proc /proc
mount -t sysfs -o nosuid,noexec,nodev sysfs /sys
mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev
mount -t tmpfs -o mode=755,nodev,nosuid,strictatime tmpfs /run
[ -e /proc/self/mounts ] \
|| (mkdir -p /proc && mount -t proc -o nosuid,noexec,nodev proc /proc)

grep -q '^sysfs /sys sysfs' /proc/self/mounts \
|| (mkdir -p /sys && mount -t sysfs -o nosuid,noexec,nodev sysfs /sys)

grep -q '^devtmpfs /dev devtmpfs' /proc/self/mounts \
|| (mkdir -p /dev && mount -t devtmpfs -o mode=755,noexec,nosuid,strictatime devtmpfs /dev)

grep -q '^tmpfs /run tmpfs' /proc/self/mounts \
|| (mkdir -p /run && mount -t tmpfs -o mode=755,noexec,nosuid,strictatime tmpfs /run)

# Load required modules
modprobe loop
Expand Down
4 changes: 2 additions & 2 deletions modules.d/99squash/module-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ installpost() {
# Install required modules and binaries for the squash image init script.
if [[ $_busybox ]]; then
inst "$_busybox" /usr/bin/busybox
for _i in sh echo mount modprobe mkdir switch_root; do
for _i in sh echo mount modprobe mkdir switch_root grep; do
ln_r /usr/bin/busybox /usr/bin/$_i
done
else
DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root
DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep
fi

hostonly="" instmods "loop" "squashfs" "overlay"
Expand Down

0 comments on commit 636d6df

Please sign in to comment.