FreeBSD manual
download PDF document: core.lua.8.pdf
CORE.LUA(8) FreeBSD System Manager's Manual CORE.LUA(8)
NAME
core.lua - FreeBSD core module
DESCRIPTION
core.lua contains core functionality that does not have a more fitting
module.
Before hooking into or using the functionality provided by core.lua, it
must be included with a statement such as the following:
local core = require("core")
CONSTANTS
The following raw key code constants are defined in core.lua:
KEY_BACKSPACE The backspace code. Should generally be checked
along with KEY_DELETE for backspace functionality.
KEY_ENTER The enter key, or hard return.
KEY_DELETE The delete code. Should generally be checked along
with KEY_BACKSPACE for backspace functionality.
The following key-string constants are defined in core.lua:
KEYSTR_ESCAPE The escape key.
KEYSTR_CSI The ANSI CSI sequence.
The following menu entry type constants are defined in core.lua:
MENU_RETURN Return to the parent menu.
MENU_ENTRY A normal menu entry.
MENU_SEPARATOR A menu entry that serves as a separator.
MENU_SUBMENU A menu entry that opens a submenu when
selected.
MENU_CAROUSEL_ENTRY A menu entry that rotates through items like a
carousel upon selection of the menu entry.
Please see menu.lua(8) for extended descriptions and usage of the MENU_*
constants.
Exported functions
The following functions are exported from core.lua:
core.setVerbose(verbose)
Sets or unsets boot_verbose. If verbose is
omitted, toggle the current verbose setting.
core.setSingleUser(singleUser)
Sets or unsets boot_single. If singleUser is
omitted, toggle the current single user
setting.
core.getACPI() Return true if ACPI is both present and not
explicitly disabled by hints.acpi.0.disabled.
core.hasACPI() Checks whether ACPI support is present. This
requires the loader to probe the system and set
acpi.rsdp early before starting the
interpreter.
core.setACPI(acpi) Sets or unsets acpi_load, hint.acpi.0.disabled,
kern.geom.part.check_integrity. If safeMode is
omitted, toggle the current safe mode setting.
core.clearCachedKernels()
Clears out the cache of kernels to be displayed
on the boot menu. This function is registered
as a 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 kernel
or kernels.
core.hasFeature(featureName)
Checks whether the named 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.
core.kernelList() Returns a table of kernels to display on the
boot menu. This will combine kernel and
kernels from loader.conf(5). If
kernels_autodetect is set in loader.conf(5),
kernels will be autodetected from the current
system.
core.bootenvDefault()
Returns the default boot environment, nil if
unset.
core.bootenvList() Returns a table of boot environments, or an
empty table. These will be picked up using the
bootenvs and bootenvs_count variables set by
loader(8).
core.setDefaults() Resets ACPI, safe mode, single user, and
verbose settings to their system defauilts.
core.autoboot(argstr)
Loads the kernel and specified modules, then
invokes the autoboot loader(8) command with
argstr as-is.
core.boot(argstr) Loads the kernel and specified modules, then
invokes the boot loader(8) command with argstr
as-is.
core.isSingleUserBoot()
Returns true if boot_single is set to yes.
core.isZFSBoot() Returns true if currdev is set to a zfs(8)
dataset.
core.isSerialBoot()
Returns true if we are booting over serial.
This checks console, boot_serial, and
boot_multicons.
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.
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.
SEE ALSO
loader.conf(5), loader(8), menu.lua(8)
AUTHORS
The core.lua file was originally written by Pedro Souza
<pedrosouza@FreeBSD.org>. Later work and this manual page was done by
Kyle Evans <kevans@FreeBSD.org>.
FreeBSD 14.2-RELEASE December 28, 2023 FreeBSD 14.2-RELEASE