#
74a28cf6 |
| 18-Sep-2024 |
Colin Percival <cperciva@FreeBSD.org> |
loader: Load platform entropy even without menu
In 5c73b3e0a3db calls to core.loadEntropy were added to core.boot and core.autoboot; but neither of those is invoked if we disable the "beastie" menu.
loader: Load platform entropy even without menu
In 5c73b3e0a3db calls to core.loadEntropy were added to core.boot and core.autoboot; but neither of those is invoked if we disable the "beastie" menu. Add a core.loadEntropy call to the no-menu path.
Reviewed by: imp MFC after: 1 week Sponsored by: Amazon Fixes: 5c73b3e0a3db ("Add support for getting early entropy from UEFI") Differential Revision: https://reviews.freebsd.org/D46637
show more ...
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
9636a145 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line lua tag
Remove /^--\n--\s*\$FreeBSD\$.*$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
73531a2a |
| 27-Mar-2020 |
Ryan Moeller <freqlabs@FreeBSD.org> |
loader: Fully reset terminal settings, not just colors
Reviewed by: kevans Reviewed by: tsoome Approved by: mav (mentor) MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https:
loader: Fully reset terminal settings, not just colors
Reviewed by: kevans Reviewed by: tsoome Approved by: mav (mentor) MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D21733
show more ...
|
#
051669e8 |
| 25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r356931 through r357118.
|
#
59ba5b1d |
| 25-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
loader.lua: re-arrange to load local.lua *after* config loading
The major problem with the current ordering is that loader.conf may contain all of the magic we need to actually setup the console, so
loader.lua: re-arrange to load local.lua *after* config loading
The major problem with the current ordering is that loader.conf may contain all of the magic we need to actually setup the console, so loading local.lua prior to that can make it excessively difficult and annoying to debug (whoops, sorry Ravi & Warner).
The new ordering has some implications, but I suspect they are a non-issue. The first is that it's no longer possible for the local module to inject any logic prior to loading config -- I suspect no one has relied on this. The second implication is that the config.loaded hook is now useless, as the local module will always be included after that hook would have fired.
For config.loaded, I will opt to leave it in, just in case we add an early point for local lua to get injected or in case one wants to schedule some deferred logic in a custom loader.lua. The overhead of having it if no hooks will be invoked is relatively minimal.
Diagnosed by: imp Reported by: imp, rpokala (most likely) MFC after: 3 days
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
3af64f03 |
| 11-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338392 through r338594.
|
#
ca703fe9 |
| 30-Aug-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: fix color usage
Resetting to the default color scheme was done prior to reading the config. This is bogus; colors may only be declined by the user with the loader.conf(5) variable "loader
lualoader: fix color usage
Resetting to the default color scheme was done prior to reading the config. This is bogus; colors may only be declined by the user with the loader.conf(5) variable "loader_color", so such a request for no color will not be completely honored as we reset to the default color scheme unconditionally.
Approved by: re (rgrimes)
show more ...
|
Revision tags: release/11.2.0 |
|
#
5d279164 |
| 12-Jun-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: More black-on-white fixes
To recap the problem: with a black-on-white xterm, the menu draws terribly. Ideally, we would try our best for a white-on-black context for the menu since graphi
lualoader: More black-on-white fixes
To recap the problem: with a black-on-white xterm, the menu draws terribly. Ideally, we would try our best for a white-on-black context for the menu since graphics and whatnot might not be tested for other setups and there's no reasonable way to sample the terminal at this point for the used color scheme.
This commit attempts to address that further in two ways: - Instead of issuing CSI bg/fg resets (CSI 39m and CSI 49m respectively for "default"), issue CSI bg/fg escape sequences for our expected color scheme - Reset to *our* default color scheme before we even attempt to load the local module, so that we personally don't have any earlier text with the console default color scheme.
Reported by: emaste (again)
show more ...
|
#
814a016d |
| 06-Apr-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Fix menu skipping with loader.conf(5) vars
Earlier efforts to stop loading the menu broke the ability to skip the menu with, e.g., beastie_disable in loader.conf(5) as it was decided befo
lualoader: Fix menu skipping with loader.conf(5) vars
Earlier efforts to stop loading the menu broke the ability to skip the menu with, e.g., beastie_disable in loader.conf(5) as it was decided before configuration was read.
Defer bringing in the menu module until we've loaded configuration so that we can make a more informed decision on whether the menu should be skipped or not.
show more ...
|
#
07faaf78 |
| 26-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Implement try_include and use it for including the local module
This provides a way to optionally include a module without having to wrap it in filesystem checks. try_include is a little
lualoader: Implement try_include and use it for including the local module
This provides a way to optionally include a module without having to wrap it in filesystem checks. try_include is a little more robust, using the lua search path instead of forcing us to explicitly consider all of the places we could want to include a module. Errors are still generally raised from trying to load the module, but ENOENT will not get raised unless we're doing a verbose load.
This will also be used to split out logo/brand graphics into their own files so that we can safely scale up the number of graphics included without worrying about the extra memory consumption- opting to lazily load graphics instead.
Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D14658
show more ...
|
#
5f8cfbe1 |
| 21-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
UEFI: Ditch console mode setting, choose optimal GOP mode later in boot
boot1 is too early to be deciding a good resolution. Console modes don't map cleanly/predictably to actual screen resolutions,
UEFI: Ditch console mode setting, choose optimal GOP mode later in boot
boot1 is too early to be deciding a good resolution. Console modes don't map cleanly/predictably to actual screen resolutions, and GOP does not reflect the actual screen resolution after a console mode change. Rip it out.
Add an efi-autoresizecons command to loader to choose an optimal screen resolution based on the current environment. We'll explicitly execute this later, preferably before we draw anything of value but after we load config and pick up any tunables we may need to decide where we're going.
This method also allows us to actually pass the correct framebuffer information on to the kernel.
UGA autoresizing is not implemented because it doesn't have the kind of mode enumeration that GOP does. If an interested person with relevant hardware could get in contact, we can take a look at implementing UGA autoresize.
This effectively "fixes" the breakage caused by r327058, but doesn't actually set the resolution correctly until the interpreter calls efi-autoresizcons. The lualoader version of this has been included for reference; the forth equivalent will follow.
Reviewed by: imp (with some hestitation), manu Differential Revision: https://reviews.freebsd.org/D14788
show more ...
|
#
85efc91a |
| 19-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Setup default color scheme if we're using colors
The console may have been set for different colors before lualoader kicks in; notably, a black-on-white color scheme is not necessarily wh
lualoader: Setup default color scheme if we're using colors
The console may have been set for different colors before lualoader kicks in; notably, a black-on-white color scheme is not necessarily what we're expecting.
While here, make color.default() a composition of color.escape() instead of rewriting the escape sequence to make it more obvious what it's achieving: a white-on-black color scheme with no attributes set.
Reported by: emaste, whose eyes may rest easily
show more ...
|
#
ee15e552 |
| 05-Mar-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Add note about importance of including the cli module early
|
#
9937e979 |
| 26-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Re-work menu skipping bits
This is motivated by a want to reduce heap usage if the menu is being skipped. Currently, the menu module must be loaded regardless of whether it's being skippe
lualoader: Re-work menu skipping bits
This is motivated by a want to reduce heap usage if the menu is being skipped. Currently, the menu module must be loaded regardless of whether it's being skipped or not, which adds a cool ~50-100KB worth of memory usage.
Move the menu skip logic out to core (and remove a debug print), then check in loader.lua if we should be skipping the menu and avoid loading the menu module entirely if so. This keeps our memory usage below ~115KB for a boot with the menu stripped.
Also worth noting: with this change, we no longer explicitly invoke autoboot if we're skipping the menu. Instead, we let the standard loader behavior apply: try to autoboot if we need to, then drop to a loader prompt if not or if the autoboot sequence is interrupted. The only thing we still handle before dropping to the loader autoboot sequence is loadelf(), so that we can still apply any of our kernel loading behavior.
show more ...
|
#
72e39d71 |
| 23-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
Add SPDX tags to lua files
|
#
5144243a |
| 23-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Drop unused return values; we'll only use the first
|
#
e2df27e3 |
| 22-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Address some 'luacheck' concerns
luacheck pointed out an assortment of issues, ranging from non-standard globals being created as well as unused parameters, variables, and redundant assig
lualoader: Address some 'luacheck' concerns
luacheck pointed out an assortment of issues, ranging from non-standard globals being created as well as unused parameters, variables, and redundant assignments.
Using '_' as a placeholder for values unused (whether it be parameters unused or return values unused, assuming multiple return values) feels clean and gets the point across, so I've adopted it. It also helps flag candidates for cleanup later in some of the lambdas I've created, giving me an easy way to re-evaluate later if we're still not using some of these features.
show more ...
|
#
e37f4622 |
| 22-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Split cli bits out into a cli module
This module will, in the not-so-distant future, grow functionality for reducing boilerplate in functions that implement cli commands. It will likely a
lualoader: Split cli bits out into a cli module
This module will, in the not-so-distant future, grow functionality for reducing boilerplate in functions that implement cli commands. It will likely also house most in-tree cli commands.
show more ...
|
#
48230b85 |
| 21-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Bring in local.lua module if it exists
Provide a way for out-of-tree users of lualoader to patch into the loader system without having to modify our distributed scripts.
Do note that we
lualoader: Bring in local.lua module if it exists
Provide a way for out-of-tree users of lualoader to patch into the loader system without having to modify our distributed scripts.
Do note that we can't really offer any API compatibility guarantees at this time due to the evolving nature of lualoader right now.
This still has some utility as local modules may add commands at the loader prompt without relying heavily on lualoader features- this specific functionality is less likely to change without more careful consideration.
Reviewed by: cem (earlier version) Differential Revision: https://reviews.freebsd.org/D14439
show more ...
|
#
9f71d421 |
| 21-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Drop excessive parenthesizing
This was also a convenience convention (for me) that is not very lua-tic. Drop it.
I've maintained some parentheses where I'd prefer them, for example, 'if
lualoader: Drop excessive parenthesizing
This was also a convenience convention (for me) that is not very lua-tic. Drop it.
I've maintained some parentheses where I'd prefer them, for example, 'if x or y or (z and w) then', but these situations are far and few between.
show more ...
|
#
aedd6be5 |
| 21-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Drop terminating semicolons
This was previously chosen out of convenience, as we had a mixed style and needed to be consistent. I started learning Lua on Friday, so I switched everything
lualoader: Drop terminating semicolons
This was previously chosen out of convenience, as we had a mixed style and needed to be consistent. I started learning Lua on Friday, so I switched everything over. It is not a very lua-nic convention, though, so drop it.
Excessive parenthesizing around conditionals is next on the chopping block.
show more ...
|
#
62daefa5 |
| 20-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Replace invalid construct with valid construct
It only worked by coincidence, but it did work. Store varargs in a table instead and work off of that.
|
#
2765f3ac |
| 20-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Eliminate global namespace pollution in loader.lua
|
#
afad05b2 |
| 20-Feb-2018 |
Kyle Evans <kevans@FreeBSD.org> |
lualoader: Add ability to intercept cli commands
If we failed to execute the input line as pure lua, run the command through parse for consistent argument parsing. Pass the parsed arguments through
lualoader: Add ability to intercept cli commands
If we failed to execute the input line as pure lua, run the command through parse for consistent argument parsing. Pass the parsed arguments through to a global "cli_execute" written in Lua, which is expected to either handle it or pass it back through to interp_builtin_cmd (via loader.command).
lua-handled cli commands will then exist as globals in whatever module they most belong in, and invocations at the loader prompt will magically dispatch to them if they exist.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14450
show more ...
|