Previously the build process would always set KBUILD_IMAGE to the uncompressed Image file (unless XIP_KERNEL or EFI_ZBOOT was enabled) and unconditionally compress it into Image.gz. However there are already build targets for Image.bz2, Image.lz4, Image.lzma, Image.lzo and Image.zstd, so let's make use of those, make the compression method configurable and set KBUILD_IMAGE accordingly so that targets like 'make install' and 'make bindeb-pkg' will use the chosen image. Tested-by: Björn Töpel <bjorn@rivosinc.com> Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> Reviewed-by: Nicolas Schier <n.schier@avm.de> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> Link: https://lore.kernel.org/r/20240504193446.196886-2-emil.renner.berthing@canonical.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
42 lines
968 B
Bash
Executable file
42 lines
968 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# This file is subject to the terms and conditions of the GNU General Public
|
|
# License. See the file "COPYING" in the main directory of this archive
|
|
# for more details.
|
|
#
|
|
# Copyright (C) 1995 by Linus Torvalds
|
|
#
|
|
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
|
|
# Adapted from code in arch/i386/boot/install.sh by Russell King
|
|
#
|
|
# "make install" script for the RISC-V Linux port
|
|
#
|
|
# Arguments:
|
|
# $1 - kernel version
|
|
# $2 - kernel image file
|
|
# $3 - kernel map file
|
|
# $4 - default install path (blank if root directory)
|
|
|
|
case "${2##*/}" in
|
|
# Compressed install
|
|
Image.*|vmlinuz.efi)
|
|
echo "Installing compressed kernel"
|
|
base=vmlinuz
|
|
;;
|
|
# Normal install
|
|
*)
|
|
echo "Installing normal kernel"
|
|
base=vmlinux
|
|
;;
|
|
esac
|
|
|
|
if [ -f $4/$base-$1 ]; then
|
|
mv $4/$base-$1 $4/$base-$1.old
|
|
fi
|
|
cat $2 > $4/$base-$1
|
|
|
|
# Install system map file
|
|
if [ -f $4/System.map-$1 ]; then
|
|
mv $4/System.map-$1 $4/System.map-$1.old
|
|
fi
|
|
cp $3 $4/System.map-$1
|