Home | History | Annotate | Line # | Download | only in rc.d
sysdb revision 1.11
      1 #!/bin/sh
      2 #
      3 # $NetBSD: sysdb,v 1.11 2002/10/08 16:21:52 atatat Exp $
      4 #
      5 
      6 # PROVIDE: sysdb
      7 # REQUIRE: mountcritremote
      8 # BEFORE:  DAEMON
      9 
     10 . /etc/rc.subr
     11 
     12 name="sysdb"
     13 start_cmd="sysdb_start"
     14 stop_cmd=":"
     15 extra_commands="kvmdb devdb utmp"
     16 kvmdb_cmd="build_kvmdb"
     17 devdb_cmd="build_devdb"
     18 utmp_cmd="build_utmp"
     19 
     20 sysdb_start()
     21 {
     22 	echo "Building databases..."
     23 	build_kvmdb
     24 	build_devdb
     25 	build_utmp
     26 }
     27 
     28 build_kvmdb()
     29 {
     30 	#	Build ps databases. If this kernel supports
     31 	#	machdep.booted_kernel, use that to build the KVM db so dmesg
     32 	#	will run work when we boot /netbsd.new, etc.
     33 	#
     34 	booted_kernel=`sysctl -n machdep.booted_kernel 2>/dev/null`
     35 	kvm_mkdb "${booted_kernel:-/netbsd}"
     36 }
     37 
     38 build_devdb()
     39 {
     40 	if [ /var/run/dev.db -nt /dev ]; then
     41 		# it's fine
     42 	else
     43 		dev_mkdb
     44 	fi
     45 }
     46 
     47 build_utmp()
     48 {
     49 	#	Re-create /var/run/utmp and /var/run/utmpx, which are
     50 	#	deleted by mountcritlocal but can't be recreated by it
     51 	#	because install and chown may not be available then
     52 	#	(possibly no /usr).
     53 	#
     54 	install -c -m 664 -g utmp /dev/null /var/run/utmp
     55 	install -c -m 664 -g utmp /dev/null /var/run/utmpx
     56 }
     57 
     58 load_rc_config $name
     59 run_rc_command "$1"
     60