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

FreeBSD Manual Pages

  
 
  

home | help
LOADER(8)		    System Manager's Manual		     LOADER(8)

NAME
       loader -- kernel	bootstrapping final stage

DESCRIPTION
       The  program called loader is the final stage of	FreeBSD's kernel boot-
       strapping process.  It is responsible for bringing the  kernel,	kernel
       modules	and  other  files into memory.	It creates a set of sh(1) like
       environment variables that are passed to	the kernel.  It	executes  boot
       scripts	written	 in  one  of  several interpreters.  Together with the
       scripts,	it controls the	booting	process	and interaction	with the user.

       It provides a scripting language	that can be used to automate tasks, do
       pre-configuration or assist in  recovery	 procedures.   This  scripting
       language	is roughly divided in two main components.  The	smaller	one is
       a  set  of  commands designed for direct	use by the casual user,	called
       "builtin	commands" for historical reasons.  The main drive behind these
       commands	is user-friendliness.  The larger component is	the  scripting
       language	 built into the	boot loader.  FreeBSD provides three different
       interpreters: Forth, Lua	and Simple.  The Forth loader is based	on  an
       ANS  Forth  compatible Forth interpreter	based on FICL, by John Sadler.
       The Lua loader is a full	 Lua  interpreter  from	 https://www.lua.org/.
       The  Simple  loader  only interprets a list of builtin commands without
       any control structure.

       During initialization, loader will probe	for  a	console	 and  set  the
       console	variable,  or  set  it to serial console ("comconsole")	if the
       previous	boot stage used	that.  If multiple consoles are	selected, they
       will be listed separated	by spaces.  Then, devices are probed,  currdev
       and  loaddev  are set, and LINES	is set to 24.  Finally,	an interpreter
       specific	file will be executed.

BUILTIN	COMMANDS
       The  commands  common  to  all  interpreters  are  described   in   the
       loader_simp(8) "BUILTIN COMMANDS" section.

   BUILTIN ENVIRONMENT VARIABLES
       The  environment	 variables common to all interpreters are described in
       the loader_simp(8) "BUILTIN ENVIRONMENT VARIABLES" section.

SEE ALSO
       libsa(3), loader.conf(5), tuning(7), boot(8), btxld(8),	loader.efi(8),
       loader_4th(8), loader_lua(8), loader_simp(8)

HISTORY
       The  loader  first  appeared in FreeBSD 3.1.  The loader	scripting lan-
       guage changed to	Lua by default in FreeBSD 12.0.

AUTHORS
       The loader was written by Michael Smith <msmith@FreeBSD.org>.

       FICL was	written	by John	Sadler <john_sadler@alum.mit.edu>.

       Warner Losh <imp@FreeBSD.org> integrated	Lua into  the  tree  based  on
       initial work done by Pedro Souza	for the	2014 Google Summer of Code.

FreeBSD	13.2		      September	29, 2021		     LOADER(8)

NAME | DESCRIPTION | BUILTIN COMMANDS | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=loader&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help