'%s' % os.path.join(rootdir, 'proc')])
self.runcmd(['mount', '/sys', '-t', 'sysfs', '-obind',
'%s' % os.path.join(rootdir, 'sys')])
+
+ 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])
self.message('Running customize script %s' % script)
logging.info("rootdir=%s image=%s", rootdir, self.settings['image'])
with open('/dev/tty', 'w') as tty:
- cliapp.runcmd([script, rootdir, self.settings['image']], stdout=tty, stderr=tty)
+ try:
+ cliapp.runcmd([script, rootdir, self.settings['image']], stdout=tty, stderr=tty)
+ except IOError as e:
+ subprocess.call([script, rootdir, self.settings['image']])
def create_tarball(self, rootdir):
# Create a tarball of the disk's contents