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