index : mkinitcpio-archiso32 | |
Archlinux32 initcpio scripts used by archiso | gitolite user |
summaryrefslogtreecommitdiff |
author | nl6720 <nl6720@gmail.com> | 2021-12-14 18:17:36 +0200 |
---|---|---|
committer | nl6720 <nl6720@gmail.com> | 2021-12-14 18:17:36 +0200 |
commit | 10fd8787bcb4186100c4a726589855804aabc8f4 (patch) | |
tree | 3badc2e7ccdcd76eaf16324597290b06da1870e1 | |
parent | 5dfbb5327c741e287d22dc0db0f74db12b1ba624 (diff) | |
parent | d0d7eb25cf503753cb1452756059a281289e7a41 (diff) |
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | hooks/archiso | 12 | ||||
-rw-r--r-- | hooks/archiso_loop_mnt | 7 | ||||
-rw-r--r-- | hooks/archiso_shutdown | 10 | ||||
-rw-r--r-- | install/archiso_shutdown | 20 | ||||
-rw-r--r-- | script/archiso_shutdown | 41 |
@@ -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: |