Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge NCS to main branch #163

Merged
merged 69 commits into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
69f1f08
feat: migration to NCS
robertstypa Mar 25, 2024
60afbb2
feat: align Kconfigs with the newest NCS
robertstypa Apr 4, 2024
ea2e374
feat: migration of SUIT DFU build system to NCS (#104)
robertstypa May 6, 2024
c016515
fix: Class ID checks for INSTLD_MFST components
tomchy Apr 23, 2024
1dfb3fa
suit-generator sysbuild adjustments (#111)
e-rk May 16, 2024
d49015b
fix: allow usage of custom vid/cid (#113)
robertstypa May 22, 2024
1b156bb
ncs: Allow to pass addresses as args
tomchy May 15, 2024
2b796f1
cmd_image: Remove legacy commands
tomchy May 15, 2024
e969378
feat: remove workarounds for broken DTS parent address (#117)
robertstypa May 29, 2024
02f5362
Changes of storage generation needed for recovery
ahasztag May 20, 2024
93f1fbb
Merge pull request #118 from ahasztag/ncs_old
ahasztag May 29, 2024
72e873d
feat: enable local envelope generation only for rad and app (#116)
robertstypa May 29, 2024
15711cc
ncs: prevent duplicate target names (#119)
e-rk Jun 3, 2024
0b06da2
ncs: envelopes: Verify child manifests before install
tomchy Jun 5, 2024
623d6c9
Split CLI and module logger configuration
ablam Jun 3, 2024
3458313
feat: add binary file name value to template generator
e-rk Jun 10, 2024
fcba04a
remove logger setup for module, clean cli config
ablam Jun 19, 2024
5a23434
Merge pull request #120 from ablam/fix_logger
ablam Jun 20, 2024
dbd12dc
fix: set ERROR as default log level (#127)
robertstypa Jun 21, 2024
e5c9bad
fix: calculate envelope digest by specified algorithm
e-rk Jun 16, 2024
bcee2a1
sign: add der key format support to sign script
e-rk Jun 17, 2024
e7fa9c4
sign: add ed448 support
e-rk Jun 17, 2024
ec45c78
sign: add user note to rename the key file when using the DER format.
e-rk Jun 19, 2024
a83a195
templates: remove flash companion from default template
e-rk Jun 21, 2024
79c867b
templates: add retries for streaming operations
e-rk Jun 21, 2024
bfae7b4
Feat/custom vid cid duplicates (#130)
robertstypa Jul 3, 2024
bd0bf7c
feat: custom vid/cid validation (#133)
robertstypa Jul 12, 2024
7ce38bd
refactor: rename "authentication.py" to "security.py"
ahasztag Jul 5, 2024
9a37152
Added structures for CoseEncrypt
ahasztag Jul 8, 2024
ca06e65
Added tests for COSE_Encrypt structure
ahasztag Jul 9, 2024
4590dc7
Add suit-encryption-info parameter
ahasztag Jul 9, 2024
c96146f
manifest: Fix component version encoding
tomchy Aug 13, 2024
2cc6a95
black: Run over encryption files
tomchy Aug 14, 2024
b750d41
fix: Improve docstring in build configuration module
tomchy Aug 2, 2024
14f2a23
Added Enc structure structure to suit-generator
ahasztag Jul 10, 2024
5c4125a
Added encrypt_script.py for generating encryption artifacts
ahasztag Jul 11, 2024
2d9a982
Manifest template for encrypted update
ahasztag Jul 15, 2024
f0f58d2
SUIT encryption: tag placed at the start of the firmware
ahasztag Jul 22, 2024
ccc7409
Used pynrfkms instead of command line kms in encrypt_script.py
ahasztag Jul 22, 2024
4d4954b
ncs: Introduce candidate-verification sequence
tomchy Aug 14, 2024
dcd58e6
templates: move templates to sdk-nrf and adjust Kconfigs
e-rk Jun 27, 2024
60fb031
flake8: Fix small issues
tomchy Aug 16, 2024
513b7c5
build: Add possibility to pass VERSION file
tomchy Aug 14, 2024
97ef5bd
build: Add a support for default versions
tomchy Aug 20, 2024
ad33f06
Added "direct" kdf alg in suit-generator
ahasztag Aug 20, 2024
cea206c
Added a "direct" kw option (no AES KW) to encrypt_script.py
ahasztag Aug 20, 2024
3f2b8dd
encrypt_script.py: Fixed KEY_IDS
ahasztag Aug 27, 2024
4aae1db
Extended suit-generator with cache_create command
ahasztag Aug 26, 2024
66131a1
Kconfig options needed for extracting firmware to raw caches
ahasztag Aug 28, 2024
4372d27
Fix indentation in ncs/Kconfig
ahasztag Sep 3, 2024
f4cd00b
build.py: Add handlers for SCFW version file
tomchy Sep 6, 2024
e4d1fa0
refactor: alignments with Flake8, Black and Pydocstyle linters (#140)
robertstypa Sep 9, 2024
d1a37ec
build.py: Handle Zephyr notation of prerelease id
tomchy Sep 11, 2024
35f1ab7
Modifications of sign script to allow multiple KEY IDs
ahasztag Sep 12, 2024
11ac20f
Added SUIT_RECOVERY Kconfig option
ahasztag Sep 23, 2024
199ed3c
Aligned to new default volatile KEY_ID in sign_script
ahasztag Oct 8, 2024
6d31d4f
keys: Add support for nes suit-install key
tomchy Oct 10, 2024
c2e394f
kconfig: support engb (#148)
hakonfam Oct 22, 2024
e383e6c
Added suit-generator payload_extract command
ahasztag Oct 14, 2024
7bf6a6b
fix: new default addresses for ImageCreator
kszromek-nordic Nov 6, 2024
9c5e8f1
Changes needed for recovery run from APP_LOCAL_3 manifest
ahasztag Nov 5, 2024
8f9ce90
Added parameters for suit_invoke_args
ahasztag Nov 6, 2024
0e66051
cache_create: Extended the command to extract from envelope
ahasztag Nov 20, 2024
9bd5f35
suit: Move MPI to sysbuild Kconfig
tomchy Nov 21, 2024
aa3da7d
Encryption script using python based libraries
ahasztag Dec 6, 2024
7dd0e0f
suit: Add nRF9280 support (#151)
mparpala Dec 20, 2024
638243b
Fix CI after nRF92 changes
ahasztag Jan 3, 2025
f07d308
manifest: Allow to use int as MFST_VAR values
tomchy Dec 10, 2024
f26d3e0
Encryption changes needed for NCS build system
ahasztag Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/static_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Code scan

on:
push:
branches: [ main, develop ]
branches: [ main, develop, ncs ]
pull_request:
branches: [ main, develop ]
branches: [ main, develop, ncs ]

jobs:
code-check:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
__pycache__
/doc/build/*
/build/*
suit-generator.log*
Empty file.
49 changes: 49 additions & 0 deletions build_configuration/configuration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#
# Copyright (c) 2024 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
"""The module to create and parse build configuration."""

import re
import string


class BuildConfiguration(dict):
"""Represents a build system configuration, providing access to KConfig values.

This class reads configuration data from a specified file and parses it.
Configuration data is accessible as a dictionary.
"""

config_value_pattern = re.compile(r"(?P<kconfig_name>[A-Za-z0-9_]+)=(?P<kconfig_value>.*)")

def __init__(self, input_file: str = ".config") -> None:
"""Initialize a BuildConfiguration object."""
super().__init__()
try:
with open(input_file, "r") as fh:
self._config_data = fh.readlines()
except FileNotFoundError as e:
raise SystemExit(e)
self._parse()

def _parse(self) -> None:
"""Parse input .config file and populate the configuration dictionary."""
for config_line in self._config_data:
if re_result := self.config_value_pattern.match(config_line):
kconfig_name = re_result.group("kconfig_name")
kconfig_value = re_result.group("kconfig_value")
if kconfig_value == "y":
# boolean value
kconfig_value = True
elif kconfig_value.startswith("0x") and all(c in string.hexdigits for c in kconfig_value[2:]):
# hexadecimal value
kconfig_value = int(kconfig_value, base=16)
elif kconfig_value.startswith('"') and kconfig_value.endswith('"'):
# string value
kconfig_value = kconfig_value[1:-1]
elif kconfig_value.isdecimal():
# int value
kconfig_value = int(kconfig_value, base=10)
super().__setitem__(kconfig_name, kconfig_value)
13 changes: 2 additions & 11 deletions examples/input_files/envelope_2_hierarchical.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -169,23 +169,14 @@ SUIT_Envelope_Tagged:
namespace: nordicsemi.com
name: nRF54H20_sample_app
suit-shared-sequence:
- suit-directive-set-component-index: 1
- suit-directive-override-parameters:
suit-parameter-vendor-identifier:
RFC4122_UUID: nordicsemi.com
suit-parameter-class-identifier:
RFC4122_UUID:
namespace: nordicsemi.com
name: nRF54H20_sample_rad
- suit-directive-set-component-index: 2
- suit-directive-set-component-index: [1, 2]
- suit-directive-override-parameters:
suit-parameter-vendor-identifier:
RFC4122_UUID: nordicsemi.com
suit-parameter-class-identifier:
RFC4122_UUID:
namespace: nordicsemi.com
name: nRF54H20_sample_app
- suit-directive-set-component-index: [1, 2]
name: nRF54H20_sample_root
- suit-condition-vendor-identifier:
- suit-send-record-success
- suit-send-record-failure
Expand Down
99 changes: 0 additions & 99 deletions ncs/802154_rad_envelope.yaml.jinja2

This file was deleted.

Loading
Loading