xref: /OK3568_Linux_fs/kernel/arch/riscv/boot/install.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# arch/riscv/boot/install.sh
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun# This file is subject to the terms and conditions of the GNU General Public
6*4882a593Smuzhiyun# License.  See the file "COPYING" in the main directory of this archive
7*4882a593Smuzhiyun# for more details.
8*4882a593Smuzhiyun#
9*4882a593Smuzhiyun# Copyright (C) 1995 by Linus Torvalds
10*4882a593Smuzhiyun#
11*4882a593Smuzhiyun# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
12*4882a593Smuzhiyun# Adapted from code in arch/i386/boot/install.sh by Russell King
13*4882a593Smuzhiyun#
14*4882a593Smuzhiyun# "make install" script for the RISC-V Linux port
15*4882a593Smuzhiyun#
16*4882a593Smuzhiyun# Arguments:
17*4882a593Smuzhiyun#   $1 - kernel version
18*4882a593Smuzhiyun#   $2 - kernel image file
19*4882a593Smuzhiyun#   $3 - kernel map file
20*4882a593Smuzhiyun#   $4 - default install path (blank if root directory)
21*4882a593Smuzhiyun#
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunverify () {
24*4882a593Smuzhiyun	if [ ! -f "$1" ]; then
25*4882a593Smuzhiyun		echo ""                                                   1>&2
26*4882a593Smuzhiyun		echo " *** Missing file: $1"                              1>&2
27*4882a593Smuzhiyun		echo ' *** You need to run "make" before "make install".' 1>&2
28*4882a593Smuzhiyun		echo ""                                                   1>&2
29*4882a593Smuzhiyun		exit 1
30*4882a593Smuzhiyun	fi
31*4882a593Smuzhiyun}
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# Make sure the files actually exist
34*4882a593Smuzhiyunverify "$2"
35*4882a593Smuzhiyunverify "$3"
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun# User may have a custom install script
38*4882a593Smuzhiyunif [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
39*4882a593Smuzhiyunif [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunif [ "$(basename $2)" = "Image.gz" ]; then
42*4882a593Smuzhiyun# Compressed install
43*4882a593Smuzhiyun  echo "Installing compressed kernel"
44*4882a593Smuzhiyun  base=vmlinuz
45*4882a593Smuzhiyunelse
46*4882a593Smuzhiyun# Normal install
47*4882a593Smuzhiyun  echo "Installing normal kernel"
48*4882a593Smuzhiyun  base=vmlinux
49*4882a593Smuzhiyunfi
50*4882a593Smuzhiyun
51*4882a593Smuzhiyunif [ -f $4/$base-$1 ]; then
52*4882a593Smuzhiyun  mv $4/$base-$1 $4/$base-$1.old
53*4882a593Smuzhiyunfi
54*4882a593Smuzhiyuncat $2 > $4/$base-$1
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun# Install system map file
57*4882a593Smuzhiyunif [ -f $4/System.map-$1 ]; then
58*4882a593Smuzhiyun  mv $4/System.map-$1 $4/System.map-$1.old
59*4882a593Smuzhiyunfi
60*4882a593Smuzhiyuncp $3 $4/System.map-$1
61