From 71238884938e1512e10f9c7809443f07fe5e5fc1 Mon Sep 17 00:00:00 2001 From: nl6720 Date: Thu, 2 Dec 2021 14:12:26 +0200 Subject: Remove obsolete archiso_shutdown hook The functionality it provides has been available in mkinitcpio itself since 2013. https://lists.archlinux.org/pipermail/arch-dev-public/2013-December/025742.html Implements #8. --- Makefile | 7 ++----- hooks/archiso_shutdown | 10 ---------- install/archiso_shutdown | 20 -------------------- script/archiso_shutdown | 41 ----------------------------------------- 4 files changed, 2 insertions(+), 76 deletions(-) delete mode 100644 hooks/archiso_shutdown delete mode 100644 install/archiso_shutdown delete mode 100644 script/archiso_shutdown 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_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 </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: -- cgit v1.2.3-70-g09d2 From d0d7eb25cf503753cb1452756059a281289e7a41 Mon Sep 17 00:00:00 2001 From: nl6720 Date: Fri, 10 Dec 2021 09:18:19 +0200 Subject: hooks/archiso{,_loop_mnt}: remove /run/archiso/used_block_devices Now that the archiso_shutdown is removed, nothing uses this file anymore and it is not needed. Additionally, cowspace is mounted read-write on first mount, not mounted read-only and then remounted read-write. --- hooks/archiso | 12 +----------- hooks/archiso_loop_mnt | 7 ++----- 2 files changed, 3 insertions(+), 16 deletions(-) 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 -- cgit v1.2.3-70-g09d2