mirror of
https://github.com/opnsense/docs
synced 2024-11-07 03:20:31 +00:00
64 lines
1.8 KiB
ReStructuredText
64 lines
1.8 KiB
ReStructuredText
========================
|
|
Bootup / autorun options
|
|
========================
|
|
|
|
-------
|
|
syshook
|
|
-------
|
|
|
|
OPNsense offers an easy method to plug in custom scripts during boot stages and assorted system events.
|
|
|
|
Syshook scripts should be installed in:
|
|
|
|
::
|
|
|
|
/usr/local/etc/rc.syshook.d/<subdir>/
|
|
|
|
They can contain any executable file (e.g. shell scripts) in the following subdirectories:
|
|
|
|
- backup
|
|
- scripts used for peroidic backup and restore
|
|
- carp
|
|
- scripts used for CARP MASTER / BACKUP events
|
|
- early
|
|
- start script before system network startup
|
|
- start
|
|
- start script after system network startup
|
|
- stop
|
|
- stop script before normal system shutdown
|
|
|
|
File names can use a number prefix "XX-" to retain a particular order. "20-" is typically used for core scripts, while "50-" is used for plugins.
|
|
|
|
Example (vmware guestd start, filename /usr/local/etc/rc.syshook.d/early/50-vmware)
|
|
|
|
::
|
|
|
|
#!/bin/sh
|
|
|
|
export vmware_guest_vmblock_enable="YES"
|
|
export vmware_guest_vmhgfs_enable="YES"
|
|
export vmware_guest_vmmemctl_enable="YES"
|
|
export vmware_guest_vmxnet_enable="YES"
|
|
|
|
/usr/local/etc/rc.d/vmware-kmod start
|
|
|
|
Do not forget to set executable permissions on your syshook files.
|
|
|
|
-----
|
|
rc(8)
|
|
-----
|
|
|
|
Part of the bootup process of OPNsense is probing the available rc(8) configuration files in */etc/rc.conf.d/*, when a daemon is enabled, the system will call the regular rc(8) start command.
|
|
|
|
In case the daemon needs some extra preparation, an additional "bootup" script can be provided, which will be run before executing normal "start".
|
|
|
|
Example (from a configured squid proxy server using */etc/rc.conf.d/squid*):
|
|
|
|
::
|
|
|
|
squid_enable=YES
|
|
squid_opnsense_bootup_run="/usr/local/opnsense/scripts/proxy/setup.sh"
|
|
|
|
|
|
The configd template system can be used to generate the necessary configuration file(s).
|