# SPDX-License-Identifier: GPL-2.0+ # Copyright (c) 2018 Google, Inc # Written by Simon Glass # # Entry-type module for U-Boot ELF image # from entry import Entry from blob import Entry_blob import fdt_util import tools class Entry_u_boot_elf(Entry_blob): """U-Boot ELF image Properties / Entry arguments: - filename: Filename of u-boot (default 'u-boot') This is the U-Boot ELF image. It does not include a device tree but can be relocated to any address for execution. """ def __init__(self, section, etype, node): Entry_blob.__init__(self, section, etype, node) self._strip = fdt_util.GetBool(self._node, 'strip') def ReadBlobContents(self): if self._strip: uniq = self.GetUniqueName() out_fname = tools.GetOutputFilename('%s.stripped' % uniq) tools.WriteFile(out_fname, tools.ReadFile(self._pathname)) tools.Run('strip', out_fname) self.SetContents(tools.ReadFile(out_fname)) else: self.SetContents(tools.ReadFile(self._pathname)) return True def GetDefaultFilename(self): return 'u-boot'