ISO/archiso/initcpio/script/archiso_shutdown
David Runge e264b44682
Add license and basic documentation
LICENSE:
Add GPL-3.0 license.

{{archiso,configs}/*,.editorconfig,.gitlab-ci.yml}:
Add SPDX license identifier.

Makefile:
Add SPDX license identifier.
Install the `run_archiso.sh` script as global executable `run_archiso`.
Use -D and -t flags to install to install files more generically (without a previous call to install the directory).

README.rst:
Add README outlining the project's scope, how to build images from the profiles and how to test.

AUTHORS.rst:
Add list of all direct contributors to the repository.

CONTRIBUTING.rst:
Add basic contribution guidelines, explaining the linter and the license in use.

Closes #7
Closes #3
2020-07-29 14:27:48 +02:00

42 lines
1.0 KiB
Bash

#!/bin/ash
#
# SPDX-License-Identifier: GPL-3.0-or-later
# /oldroot depends on things inside /oldroot/run/archiso...
mkdir /oldrun
mount -n --move /oldroot/run /oldrun
# Unmount all mounts now.
umount "$(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)"
# Remove all dm-snapshot devices.
dmsetup remove_all
# Remove all loopback devices.
for _lup in $(grep ^/dev/loop /oldrun/archiso/used_block_devices | tac); do
if ! losetup -d -- "${_lup}" 2> /dev/null; then
umount -d -- "${_lup}"
fi
done
# Unmount the space used to store *.cow.
umount /oldrun/archiso/cowspace
# Unmount boot device if needed (no copytoram=y used)
if [ ! -d /oldrun/archiso/copytoram ]; then
if [ -d /oldrun/archiso/img_dev ]; then
umount /oldrun/archiso/img_dev
else
umount /oldrun/archiso/bootmnt
fi
fi
# reboot / poweroff / halt, depending on the argument passed by init
# if something invalid is passed, we halt
case "$1" in
reboot|poweroff|halt) "$1" -f ;;
*) halt -f;;
esac
# vim: set ft=sh: