diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
| commit | ac5e55f5f2af5b92794c2aded46c6bae85b5f5ed (patch) | |
| tree | 9367490586c84cba28652e443e3166d66c33b0d9 /static/freebsd/man8/core.lua.8 | |
| parent | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (diff) | |
docs: Added All FreeBSD Manuals
Diffstat (limited to 'static/freebsd/man8/core.lua.8')
| -rw-r--r-- | static/freebsd/man8/core.lua.8 | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/static/freebsd/man8/core.lua.8 b/static/freebsd/man8/core.lua.8 new file mode 100644 index 00000000..325320b2 --- /dev/null +++ b/static/freebsd/man8/core.lua.8 @@ -0,0 +1,247 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2018 Kyle Evans <kevans@FreeBSD.org> +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 8, 2026 +.Dt CORE.LUA 8 +.Os +.Sh NAME +.Nm core.lua +.Nd bootloader core module +.Sh DESCRIPTION +.Nm +contains core functionality that does not have a more fitting module. +.Pp +Before hooking into or using the functionality provided by +.Nm , +it must be included with a statement such as the following: +.Pp +.Dl local core = require("core") +.Ss CONSTANTS +The following raw key code constants are defined in +.Nm : +.Bl -tag -width KEY_BACKSPACE -compact -offset indent +.It Ic KEY_BACKSPACE +The backspace code. +Should generally be checked along with +.Ic KEY_DELETE +for backspace functionality. +.It Ic KEY_ENTER +The enter key, or hard return. +.It Ic KEY_DELETE +The delete code. +Should generally be checked along with +.Ic KEY_BACKSPACE +for backspace functionality. +.El +.Pp +The following key-string constants are defined in +.Nm : +.Bl -tag -width KEYSTR_ESCAPE -compact -offset indent +.It Ic KEYSTR_ESCAPE +The escape key. +.It Ic KEYSTR_CSI +The ANSI CSI sequence. +.El +.Pp +The following menu entry type constants are defined in +.Nm : +.Bl -tag -width MENU_CAROUSEL_ENTRY -compact -offset indent +.It Ic MENU_RETURN +Return to the parent menu. +.It Ic MENU_ENTRY +A normal menu entry. +.It Ic MENU_SEPARATOR +A menu entry that serves as a separator. +.It Ic MENU_SUBMENU +A menu entry that opens a submenu when selected. +.It Ic MENU_CAROUSEL_ENTRY +A menu entry that rotates through items like a carousel upon selection of the +menu entry. +.El +.Pp +Please see +.Xr menu.lua 8 +for extended descriptions and usage of the +.Ic MENU_* +constants. +.Ss Exported functions +The following functions are exported from +.Nm : +.Bl -tag -width core.setSingleUser -offset indent +.It Fn core.setVerbose verbose +Sets or unsets +.Ev boot_verbose . +If +.Fa verbose +is omitted, toggle the current verbose setting. +.It Fn core.setSingleUser singleUser +Sets or unsets +.Ev boot_single . +If +.Fa singleUser +is omitted, toggle the current single user setting. +.It Fn core.getACPI +Return true if ACPI is both present and not explicitly disabled by +.Ev hints.acpi.0.disabled . +.It Fn core.hasACPI +Checks whether ACPI support is present. +This requires the loader to probe the system and set +.Ev acpi.rsdp +early before starting the interpreter. +.It Fn core.setACPI acpi +Sets or unsets +.Ev acpi_load , +.Ev hint.acpi.0.disabled , +and +.Ev loader.acpi_disabled_by_user . +If +.Fa acpi +is omitted, toggle the current ACPI setting. +.It Fn core.setSafeMode safeMode +Set the safe mode setting. +Sets or unsets +.Ev kern.smp.disabled , +.Ev hw.ata.ata_dma , +.Ev hw.ata.atapi_dma , +.Ev kern.eventtimer.periodic , +and +.Ev kern.geom.part.check_integrity . +If +.Fa safeMode +is omitted, toggle the current safe mode setting. +.It Fn core.clearCachedKernels +Clears out the cache of kernels to be displayed on the boot menu. +This function is registered as a +.Ev config.reloaded +hook. +It is used to invalidate the kernel list whenever it may have changed, either +due to a boot environment change or a potential change in either +.Ic kernel +or +.Ic kernels . +.It Fn core.hasFeature featureName +Checks whether the named +.Fa featureName +is enabled in the current loader. +This is specifically used for detecting capabilities of the loaded loader +binary, so that one can reasonably implement backwards compatibility shims if +needed. +.It Fn core.kernelList +Returns a table of kernels to display on the boot menu. +This will combine +.Ic kernel +and +.Ic kernels +from +.Xr loader.conf 5 . +If +.Ic kernels_autodetect +is set in +.Xr loader.conf 5 , +kernels will be autodetected from the current system. +.It Fn core.bootenvDefault +Returns the default boot environment, nil if unset. +.It Fn core.bootenvFilter func +Installs a filter +.Fa func +into +.Fn core.bootenvList . +If the +.Fa func +returns true, then the boot environment is retained in the list. +Otherwise, the boot environment is hidden. +The old filter, if any, is returned to allow the caller to compose a filter on +top of another filter. +.It Fn core.bootenvList +Returns a table of boot environments, or an empty table. +These will be picked up using the +.Ev bootenvs +and +.Ev bootenvs_count +variables set by +.Xr loader 8 . +.It Fn core.setDefaults +Resets ACPI, safe mode, single user, and verbose settings to their system +defauilts. +.It Fn core.autoboot argstr +Loads the kernel and specified modules, then invokes the +.Ic autoboot +.Xr loader 8 +command with +.Fa argstr +as-is. +.It Fn core.boot argstr +Loads the kernel and specified modules, then invokes the +.Ic boot +.Xr loader 8 +command with +.Fa argstr +as-is. +.It Fn core.isSingleUserBoot +Returns true if +.Ev boot_single +is set to yes. +.It Fn core.isZFSBoot +Returns true if +.Ev currdev +is set to a +.Xr zfs 8 +dataset. +.It Fn core.isSerialBoot +Returns true if we are booting over serial. +This checks +.Ev console , +.Ev boot_serial , +and +.Ev boot_multicons . +.It Fn core.deepCopyTable tbl +Recursively deep copies +.Fa tbl +and returns the result. +.It Fn core.popFrontTable tbl +Pops the front element off of +.Fa tbl , +and returns two return values: the front element, and the rest of the table. +If there are no elements, this returns nil and nil. +If there is one element, this returns the front element and an empty table. +This will not operate on truly associative tables; numeric indices are +required. +.It Fn core.loaderTooOld +Returns true if the loader is too old. +Specifically, this means, is the loader old enough to require one or more +workarounds in the current lua base modules. +.El +.Sh SEE ALSO +.Xr loader.conf 5 , +.Xr loader 8 , +.Xr menu.lua 8 +.Sh AUTHORS +The +.Nm +file was originally written by +.An Pedro Souza Aq Mt pedrosouza@FreeBSD.org . +Later work and this manual page was done by +.An Kyle Evans Aq Mt kevans@FreeBSD.org . |
