|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0 |
|
| #
3630506b |
| 21-Dec-2020 |
Toomas Soome <[email protected]> |
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size. Add command loadfont (set font by file) and variable screen.font (set font by size). Pass loaded font to kernel.
Export variables: screen.height screen.width screen.depth
Add gfx primitives to draw the screen and put png image on the screen. Rework menu draw to iterate list of consoles to enamble device specific output.
Probably something else I forgot...
Relnotes: yes Differential Revision: https://reviews.freebsd.org/D27420
show more ...
|
|
Revision tags: release/12.2.0, release/11.4.0 |
|
| #
63172bf6 |
| 02-Nov-2019 |
Kyle Evans <[email protected]> |
liblua: add loader.lua_path
As described previously, loader.lua_path is absolute path where scripts are installed. A future commit will use this to build paths for dofile in try_include, rather than
liblua: add loader.lua_path
As described previously, loader.lua_path is absolute path where scripts are installed. A future commit will use this to build paths for dofile in try_include, rather than the current pcall/require setup that makes it more difficult to coordinate loader aborts from local.lua -- we do not need the flexibility of require(), and local.lua is in-fact not a 'module-like' file as we will not be referencing anything from it.
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
| #
3078173c |
| 25-Oct-2018 |
Kyle Evans <[email protected]> |
lualoader: Improve module loading diagnostics
Some fixes:
- Maintain historical behavior more accurately w.r.t verbose_loading; verbose_loading strictly prints "${module_name...}" and later "fail
lualoader: Improve module loading diagnostics
Some fixes:
- Maintain historical behavior more accurately w.r.t verbose_loading; verbose_loading strictly prints "${module_name...}" and later "failed!" or "ok" based on load success - With or without verbose_loading, dump command_errbuf on load failure. This usually happens prior to ok/failed if we're verbose_loading
Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D17694
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
697f127d |
| 07-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Expose loader.parse and add cli_execute_unparsed
This will be used for scenarios where the command to execute is coming in via the environment (from, for example, loader.conf(5)) and is t
lualoader: Expose loader.parse and add cli_execute_unparsed
This will be used for scenarios where the command to execute is coming in via the environment (from, for example, loader.conf(5)) and is thus not necessarily trusted.
cli_execute_unparsed will immediately be used for handling module_{before,after,error} as well as menu_timeout_command. We still want to offer these variables the ability to execute Lua-intercepted loader commands, but we don't want them to be able to execute arbitrary Lua.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14580
show more ...
|
| #
dc4e0284 |
| 03-Mar-2018 |
Kyle Evans <[email protected]> |
liblua: Add loader.interpret
This allows lua to pass back a command string to be executed as if it were typed at the loader prompt- loader tries to execute the string first as pure lua, then parses
liblua: Add loader.interpret
This allows lua to pass back a command string to be executed as if it were typed at the loader prompt- loader tries to execute the string first as pure lua, then parses it and gives lua a chance to intercept before it tries to execute it itself.
This will be used to implement menu_timeout_command, among other things, which *should* be used to execute basic loader commands independent of the chosen interpreter.
show more ...
|
| #
a16664ce |
| 02-Mar-2018 |
Kyle Evans <[email protected]> |
liblua: Use putc instead of printf for printc
printc does not need the features or the overhead of printf. It does not take formatting strings, and it pipes the single string argument through an "%s
liblua: Use putc instead of printf for printc
printc does not need the features or the overhead of printf. It does not take formatting strings, and it pipes the single string argument through an "%s" format.
Instead, use putc directly. This pipes the string through in its entirety as a series of 'unsigned char's, generally straight to the console emulator.
Discussed with: tsoome
show more ...
|
| #
59cccc5b |
| 02-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Register loader.printc as global printc
|
| #
82c85a42 |
| 24-Feb-2018 |
Kyle Evans <[email protected]> |
liblua: Implement write support
Write support (even if it only works on UFS) will be needed for nextboot functionality.
Reviewed by: cem, imp Differential Revision: https://reviews.freebsd.org/D144
liblua: Implement write support
Write support (even if it only works on UFS) will be needed for nextboot functionality.
Reviewed by: cem, imp Differential Revision: https://reviews.freebsd.org/D14478
show more ...
|
| #
2630b89b |
| 20-Feb-2018 |
Kyle Evans <[email protected]> |
liblua: Add loader.machine and loader.machine_arch properties
Provisioned from MACHINE/MACHINE_ARCH on the system, expose loader.machine and loader.machine_arch respectively.
These may be used to h
liblua: Add loader.machine and loader.machine_arch properties
Provisioned from MACHINE/MACHINE_ARCH on the system, expose loader.machine and loader.machine_arch respectively.
These may be used to hide ACPI option on non-applicable archs.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14446
show more ...
|
| #
a83546e5 |
| 20-Feb-2018 |
Warner Losh <[email protected]> |
Implement loader.command
This is just like loader.perform, except it takes pre-parsed arguments.
Review: https://reviews.freebsd.org/D14448
|
| #
929c9bd0 |
| 18-Feb-2018 |
Kyle Evans <[email protected]> |
liblua: Fix missing '}' in lutil.c after r329499
|
| #
6771d4a8 |
| 18-Feb-2018 |
Conrad Meyer <[email protected]> |
interp_lua: Register io/loader with regular Lua module system
Reviewed by: kevans Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D14421
|
| #
f276951a |
| 17-Feb-2018 |
Conrad Meyer <[email protected]> |
liblua: Clean up io/loader C module registration
Utilize registration APIs Lua provides to make module definition a little cleaner.
Discussed with: imp Sponsored by: Dell EMC Isilon
|
| #
7cafeaa1 |
| 12-Feb-2018 |
Warner Losh <[email protected]> |
Add Lua as a scripting langauge to /boot/loader
liblua glues the lua run time into the boot loader. It implements all the runtime routines that lua expects. In addition, it has a few standard 'C' he
Add Lua as a scripting langauge to /boot/loader
liblua glues the lua run time into the boot loader. It implements all the runtime routines that lua expects. In addition, it has a few standard 'C' headers that nueter various aspects of the LUA build that are too specific to lua to be in libsa. Many refinements from the original code to improve implementation and the number of included lua libraries. Use int64_t for lua_Number. Have "/boot/lua" be the default module path. Numerous cleanups from the original GSoC project, including hacking libsa to allow lua to be built with only one change outside luaconf.h.
Add the final bit of lua glue to bring in liblua and plug into the multiple interpreter framework, previously committed.
Add LOADER_LUA option, currently off by default.
Presently, this is an experimental option. One must opt-in to using this by defining WITH_LOADER_LUA and WITHOUT_FORTH. It's been lightly tested, so keep a backup copy of your old loader handy. The menu code, coming in the next commit, hasn't been exhaustively tested. A LUA boot loader is 60k larger than a FORTH one, which is 80k larger than a no-interpreter one. Subtle changes in size may tip things past some subtle limit (the binary is ~430k now when built with LUA). A future version may offer coexistance.
Bump FreeBSD version to 1200058 to mark the milestone.
Pedro Souza's 2014 Summer of Code project. Rui Paulo, Pedro Arthur, Zakary Nafziger and Wojciech A. Koszek also contributed. Warner Losh reworked it extensively into its current form.
Obtained from: https://wiki.freebsd.org/SummerOfCode2014/LuaLoader Sponsored by: Google Summer of Code Relnotes: Yes MFC After: 1 month Differential Review: https://reviews.freebsd.org/D14295
show more ...
|