Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
cf97f52
[aos-image] Remove aos-vis from main node image
mlohvynenko Mar 27, 2025
98177c8
[aos-servicemanager] Add libnl depends
Feb 21, 2025
6f4faa3
[sm] Add kernel module for bandwith plugin
Mar 31, 2025
fe02d72
[aos-provfirewall] Close external port access from gateway except for…
Mar 11, 2025
e82a783
[images] Add aos-provfirewall to all nodes
Mar 12, 2025
039edb2
[aos-deprov] Remove firewall rules
Mar 12, 2025
44421c7
[CM] Add DNS IP configuration
Apr 17, 2025
64a365d
[aos-iamanager] Add libnl dependency
mykola-kobets-epam May 2, 2025
be77e56
[aos, connectivity] Switch from libp11 to pkcs11-provider
mykola-kobets-epam Apr 29, 2025
fc7bba6
[aos-messageproxy] Add libnl dependency
mykola-kobets-epam May 5, 2025
5bb0104
[recipes-aos-layers] Extend aos-pylibs-layer
al1img Apr 17, 2025
d29adf1
[scripts] Fix comments fota builder script
al1img Apr 17, 2025
4a059dd
[scripts] Remove unused functionality from layer builder
al1img Apr 17, 2025
2fe8f26
[scripts] Remove unused custom yocto script
al1img Apr 17, 2025
ca34eb0
[scripts] Update bitbake script
al1img Apr 17, 2025
8da8223
[scripts] Add sdk builder script
al1img Apr 17, 2025
07b4c0b
[classes] Fix typo in bundle generator comments
al1img Apr 18, 2025
d0781a2
[classes] Put layer version as last part of layer file name
al1img Apr 18, 2025
3c6c7b5
[recipes-aos] Do not populate headers files for SM, IAM and MP
al1img Apr 30, 2025
c4582bd
[conf] Add aos-core distro
al1img May 7, 2025
468b047
[initramfs] Redirect logs to kmseg
mlohvynenko May 16, 2025
c657a6f
[recipes-aos] Switch to OpenSSL crypto provider
mykola-kobets-epam May 19, 2025
8a33dc0
[aos-setupdisk] Remove mount dirs on disk setup delete
mlohvynenko Jun 4, 2025
5b677ae
[recipes-devtools] Add python libs needed for kuksa
mlohvynenko Jun 6, 2025
fe590d4
[recipes-support] Add vss tools recipes
mlohvynenko Jun 6, 2025
1ade729
[recipes-connectivity] Add kuksa databroker recipes
mlohvynenko Jun 6, 2025
29a12ab
[recipes-connectivity] Add kuksa client recipe
mlohvynenko Jun 6, 2025
207ab05
[recipes-core] Install kuksa on aos main node
mlohvynenko Jun 6, 2025
f84baa3
[audit] Filter only avc denied logs
Jun 10, 2025
b2fb25b
Release 8.2.0
al1img Jun 23, 2025
a890fd3
Bump v8.2.0
al1img Jun 23, 2025
acf6c37
messageproxy: use config variable to set main node hostname for config
mlohvynenko Aug 11, 2025
30a7a20
messageproxy: update message proxy config
mlohvynenko Aug 12, 2025
b4f01c2
Release 8.2.1
mlohvynenko Aug 18, 2025
89c96b8
iam: update to new repo
Aug 20, 2025
cf8634a
mp: update to new repo
Aug 20, 2025
e0378db
sm: update to new repo
Aug 20, 2025
7c10375
cm: update to new repo
Sep 11, 2025
456bfa2
recipes-connectivity: kuksa-client: update to v0.5.0
mlohvynenko Sep 22, 2025
9a93318
layers: pylibs: move kuksa-client to the aos pylibs layer
mlohvynenko Sep 23, 2025
e8e02ae
Revert "iam: update to new repo"
mlohvynenko Sep 24, 2025
f7826d8
Revert "mp: update to new repo"
mlohvynenko Sep 24, 2025
6ac8bf1
Revert "sm: update to new repo"
mlohvynenko Sep 24, 2025
ad3383a
Revert "cm: update to new repo"
mlohvynenko Sep 24, 2025
8c638b0
layers: kuksa: move kuksa client to a dedicated layer
mlohvynenko Sep 23, 2025
66d4c47
README: fix AosCore naming from Aos in the title and text
klogg Oct 21, 2025
60ea2ba
Release 8.2.2
mlohvynenko Feb 4, 2026
63ff906
Bump v8.2.2
mlohvynenko Feb 4, 2026
5007969
Bump v8.2.3
mlohvynenko Feb 6, 2026
931ace3
iam: update to new repo
Aug 20, 2025
c285fa4
mp: update to new repo
Aug 20, 2025
4ed0eec
sm: update to new repo
Aug 20, 2025
cfa7ba5
cm: update to new repo
Sep 11, 2025
080b4ae
remove aos-updatemanager
Sep 29, 2025
21e94c8
recipes-aos: switch AosCore components to feature_unification branch
al1img Dec 10, 2025
7511ee0
recipes-aos: iam: rename aos-iam-provisioning service to aos-iam-prov
al1img Dec 10, 2025
07e212b
all: remove AOS_RUNNER references
mlohvynenko Dec 18, 2025
58754b0
recipes-aos: iam: populate node info
mlohvynenko Dec 18, 2025
a12bb06
recipes-aos: aos-communicationmanager: set FileServerURL to config
mlohvynenko Dec 19, 2025
2509038
recipes-aos: aos-communicationmanager: update service config
mlohvynenko Dec 18, 2025
14b2200
recipes-aos: aos-communicationmanager: set CMServerURL to config
mlohvynenko Dec 19, 2025
09c0b3c
recipes-aos: cm: update config
al1img Jan 4, 2026
2539ba1
recipes-aos: iam: update config
al1img Jan 4, 2026
8ef51fd
recipes-aos: mp: update config
al1img Jan 4, 2026
f68747f
recipes-aos: sm: update config
al1img Jan 4, 2026
988549b
recipes-aos: remove using git submodule to fetch sources
al1img Jan 5, 2026
2a1943b
[base-files] Move hostname to DNS
Jun 3, 2025
08952d4
recipes-aos: sm: set rootfs runtime config
mlohvynenko Jan 7, 2026
975ebc7
recipes-aos: add AOS_CONTAINER_RUNNER to set container runner
al1img Jan 19, 2026
9b3a584
recipes-aos: remove aos prefix from aos configs
al1img Jan 19, 2026
81ddf2a
openssl: WA for GRPC MTLS handshake problem
mykola-kobets-epam Jan 20, 2026
ff7f7af
recipes-aos: sm: add state, storage dirs to container config
al1img Jan 22, 2026
b8eedf1
sdk: fix include conflicts
mlohvynenko Jan 27, 2026
bf439d2
recipes-aos: cm: bind CM server to all interfaces
al1img Feb 11, 2026
0760411
recipes-aos: do not update CM server option
al1img Feb 23, 2026
efab5a3
recipes-extended: quota: add systemd service to enable rpc.quotad
al1img Feb 25, 2026
b7a3457
Revert "recipes-aos: switch AosCore components to feature_unification…
mlohvynenko Feb 27, 2026
1d37266
recipes-extended: start rpc-rquotad after network-online service
al1img Mar 5, 2026
979842d
openssl: update aos openssl configuration
mlohvynenko Mar 17, 2026
5d3cf3f
recipes-support: add Aos root cert to ca-certificates recipe
al1img Mar 23, 2026
2954790
classes: remove unused bbclass files
Apr 6, 2026
feaf07e
scripts: add unified metadata builder module
Apr 9, 2026
70f2de7
scripts: refactor layer_builder to use metadata builder
Apr 9, 2026
db9ca58
scripts: refactor fota_builder to use metadata builder
Apr 9, 2026
54b781e
classes: simplify layer-generator and update output format
Apr 9, 2026
a349d68
recipes-aos-layers: remove hardcoded AOS_LAYER_VERSION
Apr 9, 2026
eccd76a
classes: move do_pack_layer out from fakeroot
al1img Apr 17, 2026
73f0463
classes: do not save original name and timestamp in gzip archive
al1img Apr 17, 2026
5b05424
scripts: add layer parent dependency and unify dependency format
Apr 15, 2026
b11cac8
scripts: fota: handle update item configuration
mlohvynenko Apr 19, 2026
b50b219
scripts: fota: set update item source folder
mlohvynenko Apr 21, 2026
9e2982a
classes: fix pack layer in layer generator
al1img Apr 24, 2026
32fd309
scripts: refactor metadata builder
al1img Apr 24, 2026
b763913
scripts: clear output dir before generating components in fota builder
al1img Apr 24, 2026
acae45f
kuksa-databroker: fix fetching dependencies from crates.io
al1img Apr 27, 2026
a17d9f0
scripts: set mediaType for runtime components from configuration
mlohvynenko Apr 29, 2026
a3160c3
sm: add aos-reboot.service
mlohvynenko Apr 29, 2026
cadb00d
recipes-aos: aos-provfinish: restart rpc-rquotad.service on main node
al1img Apr 30, 2026
b6a70a7
iam: use the correct provisioning service name for aos-iamanager
mlohvynenko May 7, 2026
e5474b2
containers: crun: install libcrun
mlohvynenko May 19, 2026
f531ae2
sm: use crun as the container runner
mlohvynenko May 19, 2026
8cd74b5
sm: replace CNI networking with native nftables/tc/dnsmasq
May 27, 2026
2712aac
provfirewall: switch provisioning firewall to nftables
May 27, 2026
c80c6d7
iptables: drop iptables from the image
May 27, 2026
44ac97c
firewall: provision OS-level fail-closed forward default-drop
May 28, 2026
765ffad
recipes-security: switch refpolicy to develop branch
al1img Jun 6, 2026
68e7be4
connectivity: kuksa-databroker: update to 0.6.1
mlohvynenko Jun 7, 2026
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
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# Aos meta layer
# AosCore meta layer

