From 6f3a6da561a3e1a6cdb1aa4765610773e13c2dca Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Thu, 7 Jun 2018 22:29:03 -0500 Subject: system/mkinitfs: new package --- system/mkinitfs/mkinitfs.trigger | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 system/mkinitfs/mkinitfs.trigger (limited to 'system/mkinitfs/mkinitfs.trigger') diff --git a/system/mkinitfs/mkinitfs.trigger b/system/mkinitfs/mkinitfs.trigger new file mode 100644 index 000000000..e8acc9785 --- /dev/null +++ b/system/mkinitfs/mkinitfs.trigger @@ -0,0 +1,33 @@ +#!/bin/sh + +for i in "$@"; do + # get last element in path + flavor=${i##*/} + if ! [ -f "$i"/kernel.release ]; then + # kernel was uninstalled + rm -f $( readlink -f /boot/initramfs-$flavor ) \ + /boot/initramfs-$flavor /boot/vmlinuz-$flavor \ + /boot/$flavor /boot/$flavor.gz /$flavor /$flavor.gz + continue + fi + abi_release=$(cat "$i"/kernel.release) + initfs=initramfs-$flavor + mkinitfs -o /boot/$initfs $abi_release +done + +# extlinux will use path relative partition, so if /boot is on a +# separate partition we want /boot/ resolve to / +if ! [ -e /boot/boot ]; then + ln -sf . /boot/boot +fi + +# cleanup unused initramfs +for i in /boot/initramfs-[0-9]*; do + [ -f $i ] || continue + if ! [ -f /boot/vmlinuz-${i#/boot/initramfs-} ]; then + rm "$i" + fi +done + +sync +exit 0 -- cgit v1.2.3-70-g09d2