1088b4f5fSWarner Losh-- 24d846d26SWarner Losh-- SPDX-License-Identifier: BSD-2-Clause 372e39d71SKyle Evans-- 4088b4f5fSWarner Losh-- Copyright (c) 2015 Pedro Souza <pedrosouza@freebsd.org> 5afad05b2SKyle Evans-- Copyright (c) 2018 Kyle Evans <kevans@FreeBSD.org> 6088b4f5fSWarner Losh-- All rights reserved. 7088b4f5fSWarner Losh-- 8088b4f5fSWarner Losh-- Redistribution and use in source and binary forms, with or without 9088b4f5fSWarner Losh-- modification, are permitted provided that the following conditions 10088b4f5fSWarner Losh-- are met: 11088b4f5fSWarner Losh-- 1. Redistributions of source code must retain the above copyright 12088b4f5fSWarner Losh-- notice, this list of conditions and the following disclaimer. 13088b4f5fSWarner Losh-- 2. Redistributions in binary form must reproduce the above copyright 14088b4f5fSWarner Losh-- notice, this list of conditions and the following disclaimer in the 15088b4f5fSWarner Losh-- documentation and/or other materials provided with the distribution. 16088b4f5fSWarner Losh-- 17088b4f5fSWarner Losh-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18088b4f5fSWarner Losh-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19088b4f5fSWarner Losh-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20088b4f5fSWarner Losh-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21088b4f5fSWarner Losh-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22088b4f5fSWarner Losh-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23088b4f5fSWarner Losh-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24088b4f5fSWarner Losh-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25088b4f5fSWarner Losh-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26088b4f5fSWarner Losh-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27088b4f5fSWarner Losh-- SUCH DAMAGE. 28088b4f5fSWarner Losh-- 29088b4f5fSWarner Losh 30ee15e552SKyle Evans-- The cli module should be included first here. Some of the functions that it 31ee15e552SKyle Evans-- defines are necessary for the Lua-based loader to operate in general. 32ee15e552SKyle Evans-- Other modules will also need some of the functions it defines to safely 33ee15e552SKyle Evans-- execute loader commands. 34e2df27e3SKyle Evansrequire("cli") 3585efc91aSKyle Evanslocal color = require("color") 369937e979SKyle Evanslocal core = require("core") 37aedd6be5SKyle Evanslocal config = require("config") 38aedd6be5SKyle Evanslocal password = require("password") 3948230b85SKyle Evans 40ca703fe9SKyle Evansconfig.load() 4159ba5b1dSKyle Evans 425f8cfbe1SKyle Evansif core.isUEFIBoot() then 435f8cfbe1SKyle Evans loader.perform("efi-autoresizecons") 445f8cfbe1SKyle Evansend 4573531a2aSRyan Moeller-- Our console may have been setup with different settings before we get 4673531a2aSRyan Moeller-- here, so make sure we reset everything back to default. 4773531a2aSRyan Moellerif color.isEnabled() then 4873531a2aSRyan Moeller printc(core.KEYSTR_RESET) 4973531a2aSRyan Moellerend 5073531a2aSRyan Moellertry_include("local") 51aedd6be5SKyle Evanspassword.check() 5273531a2aSRyan Moellerif not core.isMenuSkipped() then 5373531a2aSRyan Moeller require("menu").run() 549937e979SKyle Evanselse 559937e979SKyle Evans -- Load kernel/modules before we go 569937e979SKyle Evans config.loadelf() 57*74a28cf6SColin Percival -- Load platform entropy if possible 58*74a28cf6SColin Percival core.loadEntropy() 599937e979SKyle Evansend 60