nextboot.sh revision 154498
197203Sgordon#! /bin/sh
297203Sgordon#
397203Sgordon# Copyright 2002. Gordon Tetlow.
497203Sgordon# gordon@FreeBSD.org
597203Sgordon#
697203Sgordon# $FreeBSD: head/sbin/reboot/nextboot.sh 154498 2006-01-18 04:48:45Z wes $
797203Sgordon
897203Sgordondelete="NO"
997203Sgordonforce="NO"
1097203Sgordonnextboot_file="/boot/nextboot.conf"
1197203Sgordon
1297203Sgordondisplay_usage() {
1397203Sgordon	echo "Usage: nextboot [-f] [-o options] -k kernel"
1497203Sgordon	echo "       nextboot -D"
1597203Sgordon}
1697203Sgordon
17154498Sweswhile getopts "Dfk:o:" argument ; do
18154498Swes	case "${argument}" in
19154498Swes	D)
2097203Sgordon		delete="YES"
2197203Sgordon		;;
22154498Swes	f)
2397203Sgordon		force="YES"
2497203Sgordon		;;
25154498Swes	k)
26154498Swes		kernel="${OPTARG}"
2797203Sgordon		;;
28154498Swes	o)
29154498Swes		kernel_options="${OPTARG}"
3097203Sgordon		;;
3197203Sgordon	*)
3297203Sgordon		display_usage
3397203Sgordon		exit 1
3497203Sgordon		;;
3597203Sgordon	esac
3697203Sgordondone
3797203Sgordon
3897203Sgordonif [ ${delete} = "YES" ]; then
3997203Sgordon	rm -f ${nextboot_file}
4097203Sgordon	exit 0
4197203Sgordonfi
4297203Sgordon
4397203Sgordonif [ "xxx${kernel}" = "xxx" ]; then
4497203Sgordon	display_usage
4597203Sgordon	exit 1
4697203Sgordonfi
4797203Sgordon
4897203Sgordonif [ ${force} = "NO" -a ! -d /boot/${kernel} ]; then
4997203Sgordon	echo "Error: /boot/${kernel} doesn't exist. Use -f to override."
5097203Sgordon	exit 1
5197203Sgordonfi
5297203Sgordon
5397203Sgordoncat > ${nextboot_file} << EOF
5497203Sgordonnextboot_enable="YES"
5597203Sgordonkernel="${kernel}"
5697203Sgordonkernel_options="${kernel_options}"
5797203SgordonEOF
58