This meta layer contains recipes for Aos components such as:
This meta layer contains recipes for AosCore components such as:

* aos-communicationmanager - Aos communication manager;
* aos-iamanager - Aos identity and access manager;
* aos-servicemanager - Aos service manager;
* aos-updatemanager - Aos update manager;
* aos-vis - Aos vehicle information service;
* Aos CNI plugins;
* other tools and utility for AosEdge core part.
* aos-communicationmanager - AosCore communication manager;
* aos-iamanager - AosCore identity and access manager;
* aos-servicemanager - AosCore service manager;
* aos-updatemanager - AosCore update manager;
* aos-vis - AosCore vehicle information service;
* other tools and utility for AosCore operation.

## How to integrate Aos meta layer to custom product

Expand All @@ -18,5 +17,3 @@ see [Aos Core integration](doc/integration.md) document.
## Misc

* Set PREFERRED_PROVIDER_virtual/runc = "runc-opencontainers" to build runc from opencontainers.
* Set AOS_RUNNER to define which runner will be used to run Aos services. Currently supported: runc and crun.
Default is crun.
9 changes: 0 additions & 9 deletions classes/bundle-generator.bbclass

This file was deleted.

69 changes: 7 additions & 62 deletions classes/layer-generator.bbclass
Original file line number Diff line number Diff line change
@@ -1,37 +1,31 @@
# This class containes functions to generate layers
# This class contains functions to generate layers

