aports/main/installkernel/installkernel
Natanael Copa 69a2ca2b33 main/installkernel: fix System.map and config suffix
use kernel release suffix for System.map and config. This is where tools
expect those to be found.

ref: https://en.wikipedia.org/wiki/System.map#Filesystem_location
2023-12-21 08:52:00 +01:00

46 lines
918 B
Bash

#!/bin/sh
set -e
if [ $# -eq 3 ] || [ $# -eq 4 ]; then
kernelrelease="$1"
bootimage="$2"
mapfile="$3"
destdir="${4:-/boot}"
else
echo "Usage: installkernel <version> <image> <System.map> <directory>"
exit 1
fi
mapdir=$(dirname "$mapfile")
config="$mapdir"/.config
suffix=
flavor=${kernelrelease##*[0-9]-}
if [ "$flavor" != "$kernelrelease" ]; then
suffix=-$flavor
fi
for i in vmlinuz${suffix} System.map${suffix} config${suffix}; do
if [ -e "$destdir"/$i ]; then
cp "$destdir"/$i "$destdir"/$i.old
fi
done
cp "$bootimage" "$destdir"/vmlinuz${suffix}
cp "$mapfile" "$destdir"/System.map-${kernelrelease}
cp "$config" "$destdir"/config-${kernelrelease}
destdir_root="${destdir%/boot}"
if [ "$destdir_root" != "$destdir" ]; then
moddir="$destdir_root/lib/modules/$kernelrelease"
mkdir -p "$moddir"
if ! [ -e "$moddir"/kernel-suffix ]; then
echo "$suffix" > "$moddir"/kernel-suffix
fi
fi
exit 0