]> code.ossystems Code Review - openembedded-core.git/commitdiff
runqemu: work without SERIAL_CONSOLES being defined
authorJon Mason <jdmason@kudzu.us>
Tue, 2 Nov 2021 19:59:12 +0000 (15:59 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 3 Nov 2021 10:12:01 +0000 (10:12 +0000)
Not all machine definitions need to have SERIAL_CONSOLES defined, but
runqemu currently will fail with the following script error if not
present:

Traceback (most recent call last):
  File "/builder/meta-arm/poky/scripts/runqemu", line 1604, in main
    config.setup_final()
  File "/builder/meta-arm/poky/scripts/runqemu", line 1446, in setup_final
    self.setup_serial()
  File "/builder/meta-arm/poky/scripts/runqemu", line 1381, in setup_serial
    self.kernel_cmdline_script += ' console=%s' %entry.split(';')[1]
IndexError: list index out of range

To get around this issue, add a sanity check to runqemu to avoid the
parsing of SERIAL_CONSOLES if empty.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu

index 1143509975d0d9b28a4fc3dc071f5337133b5fc8..d4f0888f8da2092694eb0ba2a3948da72086bd93 100755 (executable)
@@ -1376,7 +1376,7 @@ class BaseConfig(object):
 
     def setup_serial(self):
         # Setup correct kernel command line for serial
-        if self.serialstdio == True or self.serialconsole == True or self.nographic == True or self.tcpserial_portnum:
+        if self.get('SERIAL_CONSOLES') and (self.serialstdio == True or self.serialconsole == True or self.nographic == True or self.tcpserial_portnum):
             for entry in self.get('SERIAL_CONSOLES').split(' '):
                 self.kernel_cmdline_script += ' console=%s' %entry.split(';')[1]