#!/bin/bash if [ "$(id -u)" != 0 ] then exec sudo -- "$0" "$@" exit 1 fi loudly() { (set -x "$@") } f() { OUTPUT=/boot/initrd.img-$1${OUTPUT_TAG} /usr/sbin/mkinitramfs \ -d /usr/local/lib/samizdat-rhizome/initramfs-tools/ \ -o "$OUTPUT" \ -k "$1" || return loudly ln -sf "${OUTPUT#/}" /initrd.img } OUTPUT_TAG=.samizdat while [ $# -gt 0 ] do case "$1" in -s|--system) OUTPUT_TAG=; shift; continue;; --) shift; break;; -?) exit 1;; *) break;; esac done if [ "$1" ] then k=/boot/vmlinuz-$1 if ! [ -e "$k" ] then printf 'Error: No such file: %s\n' "$k" >&2 fi f "$1" || exit ln -sf "vmlinuz-$1" /vmlinuz elif [ -L /vmlinuz ] then l=$(readlink /vmlinuz) v=${l#boot/vmlinuz-} [ -e "/boot/vmlinuz-$v" ] || exit f "$v" else printf 'Error: Could not determine kernel version. Create /vmlinuz or specify a version.' >&2 exit 1 fi