# Configuration

AOS_BASE_IMAGE ??= "aos-image"
AOS_PARENT_LAYER ??= "${AOS_BASE_IMAGE}"
AOS_LAYER_FEATURES ??= ""
AOS_LAYER_VERSION ??= "1"
AOS_LAYER_DIGEST_TYPE ??= "sha256"
AOS_LAYER_VERSION ??= "1.0.0"
AOS_LAYER_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}/layers"

# Inherit

inherit metadata-generator
AOS_LAYER_OS ??= "${AOS_OS}"
AOS_LAYER_ARCH ??= "${AOS_ARCHITECTURE}"

# Dependencies

DEPENDS:append = " rsync-native"

# Variables

LAYER_MEDIA_TYPE = "application/vnd.aos.image.layer.v1.tar"
LAYER_WORK_DIR = "${WORKDIR}/layer"
PARENT_LAYER_ROOTFS = "${TMPDIR}/work-shared/${AOS_PARENT_LAYER}-${MACHINE}/rootfs"
ROOTFS_DIFF_DIR = "${WORKDIR}/rootfs_diff"
SHARED_DIGEST_DIR = "${TMPDIR}/work-shared/layers-${AOS_LAYER_DIGEST_TYPE}"

IMAGE_INSTALL:append = "${AOS_LAYER_FEATURES}"

# Dirs

do_create_layer[cleandirs] += "${LAYER_WORK_DIR} ${ROOTFS_DIFF_DIR}"
do_create_layer[cleandirs] += "${ROOTFS_DIFF_DIR}"
do_create_layer[depends] += "${AOS_PARENT_LAYER}:do_create_shared_links"
do_create_layer[dirs] += "${SHARED_DIGEST_DIR} ${AOS_LAYER_DEPLOY_DIR} ${LAYER_WORK_DIR}"
do_create_layer[dirs] += "${AOS_LAYER_DEPLOY_DIR}"

# Disable unneeded tasks

