Merge pull request #389 from Googulator/after
After bootstrap, drop to a shell if needed, then shut down cleanly
This commit is contained in:
commit
4a822e231c
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
#
|
||||||
|
# After bootstrap, drop to a shell if needed, then shut down cleanly.
|
||||||
|
|
||||||
|
. /steps/bootstrap.cfg
|
||||||
|
. /steps/env
|
||||||
|
|
||||||
|
if [ "${INTERACTIVE}" = True ]; then
|
||||||
|
env - PATH=${PREFIX}/bin PS1="\w # " bash -i
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CHROOT}" = False ]; then
|
||||||
|
# ignore errors due to fstab or swapfile not existing
|
||||||
|
swapoff -a &> /dev/null || true
|
||||||
|
sync
|
||||||
|
# sysrq to avoid device busy; then mount to wait for it to finish
|
||||||
|
echo u > /proc/sysrq_trigger
|
||||||
|
mount -o remount,ro /
|
||||||
|
echo o > /proc/sysrq_trigger # power off
|
||||||
|
fi
|
|
@ -27,5 +27,6 @@ mkdir -p /rootonly
|
||||||
# This doesn't recursively mount - that's why we're able to copy everything over
|
# This doesn't recursively mount - that's why we're able to copy everything over
|
||||||
mount --bind / /rootonly
|
mount --bind / /rootonly
|
||||||
cp -ar /rootonly/* /newroot/
|
cp -ar /rootonly/* /newroot/
|
||||||
|
sed -e 's/newroot//' /rootonly/etc/mtab | grep -v 'rootonly' > /newroot/etc/mtab
|
||||||
umount /rootonly
|
umount /rootonly
|
||||||
switch_root /newroot /init
|
switch_root /newroot /init
|
||||||
|
|
|
@ -183,3 +183,4 @@ build: binutils-2.41
|
||||||
build: gcc-13.1.0
|
build: gcc-13.1.0
|
||||||
improve: null_time ( FORCE_TIMESTAMPS == True )
|
improve: null_time ( FORCE_TIMESTAMPS == True )
|
||||||
improve: update_checksums ( UPDATE_CHECKSUMS == True )
|
improve: update_checksums ( UPDATE_CHECKSUMS == True )
|
||||||
|
improve: after
|
||||||
|
|
Loading…
Reference in New Issue