From 116b911dd317f86df40e5b3ff6137ac25b8ba737 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 5 Feb 2023 18:28:42 +0000 Subject: [PATCH] bootloaders: Enable serial console for GRUB if enabled Signed-off-by: Michael Tremer --- src/python/__init__.py | 3 +++ src/python/bootloaders.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/python/__init__.py b/src/python/__init__.py index 03edb7e..16c4d84 100644 --- a/src/python/__init__.py +++ b/src/python/__init__.py @@ -79,6 +79,9 @@ class Bricklayer(object): # Default timezone "timezone" : "UTC", + + # Enable the serial console + "serial-console" : False, } # Read OS information diff --git a/src/python/bootloaders.py b/src/python/bootloaders.py index 665daeb..883edfc 100644 --- a/src/python/bootloaders.py +++ b/src/python/bootloaders.py @@ -135,8 +135,16 @@ class Grub(Bootloader): "GRUB_DISABLE_RECOVERY" : "true", } - # XXX Handle serial console - conf["GRUB_TERMINAL_OUTPUT"] = "\"console\"" + # Enable the serial console + if self.bricklayer.settings.get("serial-console"): + conf |= { + "GRUB_TERMINAL_OUTPUT" : "\"serial console\"", + "GRUB_SERIAL_COMMAND" : "\"serial --unit=0 --speed=115200\”" + } + + # Otherwise enable a generic VGA console + else: + conf["GRUB_TERMINAL_OUTPUT"] = "\"console\"" # Write everything to file with self.bricklayer.open("/etc/default/grub", "w") as f: -- 2.47.3