Expand All @@ -44,19 +38,6 @@ do_image_complete[noexec] = "1"
do_create_rootfs_archive() {
rsync -HXlrvcm --append --progress --delete --compare-dest=${PARENT_LAYER_ROOTFS}/ ${IMAGE_ROOTFS}/* ${ROOTFS_DIFF_DIR}
find ${ROOTFS_DIFF_DIR} -type d -empty -delete

# Create layer rootfs tar

IMAGE_ROOTFS_TAR=${LAYER_WORK_DIR}/${PN}.tar

${IMAGE_CMD_TAR} --numeric-owner -cf ${IMAGE_ROOTFS_TAR} -C ${ROOTFS_DIFF_DIR} .

# Create layer rootfs digest

DIGEST="$(${AOS_LAYER_DIGEST_TYPE}sum -b ${IMAGE_ROOTFS_TAR} | cut -d' ' -f1)"
echo "${DIGEST} ${AOS_LAYER_VERSION}" > ${SHARED_DIGEST_DIR}/${PN}.${AOS_LAYER_DIGEST_TYPE}

mv ${IMAGE_ROOTFS_TAR} ${LAYER_WORK_DIR}/${DIGEST}
}

python do_create_whiteouts() {
Expand Down Expand Up @@ -88,51 +69,15 @@ python do_create_whiteouts() {

}

python do_create_metadata() {
import os

# Plarform info

platform_info = create_layer_platform_info(d.getVar("TARGET_ARCH"), d.getVar("TARGET_OS"), d.getVar("DISTRO_VERSION"),
d.getVar("AOS_LAYER_FEATURES").split())

# Annotations

parent_id = ""
parent_digest = ""

if d.getVar("AOS_PARENT_LAYER") != d.getVar("AOS_BASE_IMAGE"):
f = open(os.path.join(d.getVar("SHARED_DIGEST_DIR"),
"{}.{}".format(d.getVar("AOS_PARENT_LAYER"), d.getVar("AOS_LAYER_DIGEST_TYPE"))), "r")

data = f.read().split()
parent_id = "{}:{}".format(d.getVar("AOS_PARENT_LAYER"), data[1])
parent_digest = "{}:{}".format(d.getVar("AOS_LAYER_DIGEST_TYPE"), data[0])

annotations = create_layer_annotations("{}:{}".format(d.getVar("PN"), d.getVar("AOS_LAYER_VERSION")), parent_id, parent_digest)

# Write metadata

f = open(os.path.join(d.getVar("SHARED_DIGEST_DIR"),
"{}.{}".format(d.getVar("PN"), d.getVar("AOS_LAYER_DIGEST_TYPE"))), "r")

data = f.read().split()
digest = "{}:{}".format(d.getVar("AOS_LAYER_DIGEST_TYPE"), data[0])

write_layer_metadata(d.getVar("LAYER_WORK_DIR"), d.getVar("LAYER_MEDIA_TYPE"), digest,
os.path.getsize(os.path.join(d.getVar("LAYER_WORK_DIR"), data[0])), platform_info, annotations)
}

do_pack_layer() {
${IMAGE_CMD_TAR} --numeric-owner -czf ${AOS_LAYER_DEPLOY_DIR}/${PN}-${AOS_LAYER_VERSION}-${MACHINE}.tar.gz -C ${LAYER_WORK_DIR} .
${IMAGE_CMD_TAR} --numeric-owner -cf - -C ${ROOTFS_DIFF_DIR} . | gzip -n > ${AOS_LAYER_DEPLOY_DIR}/${AOS_LAYER_OS}-${AOS_LAYER_ARCH}-${AOS_LAYER_VERSION}.tar.gz
}

do_create_layer[nostamp] = "1"

fakeroot python do_create_layer() {
bb.build.exec_func("do_create_whiteouts", d)
bb.build.exec_func("do_create_rootfs_archive", d)
bb.build.exec_func("do_create_metadata", d)
bb.build.exec_func("do_pack_layer", d)
}

Expand Down
169 changes: 0 additions & 169 deletions classes/metadata-generator.bbclass

This file was deleted.

12 changes: 12 additions & 0 deletions conf/distro/aos-core.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
include conf/distro/poky.conf

DISTRO = "aos-core"
DISTRO_NAME = "AosCore"
DISTRO_VERSION = "${AOS_ROOTFS_IMAGE_VERSION}"
SDK_VENDOR = "-aossdk"
SDK_VERSION="${AOS_ROOTFS_IMAGE_VERSION}"
SDK_VERSION[vardepvalue] = "${AOS_ROOTFS_IMAGE_VERSION}"
SDK_NAME = "${DISTRO}-${SDKMACHINE}"
SDKPATHINSTALL = "/opt/${DISTRO}-sdk/${MACHINE}/${SDK_VERSION}"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-${MACHINE}-${SDK_VERSION}"
TARGET_VENDOR = "-aos"
4 changes: 1 addition & 3 deletions conf/layer.conf
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,10 @@ AOS_MAIN_NODE ?= "1"
AOS_NODE_TYPE ?= "${AOS_UNIT_MODEL}-${AOS_UNIT_VERSION}-${@'main' \
if bb.utils.to_boolean(d.getVar('AOS_MAIN_NODE')) else 'secondary'}"

AOS_RUNNER ??= "crun"

AOS_NODE_HOSTNAME ?= "${@'main' if bb.utils.to_boolean(d.getVar('AOS_MAIN_NODE')) else 'secondary'}"
AOS_MAIN_NODE_HOSTNAME ?= "main"

AOS_UM_COMPONENT_PREFIX ?= ""
AOS_COMPONENT_RUNTIME_PREFIX ?= ""

# Overrides

Expand Down
Loading