mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Helge Deller](/assets/img/avatar_default.png)
Install targets (install, zinstall, uinstall) on parisc have a dependency to vmlinux. This may cause parts of the kernel to be rebuilt during installation. We must avoid this since this may run as root. Install targets "ABSOLUTELY MUST NOT MODIFY THE SOURCE TREE." as Linus emphasized this in: http://lkml.org/lkml/2013/7/10/600 So on parisc and maybe other archs we need the same as for x86:1648e4f8
x86, kbuild: make "make install" not depend on vmlinux This parisc patch was inspired by:19514fc6
arm, kbuild: make "make install" not depend on vmlinux Signed-off-by: Helge Deller <deller@gmx.de>
66 lines
1.6 KiB
Bash
66 lines
1.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# arch/parisc/install.sh, derived from arch/i386/boot/install.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
|
|
#
|
|
# "make install" script for i386 architecture
|
|
#
|
|
# Arguments:
|
|
# $1 - kernel version
|
|
# $2 - kernel image file
|
|
# $3 - kernel map file
|
|
# $4 - default install path (blank if root directory)
|
|
#
|
|
|
|
verify () {
|
|
if [ ! -f "$1" ]; then
|
|
echo "" 1>&2
|
|
echo " *** Missing file: $1" 1>&2
|
|
echo ' *** You need to run "make" before "make install".' 1>&2
|
|
echo "" 1>&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Make sure the files actually exist
|
|
|
|
verify "$2"
|
|
verify "$3"
|
|
|
|
# User may have a custom install script
|
|
|
|
if [ -n "${INSTALLKERNEL}" ]; then
|
|
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
|
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
|
fi
|
|
|
|
# Default install
|
|
|
|
if [ "$(basename $2)" = "zImage" ]; then
|
|
# Compressed install
|
|
echo "Installing compressed kernel"
|
|
base=vmlinuz
|
|
else
|
|
# Normal install
|
|
echo "Installing normal kernel"
|
|
base=vmlinux
|
|
fi
|
|
|
|
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
|
|
|