summaryrefslogtreecommitdiff
path: root/vmdebootstrap
diff options
context:
space:
mode:
authorNeil Williams <codehelp@debian.org>2015-05-02 20:29:02 +0100
committerNeil Williams <codehelp@debian.org>2015-05-02 20:29:02 +0100
commit3c3fc0a3b29b3b3a3106ddad048f2f4e73a9413c (patch)
tree2cf29b87e9cff2995bd963628a5d24c55ca2d3ca /vmdebootstrap
parente0a777ee22ededa1b03aeb6ba13c29a7f9a85e44 (diff)
downloadvmdebootstrap-3c3fc0a3b29b3b3a3106ddad048f2f4e73a9413c.tar.gz
Only configure console if serial-console is set
Closes: #782304 Adapted patch from Jan Gerber <j@mailb.org>
Diffstat (limited to 'vmdebootstrap')
-rwxr-xr-xvmdebootstrap24
1 files changed, 14 insertions, 10 deletions
diff --git a/vmdebootstrap b/vmdebootstrap
index 4d0ce90..8d90dd4 100755
--- a/vmdebootstrap
+++ b/vmdebootstrap
@@ -599,6 +599,18 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
with open(inittab, 'a') as f:
f.write('\nS0:23:respawn:%s\n' % serial_command)
+ def _grub_serial_console(self, rootdir):
+ cmdline = 'GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=tty1 console=ttyS0,38400n8"'
+ terminal = 'GRUB_TERMINAL="serial gfxterm"'
+ command = 'GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --parity=no --stop=1"'
+ grub_cfg = os.path.join(rootdir, 'etc', 'default', 'grub')
+ logging.debug("Allowing serial output in grub config %s", grub_cfg)
+ with open(grub_cfg, 'a+') as cfg:
+ cfg.write("# %s serial support\n" % os.path.basename(__file__))
+ cfg.write("%s\n" % cmdline)
+ cfg.write("%s\n" % terminal)
+ cfg.write("%s\n" % command)
+
def install_grub2(self, rootdev, rootdir):
self.message("Configuring grub2")
# rely on kpartx using consistent naming to map loop0p1 to loop0
@@ -609,17 +621,9 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
'%s' % os.path.join(rootdir, 'proc')])
self.runcmd(['mount', '/sys', '-t', 'sysfs', '-obind',
'%s' % os.path.join(rootdir, 'sys')])
+ if self.settings['serial-console']:
+ self._grub_serial_console(rootdir)
- cmdline = 'GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=tty1 console=ttyS0,38400n8"'
- terminal = 'GRUB_TERMINAL="serial gfxterm"'
- command = 'GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --parity=no --stop=1"'
- grub_cfg = os.path.join(rootdir, 'etc', 'default', 'grub')
- logging.debug("Allowing serial output in grub config %s", grub_cfg)
- with open(grub_cfg, 'a+') as cfg:
- cfg.write("# %s serial support\n" % os.path.basename(__file__))
- cfg.write("%s\n" % cmdline)
- cfg.write("%s\n" % terminal)
- cfg.write("%s\n" % command)
try:
self.runcmd(['chroot', rootdir, 'update-grub'])
self.runcmd(['chroot', rootdir, 'grub-install', install_dev])