mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-31 19:57:40 +08:00
Given KBUILD_IMAGE properly set in arch/*/Makefile, the default case
should work in most scenarios. The only oddity is the naming of the
copy destination, vmlinux-kbuild-${KERNELRELEASE}. Let's rename it
to vmlinuz-${KERNELRELEASE} because the kernel is often compressed.
Remove the warning to avoid unnecessary patch submissions when the
default case suffices.
Remove the x86 case, which is now equivalent to the default.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
113 lines
3.7 KiB
Bash
Executable File
113 lines
3.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
#
|
|
# buildtar 0.0.5
|
|
#
|
|
# (C) 2004-2006 by Jan-Benedict Glaw <jbglaw@lug-owl.de>
|
|
#
|
|
# This script is used to compile a tarball from the currently
|
|
# prepared kernel. Based upon the builddeb script from
|
|
# Wichert Akkerman <wichert@wiggy.net>.
|
|
#
|
|
|
|
set -e
|
|
|
|
#
|
|
# Some variables and settings used throughout the script
|
|
#
|
|
tmpdir=$1
|
|
|
|
#
|
|
# Clean-up and re-create the temporary directory
|
|
#
|
|
rm -rf -- "${tmpdir}"
|
|
mkdir -p -- "${tmpdir}/boot"
|
|
|
|
|
|
#
|
|
# Try to install dtbs
|
|
#
|
|
if grep -q '^CONFIG_OF_EARLY_FLATTREE=y' include/config/auto.conf; then
|
|
# Only some architectures with OF support have this target
|
|
if [ -d "${srctree}/arch/${SRCARCH}/boot/dts" ]; then
|
|
$MAKE ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
|
|
fi
|
|
fi
|
|
|
|
|
|
#
|
|
# Install modules
|
|
#
|
|
make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_MOD_PATH="${tmpdir}" modules_install
|
|
|
|
|
|
#
|
|
# Install basic kernel files
|
|
#
|
|
cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}"
|
|
cp -v -- "${KCONFIG_CONFIG}" "${tmpdir}/boot/config-${KERNELRELEASE}"
|
|
cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
|
|
|
|
#
|
|
# Install arch-specific kernel image(s)
|
|
#
|
|
# Note:
|
|
# mips, arm64, and riscv copy the first image found. This may not produce
|
|
# the desired outcome because it may pick up a stale file remaining in the
|
|
# build tree.
|
|
#
|
|
case "${ARCH}" in
|
|
alpha)
|
|
cp -v -- "${objtree}/arch/alpha/boot/vmlinux.gz" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
;;
|
|
parisc*)
|
|
cp -v -- "${KBUILD_IMAGE}" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
[ -f "${objtree}/lifimage" ] && cp -v -- "${objtree}/lifimage" "${tmpdir}/boot/lifimage-${KERNELRELEASE}"
|
|
;;
|
|
mips)
|
|
# Please note the following code may copy a stale file.
|
|
if [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.bin" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.bin" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.ecoff" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.ecoff" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.srec" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.srec" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/vmlinux.32" ]; then
|
|
cp -v -- "${objtree}/vmlinux.32" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/vmlinux.64" ]; then
|
|
cp -v -- "${objtree}/vmlinux.64" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/arch/mips/boot/vmlinux.bin" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/vmlinux.bin" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/arch/mips/boot/vmlinux.ecoff" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/vmlinux.ecoff" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/arch/mips/boot/vmlinux.srec" ]; then
|
|
cp -v -- "${objtree}/arch/mips/boot/vmlinux.srec" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
elif [ -f "${objtree}/vmlinux" ]; then
|
|
cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
fi
|
|
;;
|
|
arm64)
|
|
# Please note the following code may copy a stale file.
|
|
for i in Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo vmlinuz.efi ; do
|
|
if [ -f "${objtree}/arch/arm64/boot/${i}" ] ; then
|
|
cp -v -- "${objtree}/arch/arm64/boot/${i}" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
break
|
|
fi
|
|
done
|
|
;;
|
|
riscv)
|
|
# Please note the following code may copy a stale file.
|
|
for i in Image.bz2 Image.gz Image; do
|
|
if [ -f "${objtree}/arch/riscv/boot/${i}" ] ; then
|
|
cp -v -- "${objtree}/arch/riscv/boot/${i}" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
|
break
|
|
fi
|
|
done
|
|
;;
|
|
*)
|
|
cp -v -- "${KBUILD_IMAGE}" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}"
|
|
;;
|
|
esac
|