diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2023-10-12 17:32:03 -0300 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2023-10-14 11:07:46 -0300 |
commit | a2b50884a17aa36d9dc01a74aecbcf5afd12cb9a (patch) | |
tree | 8aa770e2709d1fb4b00d9ec8c281c1520bd351d0 /recipes-devtools | |
parent | 7327e03c61823268a5a957fe090c4cc5e1735b34 (diff) | |
download | meta-freescale-a2b50884a17aa36d9dc01a74aecbcf5afd12cb9a.tar.gz |
cst-signer: init at 7fa50daf
The CST signer tool works in conjunction with the Code Signing
Tool (CST) provided by NXP. The tool allows a way to automate the
signing process in conjunction with a configuration file that can be
populated with necessary inputs. In addition, this tool parses the 'to
be signed' image and extracts the offset and length information needed
to sign the image, thus reducing the possible human error while signing.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-devtools')
3 files changed, 196 insertions, 0 deletions
diff --git a/recipes-devtools/cst-signer/cst-signer/0001-Improve-Makefile-so-it-is-overridable-and-provides-s.patch b/recipes-devtools/cst-signer/cst-signer/0001-Improve-Makefile-so-it-is-overridable-and-provides-s.patch new file mode 100644 index 00000000..42c96fe5 --- /dev/null +++ b/recipes-devtools/cst-signer/cst-signer/0001-Improve-Makefile-so-it-is-overridable-and-provides-s.patch | |||
@@ -0,0 +1,94 @@ | |||
1 | From d7d6eebdb4f49e6a3d93c101f1fb23bb6e96f07c Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Thu, 12 Oct 2023 18:48:09 -0300 | ||
4 | Subject: [PATCH] Improve Makefile so it is overridable and provides | ||
5 | standardized targets | ||
6 | |||
7 | This commit rework the Makefile targets so it provides a standardized | ||
8 | set of targets and allow overriding of variables so cross compiling is | ||
9 | properly supported. | ||
10 | |||
11 | Upstream-Status: Submitted [https://github.com/nxp-imx-support/nxp-cst-signer/pull/2] | ||
12 | |||
13 | Fixes: #1. | ||
14 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
15 | --- | ||
16 | Makefile | 14 +++++++------- | ||
17 | src/Makefile | 34 ++++++++++++++++++++++------------ | ||
18 | 2 files changed, 29 insertions(+), 19 deletions(-) | ||
19 | |||
20 | diff --git a/Makefile b/Makefile | ||
21 | index c799b13..a722744 100644 | ||
22 | --- a/Makefile | ||
23 | +++ b/Makefile | ||
24 | @@ -4,13 +4,13 @@ | ||
25 | # SPDX-License-Identifier: GPL-2.0-or-later | ||
26 | #============================================================================== | ||
27 | |||
28 | -SRC_DIR := src | ||
29 | - | ||
30 | -.PHONY: all clean | ||
31 | - | ||
32 | all: | ||
33 | - @$(MAKE) -C $(SRC_DIR)/ | ||
34 | - @mv $(SRC_DIR)/cst_signer . | ||
35 | + @$(MAKE) -C src | ||
36 | + | ||
37 | +install: | ||
38 | + @$(MAKE) -C src install | ||
39 | |||
40 | clean: | ||
41 | - @rm -rf cst_signer src/fdt.o | ||
42 | + @$(MAKE) -C src clean | ||
43 | + | ||
44 | +.PHONY: all install clean | ||
45 | diff --git a/src/Makefile b/src/Makefile | ||
46 | index 5e6dade..101be12 100644 | ||
47 | --- a/src/Makefile | ||
48 | +++ b/src/Makefile | ||
49 | @@ -4,23 +4,33 @@ | ||
50 | # SPDX-License-Identifier: GPL-2.0-or-later | ||
51 | #============================================================================== | ||
52 | |||
53 | -CC = gcc | ||
54 | +CC ?= gcc | ||
55 | +CFLAGS ?= -g -Wall -Werror | ||
56 | +CPPFLAGS ?= | ||
57 | +LDFLAGS ?= | ||
58 | +INCLUDES = -I../inc/ | ||
59 | |||
60 | -COPTS = -g -Wall -Werror | ||
61 | -CFLAGS = -I../inc/. | ||
62 | +PREFIX ?= /usr/local | ||
63 | +BINDIR ?= $(PREFIX)/bin | ||
64 | +DATADIR ?= $(PREFIX)/share | ||
65 | |||
66 | -DEPS = cst_signer.h cfg_parser.h mkimage_helper.h | ||
67 | -SRCS = cst_signer.c cfg_parser.c mkimage_helper.c fdt.o | ||
68 | +SRCS = cst_signer.c cfg_parser.c mkimage_helper.c fdt.c | ||
69 | |||
70 | -.PHONY: all clean | ||
71 | +all: cst-signer | ||
72 | |||
73 | -all: cst_signer fdt.o | ||
74 | +%.o : %.c | ||
75 | + $(CC) -c $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(CPPFLAGS) $< -o $@ | ||
76 | |||
77 | -fdt.o: fdt.c | ||
78 | - $(CC) -c -w -o $@ $< $(CFLAGS) | ||
79 | +cst-signer: $(SRCS:.c=.o) | ||
80 | + $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(CPPFLAGS) -o $@ $(SRCS:.c=.o) | ||
81 | |||
82 | -cst_signer: cst_signer.c fdt.o | ||
83 | - $(CC) $(COPTS) $(CFLAGS) -o $@ $(SRCS) | ||
84 | +install: cst-signer | ||
85 | + install -D -m 0755 cst-signer $(DESTDIR)/$(BINDIR)/cst-signer | ||
86 | + install -D -m 0755 -t $(DESTDIR)$(DATADIR)/doc/cst-signer \ | ||
87 | + ../csf_ahab.cfg.sample \ | ||
88 | + ../csf_hab4.cfg.sample | ||
89 | |||
90 | clean: | ||
91 | - rm -rf cst_signer fdt.o | ||
92 | + rm -rf cst-signer *.o | ||
93 | + | ||
94 | +.PHONY: all install clean | ||
diff --git a/recipes-devtools/cst-signer/cst-signer/0002-Fix-include-of-headers-so-it-indicates-it-uses-the-i.patch b/recipes-devtools/cst-signer/cst-signer/0002-Fix-include-of-headers-so-it-indicates-it-uses-the-i.patch new file mode 100644 index 00000000..5607a6e7 --- /dev/null +++ b/recipes-devtools/cst-signer/cst-signer/0002-Fix-include-of-headers-so-it-indicates-it-uses-the-i.patch | |||
@@ -0,0 +1,63 @@ | |||
1 | From fcdf06423d682cdafc092b67bbada3753c20bbd5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Thu, 12 Oct 2023 18:52:02 -0300 | ||
4 | Subject: [PATCH] Fix include of headers so it indicates it uses the includedir | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/nxp-imx-support/nxp-cst-signer/pull/2] | ||
7 | |||
8 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
9 | --- | ||
10 | src/cfg_parser.c | 2 +- | ||
11 | src/cst_signer.c | 10 ++++++---- | ||
12 | src/fdt.c | 3 ++- | ||
13 | 3 files changed, 9 insertions(+), 6 deletions(-) | ||
14 | |||
15 | diff --git a/src/cfg_parser.c b/src/cfg_parser.c | ||
16 | index 0f4ea0a..e289d13 100644 | ||
17 | --- a/src/cfg_parser.c | ||
18 | +++ b/src/cfg_parser.c | ||
19 | @@ -4,7 +4,7 @@ | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | -#include "cfg_parser.h" | ||
24 | +#include <cfg_parser.h> | ||
25 | |||
26 | #define DELIMITER "=" | ||
27 | |||
28 | diff --git a/src/cst_signer.c b/src/cst_signer.c | ||
29 | index 4d8825b..34d1711 100644 | ||
30 | --- a/src/cst_signer.c | ||
31 | +++ b/src/cst_signer.c | ||
32 | @@ -4,11 +4,13 @@ | ||
33 | * | ||
34 | */ | ||
35 | |||
36 | -#include "cst_signer.h" | ||
37 | -#include "cfg_parser.h" | ||
38 | -#include "mkimage_helper.h" | ||
39 | -#include "fdt.h" | ||
40 | #include <limits.h> | ||
41 | + | ||
42 | +#include <cst_signer.h> | ||
43 | +#include <cfg_parser.h> | ||
44 | +#include <mkimage_helper.h> | ||
45 | +#include <fdt.h> | ||
46 | + | ||
47 | #define RSIZE 256 | ||
48 | |||
49 | uint32_t g_image_offset = 0; | ||
50 | diff --git a/src/fdt.c b/src/fdt.c | ||
51 | index 34cf585..9aecca9 100644 | ||
52 | --- a/src/fdt.c | ||
53 | +++ b/src/fdt.c | ||
54 | @@ -13,7 +13,8 @@ | ||
55 | #include <limits.h> | ||
56 | #include <stdio.h> | ||
57 | #include <string.h> | ||
58 | -#include "fdt.h" | ||
59 | + | ||
60 | +#include <fdt.h> | ||
61 | |||
62 | |||
63 | static struct fdt_errtabent fdt_errtable[] = { | ||
diff --git a/recipes-devtools/cst-signer/cst-signer_git.bb b/recipes-devtools/cst-signer/cst-signer_git.bb new file mode 100644 index 00000000..2983bdd9 --- /dev/null +++ b/recipes-devtools/cst-signer/cst-signer_git.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "CST signer tool allows a way to automate the signing process" | ||
2 | DESCRIPTION = "The CST signer tool works in conjunction with the Code Signing Tool (CST) provided by \ | ||
3 | NXP. The tool allows a way to automate the signing process in conjunction with a configuration file \ | ||
4 | that can be populated with necessary inputs. In addition, this tool parses the 'to be signed' image \ | ||
5 | and extracts the offset and length information needed to sign the image, thus reducing the possible \ | ||
6 | human error while signing." | ||
7 | AUTHOR = "Utkarsh Gupta <utkarsh.gupta@nxp.com>" | ||
8 | HOMEPAGE = "https://github.com/nxp-imx-support/nxp-cst-signer" | ||
9 | BUGTRACKER = "https://github.com/nxp-imx-support/nxp-cst-signer/issues" | ||
10 | SECTION = "devel" | ||
11 | LICENSE = "GPL-2.0-or-later" | ||
12 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
13 | |||
14 | PV = "0.3+${SRCPV}" | ||
15 | |||
16 | SRC_URI = "git://github.com/nxp-imx-support/nxp-cst-signer;protocol=https;branch=master \ | ||
17 | file://0001-Improve-Makefile-so-it-is-overridable-and-provides-s.patch \ | ||
18 | file://0002-Fix-include-of-headers-so-it-indicates-it-uses-the-i.patch" | ||
19 | SRCREV = "7fa50daf3237661497cf753ff13e6f66d9d2fea8" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | EXTRA_OEMAKE += "DESTDIR=${D} PREFIX=${prefix}" | ||
24 | |||
25 | do_install () { | ||
26 | oe_runmake install | ||
27 | } | ||
28 | |||
29 | do_install:append:class-native () { | ||
30 | # The sample files are used as templates so here we copy them for later use. | ||
31 | mkdir -p ${D}${datadir}/cst-signer | ||
32 | for f in ${D}${datadir}/doc/cst-signer/*; do | ||
33 | mv $f ${D}${datadir}/cst-signer/$(basename $f | sed 's,.sample,.in,g') | ||
34 | done | ||
35 | rmdir ${D}${datadir}/doc/cst-signer \ | ||
36 | ${D}${datadir}/doc | ||
37 | } | ||
38 | |||
39 | BBCLASSEXTEND = "native nativesdk" | ||