Boot: Add Python2.7 support for post build steps
These minor changes make Python 3 and Python 2.7 verions supported by
the post build scripts, even integrating them as modules.
Change-Id: I0d7a6d95764db082bbec02b0af01da4cf03fd98d
Signed-off-by: Gabor Kertesz <gabor.kertesz@arm.com>
diff --git a/bl2/ext/mcuboot/scripts/assemble.py b/bl2/ext/mcuboot/scripts/assemble.py
index b8b60eb..9c48092 100644
--- a/bl2/ext/mcuboot/scripts/assemble.py
+++ b/bl2/ext/mcuboot/scripts/assemble.py
@@ -67,6 +67,7 @@
def add_image(self, source, partition):
with open(self.output, 'ab') as ofd:
+ ofd.seek(0, os.SEEK_END)
pos = ofd.tell()
if pos > self.offsets[partition]:
raise Exception("Partitions not in order, unsupported")
diff --git a/bl2/ext/mcuboot/scripts/imgtool.py b/bl2/ext/mcuboot/scripts/imgtool.py
index 4b62d3b..80009c8 100644
--- a/bl2/ext/mcuboot/scripts/imgtool.py
+++ b/bl2/ext/mcuboot/scripts/imgtool.py
@@ -15,12 +15,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import print_function
import os
import re
import argparse
-from imgtool import keys
-from imgtool import image
-from imgtool import version
+from imgtool_lib import keys
+from imgtool_lib import image
+from imgtool_lib import version
import sys
def find_load_address(args):
diff --git a/bl2/ext/mcuboot/scripts/imgtool/__init__.py b/bl2/ext/mcuboot/scripts/imgtool_lib/__init__.py
similarity index 100%
rename from bl2/ext/mcuboot/scripts/imgtool/__init__.py
rename to bl2/ext/mcuboot/scripts/imgtool_lib/__init__.py
diff --git a/bl2/ext/mcuboot/scripts/imgtool/image.py b/bl2/ext/mcuboot/scripts/imgtool_lib/image.py
similarity index 97%
rename from bl2/ext/mcuboot/scripts/imgtool/image.py
rename to bl2/ext/mcuboot/scripts/imgtool_lib/image.py
index b3915e0..67425d4 100644
--- a/bl2/ext/mcuboot/scripts/imgtool/image.py
+++ b/bl2/ext/mcuboot/scripts/imgtool_lib/image.py
@@ -43,7 +43,7 @@
for write_size in [1, 2, 4, 8]
}
-boot_magic = bytes([
+boot_magic = bytearray([
0x77, 0xc2, 0x95, 0xf3,
0x60, 0xd2, 0xef, 0x7f,
0x35, 0x52, 0x50, 0x0f,
@@ -100,7 +100,7 @@
# If there is a header requested, make sure that the image
# starts with all zeros.
if self.header_size > 0:
- if any(v != 0 for v in self.payload[0:self.header_size]):
+ if any(v != 0 and v != b'\000' for v in self.payload[0:self.header_size]):
raise Exception("Padding requested, but image does not start with zeros")
def sign(self, key, ramLoadAddress):
diff --git a/bl2/ext/mcuboot/scripts/imgtool/keys.py b/bl2/ext/mcuboot/scripts/imgtool_lib/keys.py
similarity index 97%
rename from bl2/ext/mcuboot/scripts/imgtool/keys.py
rename to bl2/ext/mcuboot/scripts/imgtool_lib/keys.py
index 9728cd0..fda3ed6 100644
--- a/bl2/ext/mcuboot/scripts/imgtool/keys.py
+++ b/bl2/ext/mcuboot/scripts/imgtool_lib/keys.py
@@ -1,5 +1,5 @@
# Copyright 2017 Linaro Limited
-# Copyright (c) 2017, Arm Limited.
+# Copyright (c) 2017-2018, Arm Limited.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
Cryptographic key management for imgtool.
"""
+from __future__ import print_function
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5, PKCS1_PSS
diff --git a/bl2/ext/mcuboot/scripts/imgtool/version.py b/bl2/ext/mcuboot/scripts/imgtool_lib/version.py
similarity index 100%
rename from bl2/ext/mcuboot/scripts/imgtool/version.py
rename to bl2/ext/mcuboot/scripts/imgtool_lib/version.py