From 48d5d3d98c7f105aab38edc299df9521fa5b118e Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 17 Jan 2019 15:23:09 +0100 Subject: Follow the Slackware init with respect to readonly root on boot The live init script creates a /etc/fastboot file to prevent any file system check on boot. This is cleaner than hacking rc.S and failing. --- liveinit.tpl | 9 +++++---- make_slackware_live.sh | 3 --- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/liveinit.tpl b/liveinit.tpl index b3b192e..c47c107 100755 --- a/liveinit.tpl +++ b/liveinit.tpl @@ -1326,6 +1326,9 @@ EOT /sbin/udevadm settle --timeout=10 echo 0x0100 > /proc/sys/kernel/real-root-dev + # Re-mount the overlay read-only: + mount -t overlay -o remount,ro,workdir=${OVLWORK},upperdir=${UPPERDIR},lowerdir=${RODIRS} overlay /mnt/overlay + if [ ! -r /mnt/overlay/${INIT} ]; then echo "ERROR: No ${INIT} found on rootdev (or not mounted). Trouble ahead." echo " You can try to fix it. Type 'exit' when things are done." @@ -1345,10 +1348,8 @@ unset ERR umount /proc umount /sys umount /run 2>/dev/null -# We disable the filesystem checking code in /etc/rc.d/rc.S, -# so we need to keep the fs writable here. -#mount -o ro,remount /mnt/overlay 2>/dev/null -echo "${MARKER}: Slackware Live system is ready." +echo "${MARKER}: Slackware Live system is ready." echo "${MARKER}: exiting" + exec switch_root /mnt/overlay $INIT $RUNLEVEL diff --git a/make_slackware_live.sh b/make_slackware_live.sh index 85c1dab..502bd80 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -2159,9 +2159,6 @@ fi # Skip all filesystem checks at boot: touch ${LIVE_ROOTDIR}/etc/fastboot -# Disable the root filesystem check altogether: -sed -i -e '/^if \[ ! \$READWRITE = yes/,/^fi # Done checking root filesystem/s/^/#/' ${LIVE_ROOTDIR}/etc/rc.d/rc.S - # We will not write to the hardware clock: sed -i -e '/systohc/s/^/# /' ${LIVE_ROOTDIR}/etc/rc.d/rc.6 -- cgit v1.2.3