summarylogtreecommitdiffstats
path: root/kernel-install.sh
blob: 8f73c3156ebe5b79779f926bf98237c5c77b49b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

set -euo pipefail
# Inherit set -e down to command substitutions
shopt -s inherit_errexit

extract_kernel_version() {
	local heads
	heads="${1%/vmlinuz}"
	echo "${heads##*/}"
}

kernel_images=()

while read -r path; do
	case "$path" in
	usr/lib/modules/*/vmlinuz)
		kernel_images+=("/$path")
		;;
	*)
		kernel_images=(/usr/lib/modules/*/vmlinuz)
		break
		;;
	esac
done

for kernel_image in "${kernel_images[@]}"; do
	# skip kernels not owned by pacman
	if ! pacman -Qqo "$kernel_image" 1>/dev/null 2>/dev/null; then
		continue
	fi
	echo +kernel-install "$@" "$(extract_kernel_version "$kernel_image")" "$kernel_image"
	kernel-install "$@" "$(extract_kernel_version "$kernel_image")" "$kernel_image"
done