Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornl6720 <nl6720@gmail.com>2021-12-14 18:17:36 +0200
committernl6720 <nl6720@gmail.com>2021-12-14 18:17:36 +0200
commit10fd8787bcb4186100c4a726589855804aabc8f4 (patch)
tree3badc2e7ccdcd76eaf16324597290b06da1870e1
parent5dfbb5327c741e287d22dc0db0f74db12b1ba624 (diff)
parentd0d7eb25cf503753cb1452756059a281289e7a41 (diff)
Merge branch 'rm-archiso_shutdown'
* rm-archiso_shutdown: hooks/archiso{,_loop_mnt}: remove /run/archiso/used_block_devices Remove obsolete archiso_shutdown hook
-rw-r--r--Makefile7
-rw-r--r--hooks/archiso12
-rw-r--r--hooks/archiso_loop_mnt7
-rw-r--r--hooks/archiso_shutdown10
-rw-r--r--install/archiso_shutdown20
-rw-r--r--script/archiso_shutdown41
6 files changed, 5 insertions, 92 deletions
diff --git a/Makefile b/Makefile
index 2dadcee..62e370a 100644
--- a/Makefile
+++ b/Makefile
@@ -4,12 +4,10 @@
PREFIX ?= /usr/local
INSTALL_DIR=$(DESTDIR)$(PREFIX)/lib/initcpio/install
HOOKS_DIR=$(DESTDIR)$(PREFIX)/lib/initcpio/hooks
-SCRIPT_DIR=$(DESTDIR)$(PREFIX)/lib/initcpio
DOC_DIR=$(DESTDIR)$(PREFIX)/share/doc/mkinitcpio-archiso
INSTALL_FILES=$(wildcard install/*)
HOOKS_FILES=$(wildcard hooks/*)
-SCRIPT_FILES=$(wildcard script/*)
DOC_FILES=$(wildcard docs/*) $(wildcard *.rst)
all:
@@ -18,15 +16,14 @@ check: shellcheck shfmt
shellcheck:
shellcheck -s bash $(INSTALL_FILES)
- shellcheck -s dash $(HOOKS_FILES) $(SCRIPT_FILES)
+ shellcheck -s dash $(HOOKS_FILES)
shfmt:
- shfmt -i 4 -d $(HOOKS_FILES) $(INSTALL_FILES) $(SCRIPT_FILES)
+ shfmt -i 4 -d $(HOOKS_FILES) $(INSTALL_FILES)
install: install-initcpio install-doc
install-initcpio:
- install -vDm 755 $(SCRIPT_FILES) -t $(SCRIPT_DIR)
install -vDm 644 $(HOOKS_FILES) -t $(HOOKS_DIR)
install -vDm 644 $(INSTALL_FILES) -t $(INSTALL_DIR)
diff --git a/hooks/archiso b/hooks/archiso
index 9391b46..59c5765 100644
--- a/hooks/archiso
+++ b/hooks/archiso
@@ -13,7 +13,6 @@ _mnt_dmsnapshot() {
local ro_dev ro_dev_size rw_dev
ro_dev="$(losetup --find --show --read-only -- "${img}")"
- printf '%s\n' "${ro_dev}" >>/run/archiso/used_block_devices
ro_dev_size="$(blockdev --getsz "${ro_dev}")"
if [ "${cow_persistent}" = "P" ]; then
@@ -33,7 +32,6 @@ _mnt_dmsnapshot() {
fi
rw_dev="$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")"
- printf '%s\n' "${rw_dev}" >>/run/archiso/used_block_devices
dmsetup create "${dm_snap_name}" --table \
"0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
@@ -43,7 +41,6 @@ _mnt_dmsnapshot() {
fi
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" "defaults"
- readlink -f "/dev/mapper/${dm_snap_name}" >>/run/archiso/used_block_devices
}
# args: source, newroot, mountpoint
@@ -89,7 +86,6 @@ _mnt_sfs() {
msg "done."
fi
sfs_dev="$(losetup --find --show --read-only -- "${img}")"
- echo "${sfs_dev}" >>/run/archiso/used_block_devices
_mnt_dev "${sfs_dev}" "${mnt}" "-r" "defaults"
}
@@ -112,7 +108,6 @@ _mnt_erofs() {
msg "done."
fi
erofs_dev="$(losetup --find --show --read-only -- "${img}")"
- echo "${erofs_dev}" >>/run/archiso/used_block_devices
_mnt_dev "${erofs_dev}" "${mnt}" "-r" "defaults"
}
@@ -200,9 +195,6 @@ archiso_mount_handler() {
if ! mountpoint -q "/run/archiso/bootmnt"; then
_mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r" "defaults"
- if [ "${copytoram}" != "y" ]; then
- readlink -f "${archisodevice}" >>/run/archiso/used_block_devices
- fi
fi
# shellcheck disable=SC2154
@@ -252,9 +244,7 @@ archiso_mount_handler() {
fi
if [ -n "${cow_device}" ]; then
- _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r" "${cow_flags}"
- readlink -f "${cow_device}" >>/run/archiso/used_block_devices
- mount -o remount,rw "/run/archiso/cowspace"
+ _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-w" "${cow_flags}"
else
msg ":: Mounting /run/archiso/cowspace (tmpfs) filesystem, size=${cow_spacesize}..."
mkdir -p /run/archiso/cowspace
diff --git a/hooks/archiso_loop_mnt b/hooks/archiso_loop_mnt
index a5a71e8..05dc056 100644
--- a/hooks/archiso_loop_mnt
+++ b/hooks/archiso_loop_mnt
@@ -21,11 +21,6 @@ archiso_loop_mount_handler() {
msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}"
_mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r" "${img_flags}"
- # shellcheck disable=SC2154
- # defined via initcpio's parse_cmdline()
- if [ "${copytoram}" != "y" ]; then
- readlink -f "${img_dev}" >>/run/archiso/used_block_devices
- fi
if _dev_loop=$(losetup --find --show --read-only "/run/archiso/img_dev/${img_loop}"); then
export archisodevice="${_dev_loop}"
@@ -36,6 +31,8 @@ archiso_loop_mount_handler() {
archiso_mount_handler "${newroot}"
+ # shellcheck disable=SC2154
+ # defined via initcpio's parse_cmdline()
if [ "${copytoram}" = "y" ]; then
losetup -d "${_dev_loop}" 2>/dev/null
umount /run/archiso/img_dev
diff --git a/hooks/archiso_shutdown b/hooks/archiso_shutdown
deleted file mode 100644
index ebb6b11..0000000
--- a/hooks/archiso_shutdown
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/ash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-run_cleanuphook() {
- rm -rf /usr/lib/modules
- cp -ax / /run/initramfs
-}
-
-# vim: set ft=sh:
diff --git a/install/archiso_shutdown b/install/archiso_shutdown
deleted file mode 100644
index b2c6bd4..0000000
--- a/install/archiso_shutdown
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-build() {
- add_binary cp
-
- add_runscript
-
- add_file /usr/lib/initcpio/archiso_shutdown /shutdown
-}
-
-help() {
- cat <<HELPEOF
-This hook will create a shutdown initramfs in /run/initramfs
-that we can pivot to on shutdown in order to unmount / and
-and other mount points, dm-snapshot and loopback devices.
-Mostly useful for persistent dm-snapshot.
-HELPEOF
-}
diff --git a/script/archiso_shutdown b/script/archiso_shutdown
deleted file mode 100644
index dd3bb96..0000000
--- a/script/archiso_shutdown
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/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: