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

FreeBSD Manual Pages

  
 
  

home | help
CORE.LUA(8)		    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 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
				  setting.

	     core.getACPIPresent(checkingSystemDefaults)
				  Check	 whether  ACPI	is present.  This will
				  only be accurate for	i386-compatible	 load-
				  ers,	including  non-UEFI  loaders  on amd64
				  systems.  If checkingSystemDefaults is true,
				  ignore     the     current	 value	    of
				  hint.acpi.0.disabled.	   Otherwise,	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
				  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
				  environment  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  cur-
				  rent 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.

	     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 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
				  element  and	an empty table.	 This will not
				  operate on truly associative tables; numeric
				  indices are required.

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	13.2			March 21, 2018			   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.0-RELEASE+and+Ports>

home | help