FreeBSD Manual Pages
CORE.LUA(8) System Manager's Manual CORE.LUA(8) NAME core.lua -- bootloader 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 functional- ity. 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 se- lected. 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 set- ting. 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 in- terpreter. core.setACPI(acpi) Sets or unsets acpi_load, hint.acpi.0.disabled, and loader.acpi_disabled_by_user. If acpi is omitted, toggle the current ACPI setting. core.setSafeMode(safeMode) Set the safe mode setting. Sets or unsets kern.smp.disabled, hw.ata.ata_dma, hw.ata.atapi_dma, kern.eventtimer.periodic, and 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 dis- played 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 en- vironment change or a potential change in ei- ther kernel or kernels. core.hasFeature(featureName) Checks whether the named featureName is en- abled in the current loader. This is specif- ically used for detecting capabilities of the loaded loader binary, so that one can reason- ably 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 ver- bose 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. core.deepCopyTable(tbl) Recursively deep copies tbl and returns the result. core.popFrontTable(tbl) Pops the front element off of tbl, and re- turns 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 ele- ment and an empty table. This will not oper- ate on truly associative tables; numeric in- dices 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.3 March 29, 2025 CORE.LUA(8)
NAME | DESCRIPTION | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=core.lua&sektion=8&manpath=FreeBSD+14.3-RELEASE+and+Ports>