Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CORE.LUA(8)		  BSD 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 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.getACPIPresent(checkingSystemDefaults)
				Check whether ACPI is present.	This will only
				be accurate for	i386-compatible	loaders, in-
				cluding	non-UEFI loaders on amd64 systems.  If
				checkingSystemDefaults is true,	ignore the
				current	value of hint.acpi.0.disabled.	Other-
				wise, return true only if ACPI is both present
				and not	disabled.

	   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, hw.ata.wc, hw.eisa_slots,
				kern.eventtimer.periodic, and
				kern.geom.part.check_integrity.	 If safeMode
				is omitted, toggle the current safe mode set-
				ting.

	   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 envi-
				ronment	change or a potential change in	either
				kernel or kernels.

	   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.isSystem386()	Returns	true if	this bootloader	was compiled
				as an i386 binary.  This generally applies to
				i386 loaders as	well as	non-UEFI loaders on
				amd64.

	   core.deepCopyTable(tbl)
				Recursively deep copies	tbl and	returns	the
				result.

	   core.popFrontTable(tbl)
				Pops the front element off of 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 el-
				ement, this returns the	front element and an
				empty table.  This will	not operate on truly
				associative tables; numeric indices are	re-
				quired.

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>.

BSD				March 21, 2018				   BSD

NAME | DESCRIPTION | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=core.lua&sektion=8&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help