13d0407baSopenharmony_ci#!/bin/sh
23d0407baSopenharmony_ci#
33d0407baSopenharmony_ci# arch/arm64/boot/install.sh
43d0407baSopenharmony_ci#
53d0407baSopenharmony_ci# This file is subject to the terms and conditions of the GNU General Public
63d0407baSopenharmony_ci# License.  See the file "COPYING" in the main directory of this archive
73d0407baSopenharmony_ci# for more details.
83d0407baSopenharmony_ci#
93d0407baSopenharmony_ci# Copyright (C) 1995 by Linus Torvalds
103d0407baSopenharmony_ci#
113d0407baSopenharmony_ci# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
123d0407baSopenharmony_ci# Adapted from code in arch/i386/boot/install.sh by Russell King
133d0407baSopenharmony_ci#
143d0407baSopenharmony_ci# "make install" script for the AArch64 Linux port
153d0407baSopenharmony_ci#
163d0407baSopenharmony_ci# Arguments:
173d0407baSopenharmony_ci#   $1 - kernel version
183d0407baSopenharmony_ci#   $2 - kernel image file
193d0407baSopenharmony_ci#   $3 - kernel map file
203d0407baSopenharmony_ci#   $4 - default install path (blank if root directory)
213d0407baSopenharmony_ci#
223d0407baSopenharmony_ci
233d0407baSopenharmony_civerify () {
243d0407baSopenharmony_ci	if [ ! -f "$1" ]; then
253d0407baSopenharmony_ci		echo ""                                                   1>&2
263d0407baSopenharmony_ci		echo " *** Missing file: $1"                              1>&2
273d0407baSopenharmony_ci		echo ' *** You need to run "make" before "make install".' 1>&2
283d0407baSopenharmony_ci		echo ""                                                   1>&2
293d0407baSopenharmony_ci		exit 1
303d0407baSopenharmony_ci	fi
313d0407baSopenharmony_ci}
323d0407baSopenharmony_ci
333d0407baSopenharmony_ci# Make sure the files actually exist
343d0407baSopenharmony_civerify "$2"
353d0407baSopenharmony_civerify "$3"
363d0407baSopenharmony_ci
373d0407baSopenharmony_ci# User may have a custom install script
383d0407baSopenharmony_ciif [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
393d0407baSopenharmony_ciif [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
403d0407baSopenharmony_ci
413d0407baSopenharmony_ciif [ "$(basename $2)" = "Image.gz" ]; then
423d0407baSopenharmony_ci# Compressed install
433d0407baSopenharmony_ci  echo "Installing compressed kernel"
443d0407baSopenharmony_ci  base=vmlinuz
453d0407baSopenharmony_cielse
463d0407baSopenharmony_ci# Normal install
473d0407baSopenharmony_ci  echo "Installing normal kernel"
483d0407baSopenharmony_ci  base=vmlinux
493d0407baSopenharmony_cifi
503d0407baSopenharmony_ci
513d0407baSopenharmony_ciif [ -f $4/$base-$1 ]; then
523d0407baSopenharmony_ci  mv $4/$base-$1 $4/$base-$1.old
533d0407baSopenharmony_cifi
543d0407baSopenharmony_cicat $2 > $4/$base-$1
553d0407baSopenharmony_ci
563d0407baSopenharmony_ci# Install system map file
573d0407baSopenharmony_ciif [ -f $4/System.map-$1 ]; then
583d0407baSopenharmony_ci  mv $4/System.map-$1 $4/System.map-$1.old
593d0407baSopenharmony_cifi
603d0407baSopenharmony_cicp $3 $4/System.map-$1
61