mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-16 21:32:22 +01:00
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
46 lines
918 B
Bash
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
|