summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorcjc <cjc@FreeBSD.org>2003-03-17 23:15:53 +0000
committercjc <cjc@FreeBSD.org>2003-03-17 23:15:53 +0000
commitc5ea907b7e85445d08b73db5b00fb0e09de4c9f4 (patch)
treee211663bdcc09e0c0e9782ba63c61c281ce7d300 /etc
parent2575bf9123f9d3c2353d1f5faf6626561514d034 (diff)
downloadFreeBSD-src-c5ea907b7e85445d08b73db5b00fb0e09de4c9f4.zip
FreeBSD-src-c5ea907b7e85445d08b73db5b00fb0e09de4c9f4.tar.gz
A new rc-ng script to build linker.hints files with kldxref(8)
automatically at boot time. Associated rc.conf(5) knobs and documentation are included.
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf3
-rw-r--r--etc/rc.d/kldxref35
2 files changed, 38 insertions, 0 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index ea33c2d..651b0de 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -28,6 +28,9 @@ apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO).
apmd_enable="NO" # Run apmd to handle APM event from userland.
apmd_flags="" # Flags to apmd (if enabled).
devd_enable="NO" # Run devd, to trigger programs on device tree changes.
+kldxref_enable="NO" # Build linker.hints files with kldxref(8).
+kldxref_clobber="NO" # Overwrite old linker.hints at boot.
+kldxref_module_path="" # Override kern.module_path. A ';'-delimited list.
pccard_enable="NO" # Set to YES if you want to configure PCCARD devices.
pccard_mem="DEFAULT" # If pccard_enable=YES, this is card memory address.
pccard_beep="2" # pccard beep type.
diff --git a/etc/rc.d/kldxref b/etc/rc.d/kldxref
new file mode 100644
index 0000000..8b93e37
--- /dev/null
+++ b/etc/rc.d/kldxref
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: kldxref
+# REQUIRE: root mountcritlocal
+# BEFORE: network1
+# KEYWORD: FreeBSD
+
+. /etc/rc.subr
+
+rcvar="kldxref_enable"
+name="kldxref"
+stop_cmd=":"
+start_cmd="kldxref_start"
+
+kldxref_start () {
+ if [ -n "$kldxref_module_path" ]; then
+ MODULE_PATHS="$kldxref_module_path"
+ else
+ MODULE_PATHS=`sysctl -n kern.module_path`
+ fi
+ IFS=';'
+ for MODULE_DIR in $MODULE_PATHS; do
+ if [ ! -f "$MODULE_DIR/linker.hints" ] ||
+ checkyesno kldxref_clobber; then
+ echo "Building $MODULE_DIR/linker.hints"
+ kldxref "$MODULE_DIR"
+ fi
+ done
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud