diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-02-13 16:12:08 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-02-14 15:47:16 +0100 |
commit | b9aca834e812efc9d0bb2701eab8c78f2efb0367 (patch) | |
tree | 884935d7147a43bc06878771f7b225f3a625280a /include/image-commands.mk | |
parent | 7762c07c88980cff85ec20c12f18cd172260e9d9 (diff) | |
download | upstream-b9aca834e812efc9d0bb2701eab8c78f2efb0367.tar.gz upstream-b9aca834e812efc9d0bb2701eab8c78f2efb0367.tar.bz2 upstream-b9aca834e812efc9d0bb2701eab8c78f2efb0367.zip |
at91: fix image building with CONFIG_TARGET_MULTI_PROFILE
The current image build code has a number of race conditions and interface
contract violations in the custom image build steps:
- Build/install-zImage, solely used by at91, relies on $(PROFILE_SANITIZED)
which is not available when building with CONFIG_TARGET_MULTI_PROFILE
- Build/at91-sdcard, which may run concurrently, creates scratch files at
fixed locations and manipulates target files directly which can lead
to file corruption and other unexpected failures
Rename the install-zImage macro to at91-install-zImage and move it to the
at91 image Makefile since this target is the sole user. Also utilize "$@"
as output file name and switch the usage of $(PROFILE_SANITIZED) to
$(DEVICE_NAME) in order to fix naming under multi profile builds.
Fix the at91-sdcard macro to construct scratch file paths relative to "$@",
which is guaranteed to be unique and store the final artifact output in "$@"
as well, instead of inside $(BIN_DIR). The generic image build code takes
care of moving a build steps "$@" output to the final destination in a
concurrency-safe manner.
Finally remove the broken install-zImage from the generic image-commands
Makefile.
Fixes: d7a679a036 ("at91: Install zImage.")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'include/image-commands.mk')
-rw-r--r-- | include/image-commands.mk | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk index adef8f2759..555a9e5906 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -113,11 +113,6 @@ define Build/install-dtb ) endef -define Build/install-zImage - $(CP) $(KDIR)/zImage \ - $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE_SANITIZED)-zImage -endef - define Build/fit $(TOPDIR)/scripts/mkits.sh \ -D $(DEVICE_NAME) -o $@.its -k $@ \ |