diff options
author | cjc <cjc@FreeBSD.org> | 2003-03-17 23:15:53 +0000 |
---|---|---|
committer | cjc <cjc@FreeBSD.org> | 2003-03-17 23:15:53 +0000 |
commit | c5ea907b7e85445d08b73db5b00fb0e09de4c9f4 (patch) | |
tree | e211663bdcc09e0c0e9782ba63c61c281ce7d300 /etc | |
parent | 2575bf9123f9d3c2353d1f5faf6626561514d034 (diff) | |
download | FreeBSD-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.conf | 3 | ||||
-rw-r--r-- | etc/rc.d/kldxref | 35 |
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" |