mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-04 10:25:25 +01:00
The sysrq shutdown trigger takes some time to fully shut down the system, during which init is expected to continue running. Since after.sh is the last step in our init, if it quits before shutdown is complete, Linux will panic with "Attempted to kill init". Add an infinite loop after shutdown is issued via sysrq to prevent this.
25 lines
677 B
Bash
25 lines
677 B
Bash
#!/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
|
|
while true; do sleep 1; done
|
|
fi
|