diff --git a/dtbTool b/dtbTool index 2dcdd87..0c14a94 100644 --- a/dtbTool +++ b/dtbTool @@ -408,6 +408,16 @@ def write_padding(f, pagesize): if count != pagesize: output.write(b"".join([b'\x00' for x in range(count)])) +def find_dtb(indir): + flist = list() + for f in os.listdir(indir): + ff = os.path.join(indir, f) + if os.path.isfile(ff) and ff.endswith('.dtb'): + flist.append(ff) + elif os.path.isdir(ff): + flist.extend(find_dtb(ff)) + return flist + if __name__ == "__main__": usage = ("""%prog -o [options]""") parser = OptionParser(usage=usage) @@ -434,10 +444,7 @@ if __name__ == "__main__": pagesize = options.pagesize indir = args[0] - flist = [os.path.join(indir, f) - for f in os.listdir(indir) - if os.path.isfile(os.path.join(indir, f)) and - f.endswith('.dtb')] + flist = find_dtb(indir) records = [] for f in flist: