When using binman with the '-a spl-dtb=y' flag, if the SPL blob is not found, binman throws a cryptic error message: binman: 'NoneType' object has no attribute 'startswith'
Let's improve the error message to explicitly state which SPL blob is missing. This is particularly useful when binman is used as a standalone tool outside the U-Boot source tree. Signed-off-by: Jérémie Dautheribes <jeremie.dautheri...@bootlin.com> --- tools/binman/etype/blob_dtb.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/binman/etype/blob_dtb.py b/tools/binman/etype/blob_dtb.py index b234323d7cf..772579394d4 100644 --- a/tools/binman/etype/blob_dtb.py +++ b/tools/binman/etype/blob_dtb.py @@ -8,6 +8,8 @@ from binman.entry import Entry from binman.etype.blob import Entry_blob from dtoc import fdt_util +import errno +import os import struct # This is imported if needed @@ -42,6 +44,9 @@ class Entry_blob_dtb(Entry_blob): """Get the device-tree from the list held by the 'state' module""" self._filename = self.GetDefaultFilename() self._pathname, _ = self.FdtContents(self.GetFdtEtype()) + if self._pathname is None: + raise FileNotFoundError(errno.ENOENT, + os.strerror(errno.ENOENT), self._filename) return super().ReadBlobContents() def ProcessContents(self): -- 2.43.0