Centos-kernel-stream-9/scripts/install.sh

41 lines
986 B
Bash
Raw Normal View History

kbuild: factor out the common installation code into scripts/install.sh JIRA: https://issues.redhat.com/browse/RHEL-25537 This is a partial backport of upstream commit f774f5bb87d1 ("kbuild: factor out the common installation code into scripts/install.sh") of only the changes that affect an arm64 kernel install. The subsequent backport of upstream c37b830fef13 ("arm64: efi: enable generic EFI compressed boot") depends on these changes for the correct operation of "make zinstall". Conflicts: arch/{arm,ia64,m68k,nios2,parisc,powerpc,riscv,s390,sparc,x86} -Skipping build and install changes for all arches except arm64 Makefile -Need to retain one line that is otherwise deleted by the upstream patch because this is only a partial backport for arm64. This is noted by a RHEL-only comment in the Makefile. commit f774f5bb87d132b48bc4a99598c45f35121ac054 Author: Masahiro Yamada <masahiroy@kernel.org> Date: Tue May 3 11:47:16 2022 +0900 kbuild: factor out the common installation code into scripts/install.sh Many architectures have similar install.sh scripts. The first half is really generic; it verifies that the kernel image and System.map exist, then executes ~/bin/${INSTALLKERNEL} or /sbin/${INSTALLKERNEL} if available. The second half is kind of arch-specific; it copies the kernel image and System.map to the destination, but the code is slightly different. Factor out the generic part into scripts/install.sh. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <n.schier@avm.de> Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
2024-04-10 22:16:41 +00:00
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 1995 by Linus Torvalds
#
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
# Common code factored out by Masahiro Yamada
set -e
# Make sure the files actually exist
for file in "${KBUILD_IMAGE}" System.map
do
if [ ! -f "${file}" ]; then
echo >&2
echo >&2 " *** Missing file: ${file}"
echo >&2 ' *** You need to run "make" before "make install".'
echo >&2
exit 1
fi
done
# User/arch may have a custom install script
for file in "${HOME}/bin/${INSTALLKERNEL}" \
"/sbin/${INSTALLKERNEL}" \
"${srctree}/arch/${SRCARCH}/install.sh" \
"${srctree}/arch/${SRCARCH}/boot/install.sh"
do
if [ ! -x "${file}" ]; then
continue
fi
# installkernel(8) says the parameters are like follows:
#
# installkernel version zImage System.map [directory]
exec "${file}" "${KERNELRELEASE}" "${KBUILD_IMAGE}" System.map "${INSTALL_PATH}"
done
echo "No install script found" >&2
exit 1