From bf007528f0126c5a81c1678c57ee71c5c1f018d2 Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Fri, 21 Jun 2019 01:51:15 +0200 Subject: [PATCH] feat(pycardium): Build bootloader compatible multi image --- bootloader/build_multi_image.sh | 14 ++++++++++++++ bootloader/meson.build | 3 +++ epicardium/meson.build | 2 +- pycardium/meson.build | 10 +++++++++- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 bootloader/build_multi_image.sh diff --git a/bootloader/build_multi_image.sh b/bootloader/build_multi_image.sh new file mode 100755 index 00000000..db1943a9 --- /dev/null +++ b/bootloader/build_multi_image.sh @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +echo "build multi image" $1 $2 $3 $4 +PYTHON="$1" +BIN1="$2" +BIN2="$3" +BINOUT="$4" + +dd if=/dev/zero ibs=1k count=448 | tr "\000" "\377" > "$BINOUT" +dd if="$BIN1" of="$BINOUT" conv=notrunc +dd if="$BIN2" of="$BINOUT" conv=notrunc oflag=append + +"$PYTHON" "$(dirname "$0")/crc_patch.py" "$BINOUT" diff --git a/bootloader/meson.build b/bootloader/meson.build index d97a2217..e2c831ef 100644 --- a/bootloader/meson.build +++ b/bootloader/meson.build @@ -20,3 +20,6 @@ executable( # build_image.sh build_image = [files('./build_image.sh'), python3] + +# build_multi_image.sh +build_multi_image = [files('./build_multi_image.sh'), python3] diff --git a/epicardium/meson.build b/epicardium/meson.build index 767c9c4f..c999871c 100644 --- a/epicardium/meson.build +++ b/epicardium/meson.build @@ -56,7 +56,7 @@ elf = executable( ], ) -custom_target( +epicardium_bin = custom_target( name + '.bin', build_by_default: true, output: name + '.bin', diff --git a/pycardium/meson.build b/pycardium/meson.build index 49d083c3..956f5bd5 100644 --- a/pycardium/meson.build +++ b/pycardium/meson.build @@ -63,10 +63,18 @@ elf = executable( ], ) -custom_target( +bin = custom_target( name + '.bin', build_by_default: true, output: name + '.bin', input: elf, command: [build_image, '@INPUT@', '@OUTPUT0@'], ) + +custom_target( + name + '_epicardium.bin', + build_by_default: true, + output: name + '_epicardium.bin', + input: [epicardium_bin, bin], + command: [build_multi_image, '@INPUT@', '@OUTPUT0@'], +) -- GitLab