• H
    parisc: make "make install" not depend on vmlinux · b0756b5a
    Helge Deller 提交于
    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: NHelge Deller <deller@gmx.de>
    b0756b5a
install.sh 1.6 KB
#!/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
反馈
建议
客服 返回
顶部