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