1.\" Copyright (c) 2011 Devin Teske 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.Dd Apr 22, 2017 26.Dt DELAY.4TH 5 27.Os 28.Sh NAME 29.Nm delay.4th 30.Nd loader debugging boot module 31.Sh DESCRIPTION 32The file that goes by the name of 33.Nm 34is a set of commands designed to add debugging capabilities to 35.Xr loader 5 . 36The commands of 37.Nm 38by themselves are not enough for most uses. 39Please refer to the 40examples below for the most common situations, and to 41.Xr loader 5 42for additional commands. 43.Pp 44Before using any of the commands provided in 45.Nm , 46it must be included 47through the command: 48.Pp 49.Dl include delay.4th 50.Pp 51This line is present in 52.Pa /boot/forth/beastie.4th 53file, so it is not needed (and should not be re-issued) in a normal setup. 54.Pp 55The commands provided by it are: 56.Pp 57.Bl -tag -width disable-module_module -compact -offset indent 58.It Ic delay_execute 59Executes the [string] procedure stored in the 60.Ic delay_command 61environment variable after 62.Ic loader_delay 63seconds. 64.Pp 65If the optional 66.Ic delay_showdots 67environment variable is set, a continuous series of dots is printed. 68.Pp 69During the duration, the user can either press Ctrl-C (or Esc) to abort or 70ENTER to proceed immediately. 71.El 72.Pp 73The environment variables that effect its behavior are: 74.Bl -tag -width bootfile -offset indent 75.It Va delay_command 76The command to be executed by 77.Ic delay_execute . 78.It Va loader_delay 79The duration (in seconds) to delay before executing 80.Ic delay_command . 81.It Va delay_showdots 82If set, will cause 83.Ic delay_execute 84to print a continuous series of dots during the delay duration. 85.El 86.Sh FILES 87.Bl -tag -width /boot/forth/loader.4th -compact 88.It Pa /boot/zfsloader 89The 90.Xr zfsloader 5 . 91.It Pa /boot/forth/delay.4th 92.Nm 93itself. 94.It Pa /boot/loader.rc 95.Xr loader 5 96bootstrapping script. 97.El 98.Sh EXAMPLES 99Introducing a 5-second delay before including another file from 100.Pa /boot/loader.rc : 101.Pp 102.Bd -literal -offset indent -compact 103include /boot/forth/delay.4th 104set delay_command="include /boot/forth/other.4th" 105set delay_showdots 106set loader_delay=5 107delay_execute 108.Ed 109.Sh SEE ALSO 110.Xr loader.conf 4 , 111.Xr beastie.4th 5 , 112.Xr loader 5 , 113.Xr loader.4th 5 114