Report the kernel console on the boot screen
Report what console the boot loader is telling the kernel to use: o Dual (Serial Primary) o Dual (Video Primary) o Serial o Video This allows the user to interrupt the boot and tweak the cosnole, if needed, in a trivial way. Useful for installs where the default selected may not be quite what you want, or when you are running a dual setup and need to toggle over to the other console being primary. The 'c'/'C' keys will do the cycling through the consoles. Note: you'll still have to drop into the loader to set details about serial consoles. And this doesn't change the console the loader is using. Reviewed by: kevans@ MFC After: 3 days Differential Revision: https://reviews.freebsd.org/D26573
This commit is contained in:
parent
fbc6840bae
commit
8f3b36103b
@ -451,6 +451,40 @@ function core.popFrontTable(tbl)
|
|||||||
return first_value, new_tbl
|
return first_value, new_tbl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function core.getConsoleName()
|
||||||
|
if loader.getenv("boot_multicons") ~= nil then
|
||||||
|
if loader.getenv("boot_serial") ~= nil then
|
||||||
|
return "Dual (Serial primary)"
|
||||||
|
else
|
||||||
|
return "Dual (Video primary)"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if loader.getenv("boot_serial") ~= nil then
|
||||||
|
return "Serial"
|
||||||
|
else
|
||||||
|
return "Video"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function core.nextConsoleChoice()
|
||||||
|
if loader.getenv("boot_multicons") ~= nil then
|
||||||
|
if loader.getenv("boot_serial") ~= nil then
|
||||||
|
loader.unsetenv("boot_serial")
|
||||||
|
else
|
||||||
|
loader.unsetenv("boot_multicons")
|
||||||
|
loader.setenv("boot_serial", "YES")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if loader.getenv("boot_serial") ~= nil then
|
||||||
|
loader.unsetenv("boot_serial")
|
||||||
|
else
|
||||||
|
loader.setenv("boot_multicons", "YES")
|
||||||
|
loader.setenv("boot_serial", "YES")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
recordDefaults()
|
recordDefaults()
|
||||||
hook.register("config.reloaded", core.clearCachedKernels)
|
hook.register("config.reloaded", core.clearCachedKernels)
|
||||||
return core
|
return core
|
||||||
|
@ -244,6 +244,7 @@ menu.welcome = {
|
|||||||
boot_entry_2,
|
boot_entry_2,
|
||||||
menu_entries.prompt,
|
menu_entries.prompt,
|
||||||
menu_entries.reboot,
|
menu_entries.reboot,
|
||||||
|
menu_entries.console,
|
||||||
{
|
{
|
||||||
entry_type = core.MENU_SEPARATOR,
|
entry_type = core.MENU_SEPARATOR,
|
||||||
},
|
},
|
||||||
@ -284,6 +285,16 @@ menu.welcome = {
|
|||||||
end,
|
end,
|
||||||
alias = {"s", "S"},
|
alias = {"s", "S"},
|
||||||
},
|
},
|
||||||
|
console = {
|
||||||
|
entry_type = core.MENU_ENTRY,
|
||||||
|
name = function()
|
||||||
|
return color.highlight("C") .. "ons: " .. core.getConsoleName()
|
||||||
|
end,
|
||||||
|
func = function()
|
||||||
|
core.nextConsoleChoice()
|
||||||
|
end,
|
||||||
|
alias = {"c", "C"},
|
||||||
|
},
|
||||||
prompt = {
|
prompt = {
|
||||||
entry_type = core.MENU_RETURN,
|
entry_type = core.MENU_RETURN,
|
||||||
name = color.highlight("Esc") .. "ape to loader prompt",
|
name = color.highlight("Esc") .. "ape to loader prompt",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user