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