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