nextboot.sh revision 154431
1#! /bin/sh 2# 3# Copyright 2002. Gordon Tetlow. 4# gordon@FreeBSD.org 5# 6# $FreeBSD: head/sbin/reboot/nextboot.sh 154431 2006-01-16 16:18:54Z wes $ 7 8delete="NO" 9force="NO" 10nextboot_file="/boot/nextboot.conf" 11kernel="" 12 13display_usage() { 14 echo "Usage: nextboot [-f] [-o options] -k kernel" 15 echo " nextboot -D" 16} 17 18# Parse args, do not use getopt because we don't want to rely on /usr 19while test $# -gt 0; do 20 case $1 in 21 -D) 22 delete="YES" 23 ;; 24 -f) 25 force="YES" 26 ;; 27 -k) 28 if test $# -lt 2; then 29 echo "$0: option $1 must specify kernel" 30 display_usage 31 exit 1 32 fi 33 kernel="$2" 34 shift 35 ;; 36 -o) 37 if test $# -lt 2; then 38 echo "$0: option $1 must specify boot options" 39 display_usage 40 exit 1 41 fi 42 kernel_options="$2" 43 shift 44 ;; 45 *) 46 display_usage 47 exit 1 48 ;; 49 esac 50 shift 51done 52 53if [ ${delete} = "YES" ]; then 54 rm -f ${nextboot_file} 55 exit 0 56fi 57 58if [ "xxx${kernel}" = "xxx" ]; then 59 display_usage 60 exit 1 61fi 62 63if [ ${force} = "NO" -a ! -d /boot/${kernel} ]; then 64 echo "Error: /boot/${kernel} doesn't exist. Use -f to override." 65 exit 1 66fi 67 68cat > ${nextboot_file} << EOF 69nextboot_enable="YES" 70kernel="${kernel}" 71kernel_options="${kernel_options}" 72EOF 73