After bootstrap, drop to a shell if needed, then shut down cleanly
This commit is contained in:
parent
133c05426c
commit
2a095a3301
|
@ -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
|
||||
mount --bind / /rootonly
|
||||
cp -ar /rootonly/* /newroot/
|
||||
sed -e 's/newroot//' /rootonly/etc/mtab | grep -v 'rootonly' > /newroot/etc/mtab
|
||||
umount /rootonly
|
||||
switch_root /newroot /init
|
||||
|
|
|
@ -182,3 +182,4 @@ build: binutils-2.41
|
|||
build: gcc-13.1.0
|
||||
improve: null_time ( FORCE_TIMESTAMPS == True )
|
||||
improve: update_checksums ( UPDATE_CHECKSUMS == True )
|
||||
improve: after
|
||||
|
|
Loading…
Reference in New Issue