NetBSD/etc/rc.d/sysdb

60 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: sysdb,v 1.12 2003/02/24 01:04:45 atatat Exp $
#
# PROVIDE: sysdb
# REQUIRE: mountcritremote
# BEFORE: DAEMON
. /etc/rc.subr
name="sysdb"
start_cmd="sysdb_start"
stop_cmd=":"
extra_commands="kvmdb devdb utmp"
kvmdb_cmd="build_kvmdb"
devdb_cmd="build_devdb"
utmp_cmd="build_utmp"
sysdb_start()
{
echo "Building databases..."
$kvmdb_cmd
$devdb_cmd
$utmp_cmd
}
build_kvmdb()
{
# Build ps databases. If this kernel supports
# machdep.booted_kernel, use that to build the KVM db so dmesg
# will run work when we boot /netbsd.new, etc.
#
booted_kernel=`sysctl -n machdep.booted_kernel 2>/dev/null`
kvm_mkdb "${booted_kernel:-/netbsd}"
}
build_devdb()
{
if [ /var/run/dev.db -nt /dev ]; then
# it's fine
else
dev_mkdb
fi
}
build_utmp()
{
# Re-create /var/run/utmp and /var/run/utmpx, which are
# deleted by mountcritlocal but can't be recreated by it
# because install and chown may not be available then
# (possibly no /usr).
#
install -c -m 664 -g utmp /dev/null /var/run/utmp
install -c -m 664 -g utmp /dev/null /var/run/utmpx
}
load_rc_config $name
run_rc_command "$1"