@@ -58,7 +58,7 @@ def __init__(self):
5858 self .timeout = ''
5959
6060 self ._default_kernel_path = None
61- self ._dtb = None
61+ self ._dtbs = []
6262 self ._efi_img = None
6363 self ._efi_vars = None
6464 self ._initrd_arch = None
@@ -72,21 +72,22 @@ def __init__(self):
7272 self ._ram = '512m'
7373
7474 def _find_dtb (self ):
75- if not self ._dtb :
76- raise RuntimeError ('No dtb set?' )
75+ if not self ._dtbs :
76+ raise RuntimeError ('No dtbs set?' )
7777 if not self .kernel :
7878 raise RuntimeError ('Cannot locate dtb without kernel' )
7979
8080 # If we are in a boot folder, look for them in the dts folder in it.
8181 # Otherwise, assume there is a 'dtbs' folder in the same folder as the
8282 # kernel image (tuxmake)
8383 dtb_dir = 'dts' if self .kernel .parent .name == 'boot' else 'dtbs'
84- if not (dtb := Path (self .kernel .parent , dtb_dir , self ._dtb )).exists ():
85- raise FileNotFoundError (
86- f"dtb ('{ self ._dtb } ') is required for booting but it could not be found at expected location ('{ dtb } ')" ,
87- )
84+ for dtb_loc in self ._dtbs :
85+ if (dtb := Path (self .kernel .parent , dtb_dir , dtb_loc )).exists ():
86+ return dtb
8887
89- return dtb
88+ raise FileNotFoundError (
89+ f"dtb is required for booting but it could not be found at expected locations ('{ self ._dtbs } ')"
90+ )
9091
9192 def _get_default_smp_value (self ):
9293 if not self .kernel_dir :
@@ -278,7 +279,7 @@ def run(self):
278279 self .cmdline .append ('nokaslr' )
279280 if self .cmdline :
280281 self ._qemu_args += ['-append' , ' ' .join (self .cmdline )]
281- if self ._dtb :
282+ if self ._dtbs :
282283 self ._qemu_args += ['-dtb' , self ._find_dtb ()]
283284 self ._qemu_args += ['-kernel' , self .kernel ]
284285 self ._qemu_args += ['-initrd' , self ._prepare_initrd ()]
@@ -331,7 +332,9 @@ def __init__(self):
331332
332333 self .cmdline .append ('earlycon' )
333334
334- self ._dtb = 'aspeed-bmc-opp-palmetto.dtb'
335+ self ._dtbs = [
336+ 'aspeed/aspeed-bmc-opp-palmetto.dtb' , 'aspeed-bmc-opp-palmetto.dtb'
337+ ]
335338 self ._machine = 'palmetto-bmc'
336339
337340
@@ -340,7 +343,9 @@ class ARMV6QEMURunner(ARMQEMURunner):
340343 def __init__ (self ):
341344 super ().__init__ ()
342345
343- self ._dtb = 'aspeed-bmc-opp-romulus.dtb'
346+ self ._dtbs = [
347+ 'aspeed/aspeed-bmc-opp-romulus.dtb' , 'aspeed-bmc-opp-romulus.dtb'
348+ ]
344349 self ._machine = 'romulus-bmc'
345350
346351
0 commit comments