For sandbox we want to put ELF files in the image since that is what we need to execute. Add support for this. Signed-off-by: Simon Glass <sjg@chromium.org>lime2-spi
parent
f8f8df6eb8
commit
fe1ae3ecc3
@ -0,0 +1,39 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
# Copyright (c) 2018 Google, Inc |
||||
# Written by Simon Glass <sjg@chromium.org> |
||||
# |
||||
# 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' |
@ -0,0 +1,24 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
# Copyright (c) 2018 Google, Inc |
||||
# Written by Simon Glass <sjg@chromium.org> |
||||
# |
||||
# Entry-type module for U-Boot SPL ELF image |
||||
# |
||||
|
||||
from entry import Entry |
||||
from blob import Entry_blob |
||||
|
||||
class Entry_u_boot_spl_elf(Entry_blob): |
||||
"""U-Boot SPL ELF image |
||||
|
||||
Properties / Entry arguments: |
||||
- filename: Filename of SPL u-boot (default 'spl/u-boot') |
||||
|
||||
This is the U-Boot SPL 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) |
||||
|
||||
def GetDefaultFilename(self): |
||||
return 'spl/u-boot-spl' |
@ -0,0 +1,14 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+ |
||||
/dts-v1/; |
||||
|
||||
/ { |
||||
#address-cells = <1>; |
||||
#size-cells = <1>; |
||||
|
||||
binman { |
||||
u-boot-elf { |
||||
}; |
||||
u-boot-spl-elf { |
||||
}; |
||||
}; |
||||
}; |
@ -0,0 +1,15 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+ |
||||
/dts-v1/; |
||||
|
||||
/ { |
||||
#address-cells = <1>; |
||||
#size-cells = <1>; |
||||
|
||||
binman { |
||||
u-boot-elf { |
||||
strip; |
||||
}; |
||||
u-boot-spl-elf { |
||||
}; |
||||
}; |
||||
}; |
Loading…
Reference in new issue