dumpon revision 150103
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/dumpon 150103 2005-09-13 19:07:02Z rwatson $ 4# 5 6# PROVIDE: dumpon 7# REQUIRE: rcconf 8# BEFORE: disks savecore initrandom 9# KEYWORD: nojail 10 11. /etc/rc.subr 12 13name="dumpon" 14start_cmd="dumpon_start" 15stop_cmd="dumpon_stop" 16 17dumpon_try() 18{ 19 if /sbin/dumpon -v "${1}" ; then 20 # Make a symlink in devfs for savecore 21 ln -fs "${1}" /dev/dumpdev 22 return 0 23 fi 24 return 1 25} 26 27dumpon_start() 28{ 29 # Enable dumpdev so that savecore can see it. Enable it 30 # early so a crash early in the boot process can be caught. 31 # 32 case ${dumpdev} in 33 [Nn][Oo] | '') 34 ;; 35 [Aa][Uu][Tt][Oo]) 36 dev=$(/bin/kenv -q dumpdev) 37 if [ -n "${dev}" ] ; then 38 dumpon_try "${dev}" 39 return $? 40 fi 41 while read dev mp type more ; do 42 [ "${type}" = "swap" ] || continue 43 [ -c "${dev}" ] || continue 44 dumpon_try "${dev}" 2>/dev/null && return 0 45 done </etc/fstab 46 echo "No suitable dump device was found." 1>&2 47 return 1 48 ;; 49 *) 50 dumpon_try "${dumpdev}" 51 ;; 52 esac 53} 54 55dumpon_stop() 56{ 57 case ${dumpdev} in 58 [Nn][Oo] | '') 59 ;; 60 *) 61 rm -f /dev/dumpdev 62 /sbin/dumpon -v off 63 ;; 64 esac 65} 66 67load_rc_config $name 68run_rc_command "$1" 69