aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/raspberrypi4/agl-flutter-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/rcar-gen3/agl-flutter-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/raspberrypi4/agl-html5-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/rcar-gen3/agl-html5-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/raspberrypi4/agl-momi-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/rcar-gen3/agl-momi-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/raspberrypi4/agl-qt-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/rcar-gen3/agl-qt-ivi-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/raspberrypi4/cluster-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/rcar-gen3/cluster-demo.json7
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager/container-manager/container-manager.service2
-rw-r--r--meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch130
-rw-r--r--meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf200
-rw-r--r--meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf213
-rw-r--r--meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf9
-rw-r--r--meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend72
-rw-r--r--meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb1
-rw-r--r--meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb1
-rw-r--r--meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-container-feature-logging.bb31
19 files changed, 728 insertions, 1 deletions
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/raspberrypi4/agl-flutter-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/raspberrypi4/agl-flutter-ivi-demo.json
index 4393703b..54c03a8b 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/raspberrypi4/agl-flutter-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/raspberrypi4/agl-flutter-ivi-demo.json
@@ -65,6 +65,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-flutter-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/rcar-gen3/agl-flutter-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/rcar-gen3/agl-flutter-ivi-demo.json
index 204c51b6..b0acb036 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/rcar-gen3/agl-flutter-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/rcar-gen3/agl-flutter-ivi-demo.json
@@ -65,6 +65,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-flutter-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/raspberrypi4/agl-html5-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/raspberrypi4/agl-html5-ivi-demo.json
index a569bcf5..508ba225 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/raspberrypi4/agl-html5-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/raspberrypi4/agl-html5-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-html5-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/rcar-gen3/agl-html5-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/rcar-gen3/agl-html5-ivi-demo.json
index a935ac86..fd92b73e 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/rcar-gen3/agl-html5-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/rcar-gen3/agl-html5-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-html5-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/raspberrypi4/agl-momi-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/raspberrypi4/agl-momi-ivi-demo.json
index 24e02758..52877a3b 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/raspberrypi4/agl-momi-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/raspberrypi4/agl-momi-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-momi-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/rcar-gen3/agl-momi-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/rcar-gen3/agl-momi-ivi-demo.json
index 14f2fe2b..98b7a918 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/rcar-gen3/agl-momi-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/rcar-gen3/agl-momi-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-momi-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/raspberrypi4/agl-qt-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/raspberrypi4/agl-qt-ivi-demo.json
index 62ccbc14..c2531044 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/raspberrypi4/agl-qt-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/raspberrypi4/agl-qt-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-qt-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/rcar-gen3/agl-qt-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/rcar-gen3/agl-qt-ivi-demo.json
index e74e89ff..ca1154b4 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/rcar-gen3/agl-qt-ivi-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/rcar-gen3/agl-qt-ivi-demo.json
@@ -66,6 +66,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/agl-qt-ivi-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/raspberrypi4/cluster-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/raspberrypi4/cluster-demo.json
index 80f10cd6..d4eb8569 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/raspberrypi4/cluster-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/raspberrypi4/cluster-demo.json
@@ -58,6 +58,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/cluster-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/rcar-gen3/cluster-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/rcar-gen3/cluster-demo.json
index 5749b865..c0bff97b 100644
--- a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/rcar-gen3/cluster-demo.json
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/rcar-gen3/cluster-demo.json
@@ -58,6 +58,13 @@
},
{
"type": "directory",
+ "from": "/run/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
"from": "/opt/container/guests/cluster-demo/system.conf",
"to": "etc/systemd/system.conf.d/10-environment.conf",
"fstype": "none",
diff --git a/meta-agl-ic-container/recipes-container/container-manager/container-manager/container-manager.service b/meta-agl-ic-container/recipes-container/container-manager/container-manager/container-manager.service
index 50edafcc..de532fd5 100644
--- a/meta-agl-ic-container/recipes-container/container-manager/container-manager/container-manager.service
+++ b/meta-agl-ic-container/recipes-container/container-manager/container-manager/container-manager.service
@@ -1,6 +1,6 @@
[Unit]
Description=AGL Container Manager
-After=drm-lease-manager.service lxc-net.service multi-user.target
+After=drm-lease-manager.service lxc-net.service dlt.service multi-user.target
Wants=drm-lease-manager.service lxc-net.service multi-user.target
[Service]
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch
new file mode 100644
index 00000000..5fb3a9b2
--- /dev/null
+++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch
@@ -0,0 +1,130 @@
+From 2e6c7359a1b2b0946f8f6583a1bcdbb78d1feef9 Mon Sep 17 00:00:00 2001
+From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+Date: Thu, 18 May 2023 01:02:46 +0900
+Subject: [PATCH] Disable noisy log from dlt-daemon
+
+The dlt-daemon out some own log. But it's a verbose log.
+On the other hand, these verbose log difficult to mask by dlt-viewer.
+This patch disable these verbose log.
+
+Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+---
+ src/daemon/dlt-daemon.c | 7 -------
+ src/daemon/dlt_daemon_common.c | 20 --------------------
+ src/daemon/dlt_daemon_event_handler.c | 4 ----
+ 3 files changed, 31 deletions(-)
+
+diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
+index 74f4049..d659011 100644
+--- a/src/daemon/dlt-daemon.c
++++ b/src/daemon/dlt-daemon.c
+@@ -2333,9 +2333,6 @@ int dlt_daemon_process_control_connect(
+ return -1;
+ }
+
+- if (verbose)
+- dlt_vlog(LOG_INFO, "New connection to control client established\n");
+-
+ return 0;
+ }
+
+@@ -2379,9 +2376,6 @@ int dlt_daemon_process_app_connect(
+ return -1;
+ }
+
+- if (verbose)
+- dlt_vlog(LOG_INFO, "New connection to application established\n");
+-
+ return 0;
+ }
+ #endif
+@@ -3489,7 +3483,6 @@ int create_timer_fd(DltDaemonLocal *daemon_local,
+
+ if ((period_sec <= 0) || (starts_in <= 0)) {
+ /* timer not activated via the service file */
+- dlt_vlog(LOG_INFO, "<%s> not set: period=0\n", timer_name);
+ local_fd = DLT_FD_INIT;
+ }
+ else {
+diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
+index 6ba5935..7940b96 100644
+--- a/src/daemon/dlt_daemon_common.c
++++ b/src/daemon/dlt_daemon_common.c
+@@ -896,13 +896,6 @@ DltDaemonContext *dlt_daemon_context_add(DltDaemon *daemon,
+
+ if (trace_status > daemon->default_trace_status)
+ trace_status = daemon->default_trace_status;
+-
+- dlt_vlog(LOG_NOTICE,
+- "Adapting ll_ts for context: %.4s:%.4s with %i %i\n",
+- apid,
+- ctid,
+- log_level,
+- trace_status);
+ }
+
+ /* Store log level and trace status,
+@@ -1370,14 +1363,6 @@ int dlt_daemon_user_send_log_level(DltDaemon *daemon, DltDaemonContext *context,
+
+ usercontext.log_level_pos = context->log_level_pos;
+
+- dlt_vlog(LOG_NOTICE, "Send log-level to context: %.4s:%.4s [%i -> %i] [%i -> %i]\n",
+- context->apid,
+- context->ctid,
+- context->log_level,
+- usercontext.log_level,
+- context->trace_status,
+- usercontext.trace_status);
+-
+ /* log to FIFO */
+ errno = 0;
+ ret = dlt_user_log_out2(context->user_handle,
+@@ -1617,23 +1602,18 @@ void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState)
+ {
+ switch (newState) {
+ case DLT_DAEMON_STATE_INIT:
+- dlt_log(LOG_INFO, "Switched to init state.\n");
+ daemon->state = DLT_DAEMON_STATE_INIT;
+ break;
+ case DLT_DAEMON_STATE_BUFFER:
+- dlt_log(LOG_INFO, "Switched to buffer state for socket connections.\n");
+ daemon->state = DLT_DAEMON_STATE_BUFFER;
+ break;
+ case DLT_DAEMON_STATE_BUFFER_FULL:
+- dlt_log(LOG_INFO, "Switched to buffer full state.\n");
+ daemon->state = DLT_DAEMON_STATE_BUFFER_FULL;
+ break;
+ case DLT_DAEMON_STATE_SEND_BUFFER:
+- dlt_log(LOG_INFO, "Switched to send buffer state for socket connections.\n");
+ daemon->state = DLT_DAEMON_STATE_SEND_BUFFER;
+ break;
+ case DLT_DAEMON_STATE_SEND_DIRECT:
+- dlt_log(LOG_INFO, "Switched to send direct state.\n");
+ daemon->state = DLT_DAEMON_STATE_SEND_DIRECT;
+ break;
+ }
+diff --git a/src/daemon/dlt_daemon_event_handler.c b/src/daemon/dlt_daemon_event_handler.c
+index db5767a..192f631 100644
+--- a/src/daemon/dlt_daemon_event_handler.c
++++ b/src/daemon/dlt_daemon_event_handler.c
+@@ -402,8 +402,6 @@ int dlt_connection_check_activate(DltEventHandler *evhdl,
+ case ACTIVE:
+
+ if (activation_type == DEACTIVATE) {
+- dlt_vlog(LOG_INFO, "Deactivate connection type: %u\n", con->type);
+-
+ dlt_event_handler_disable_fd(evhdl, con->receiver->fd);
+
+ if (con->type == DLT_CONNECTION_CLIENT_CONNECT)
+@@ -416,8 +414,6 @@ int dlt_connection_check_activate(DltEventHandler *evhdl,
+ case INACTIVE:
+
+ if (activation_type == ACTIVATE) {
+- dlt_vlog(LOG_INFO, "Activate connection type: %u\n", con->type);
+-
+ dlt_event_handler_enable_fd(evhdl,
+ con->receiver->fd,
+ con->ev_mask);
+--
+2.25.1
+
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf
new file mode 100644
index 00000000..177ee8f3
--- /dev/null
+++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf
@@ -0,0 +1,200 @@
+# Configuration file of DLT system manager
+#
+
+########################################################################
+# General configuration
+########################################################################
+
+# The application Id used for the System manager (Default: SYS)
+ApplicationId = SYS
+
+########################################################################
+# Shell configuration
+########################################################################
+
+# Be careful when you enable this feature. The user can send any kind of
+# shell commands. The commands are executed with the rights of the
+# dlt-system process. Dlt-system is started by default as user genivi.
+
+# Enable the Shell for command line injections (Default: 0)
+ShellEnable = 0
+
+########################################################################
+# Syslog Adapter configuration
+########################################################################
+
+# Enable the Syslog Adapter (Default: 0)
+# Enable only when systemd is already running in your system otherwise
+# logs will not come to Client (e.g. dlt_viewer).
+SyslogEnable = 0
+
+# The Context Id of the syslog adapter (Default: SYSL)
+SyslogContextId = SYSL
+
+# The UDP port opened by DLT system mamager to receive system logs (Default: 47111)
+SyslogPort = 47111
+
+########################################################################
+# Systemd Journal Adapter configuration
+########################################################################
+
+# This feature is only available, when dlt is compiled with
+# the option "WITH_SYSTEMD_JOURNAL"
+
+# Dlt-system is started by default as user genivi, see dlt-system.service file.
+# The user genivi must be added to one of the groups 'adm', 'wheel' or
+# 'systemd-journal' to have access to all journal entries.
+# Enable Systemd Journal Adapter only when your system doesn't have systemd.
+# Don't enable both (SyslogEnable = 1 and JournalEnable = 1) together because
+# it causes bind error (can see on connected client).
+
+# Enable the Systemd Journal Adapter (Default: 0)
+JournalEnable = 1
+
+# The Context Id of the journal adapter (Default: JOUR)
+JournalContextId = JOUR
+
+# Show only log entries of current boot and follow (Default: 1)
+# if not JournalCurrentBoot and not JournalFollow is set all
+# persistent journal entries will be logged
+JournalCurrentBoot = 1
+
+# Show only the last 10 entries and follow (Default: 0)
+JournalFollow = 0
+
+# Map the log levels (Default: 1)
+# Mapping journal log levels to DLT log levels
+# 0 Emergency DLT_LOG_FATAL
+# 1 Alert DLT_LOG_FATAL
+# 2 Critical DLT_LOG_FATAL
+# 3 Error DLT_LOG_ERROR
+# 4 Warning DLT_LOG_WARN
+# 5 Notice DLT_LOG_INFO
+# 6 Informational DLT_LOG_INFO
+# 7 Debug DLT_LOG_DEBUG
+JournalMapLogLevels = 1
+
+# Use the original timestamp (uptime when the event actually occured) as DLT timestamp (Default: 1)
+JournalUseOriginalTimestamp = 1
+
+########################################################################
+# Filetransfer Manager
+########################################################################
+
+# Enable the Filetransfer (Default: 0)
+FiletransferEnable = 0
+
+# The Context Id of the filetransfer (Default: FILE)
+FiletransferContextId = FILE
+
+# Time in seconds after startup of dlt-system when first file is transfered (Default: 0)
+FiletransferTimeStartup = 0
+
+# Time in ms seconds to wait between two file transfer logs of a single file to DLT. (Default: 10)
+FiletransferTimeoutBetweenLogs = 5
+
+# You can define multiple file transfer directories
+# Define the directory to watch, whether to compress
+# the file with zlib and the zlib compression level
+# For parsing purposes, FiletransferCompressionLevel
+# must be the last one of three values.
+# For compressing and sending following subdirectories are used: .tocompress and .tosend
+FiletransferDirectory = /var/dlt/ft1
+FiletransferCompression = 1
+FiletransferCompressionLevel = 5
+
+# Second directory to watch
+FiletransferDirectory = /var/dlt/ft2
+FiletransferCompression = 0
+FiletransferCompressionLevel = 5
+
+# And so on...
+FiletransferDirectory = /var/dlt/ft3
+FiletransferCompression = 0
+FiletransferCompressionLevel = 5
+
+
+########################################################################
+# Log short files, especially from proc filesystem
+########################################################################
+
+# Enable the logging of files (Default: 0)
+LogFileEnable = 0
+
+# Log different files
+# Mode: 0 = off, 1 = startup only, 2 = regular
+# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent
+
+# Log the file /etc/sysrel
+LogFileFilename = /etc/sysrel
+LogFileMode = 1
+LogFileTimeDelay = 3
+LogFileContextId = VER
+
+# Log the file /proc/version
+LogFileFilename = /proc/version
+LogFileMode = 1
+LogFileTimeDelay = 3
+LogFileContextId = VERK
+
+# Log the file /proc/meminfo
+# LogFileFilename = /proc/meminfo
+# LogFileMode = 2
+# LogFileTimeDelay = 5
+# LogFileContextId = MEM
+
+# Log the file /proc/cpuinfo
+# LogFileFilename = /proc/cpuinfo
+# LogFileMode = 2
+# LogFileTimeDelay = 5
+# LogFileContextId = CPU
+
+# Log the file /proc/stat
+LogFileFilename = /proc/stat
+LogFileMode = 2
+LogFileTimeDelay = 1
+LogFileContextId = STAT
+
+# Log the file /proc/modules
+# LogFileFilename = /proc/modules
+# LogFileMode = 2
+# LogFileTimeDelay = 5
+# LogFileContextId = MOD
+
+# Log the file /proc/ioports
+# LogFileFilename = /proc/ioports
+# LogFileMode = 1
+# LogFileTimeDelay = 5
+# LogFileContextId = IOP
+
+# Log the file /proc/iomem
+# LogFileFilename = /proc/iomem
+# LogFileMode = 1
+# LogFileTimeDelay = 5
+# LogFileContextId = IOM
+
+########################################################################
+# Log Processes
+########################################################################
+
+# Enable the logging of processes (Default: 0)
+LogProcessesEnable = 0
+
+# The Context Id of the kernel version (Default: PROC)
+LogProcessesContextId = PROC
+
+# Log different processes
+# Name: * = all process, X=alternative name (must correspind to /proc/X/cmdline
+# Filename: the filename in the subdirectory /proc/processid/
+# Mode: 0 = off, 1 = startup only, 2 = regular
+# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent
+
+LogProcessName = *
+LogProcessFilename = stat
+LogProcessMode = 2
+LogProcessTimeDelay = 5
+
+# LogProcessName = dlt_viewer
+# LogProcessFilename = stat
+# LogProcessMode = 2
+# LogProcessTimeDelay = 1
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf
new file mode 100644
index 00000000..444eb123
--- /dev/null
+++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf
@@ -0,0 +1,213 @@
+# Configuration file of DLT daemon
+#
+# Configurations made here will overwrite settings by command line
+
+########################################################################
+# General configuration #
+########################################################################
+
+# Start daemon in debug mode, so that all internal debug information is printed out on the console
+# Verbose = 1
+
+# Daemonize DLT daemon, if it is started as daemon
+# Daemonize = 1
+
+# Send DLT messages with serial header
+# SendSerialHeader = 1
+
+# Send automatic get log info response during context registration
+SendContextRegistration = 1
+
+# Option of get log info response during context registration (Default: 7)
+# Apid and Ctid Only = 3, with LogLevel = 4, with TraceStatus = 5, with LL and TS = 6, with LL, TS, and Description = 7
+# SendContextRegistrationOption = 7
+
+# Send automatic time packets every second if client is connected (Default: 0)
+# SendMessageTime = 0
+
+# Set ECU ID (Default: ECU1)
+ECUId = ECU1
+
+# Size of shared memory (Default: 100000)
+SharedMemorySize = 100000
+
+# Directory where to store the persistant configuration (Default: /tmp)
+# PersistanceStoragePath = /tmp
+
+# The logging console for internal logging of dlt-daemon (Default: 0)
+# 0 = log to stdout
+# 1 = log to syslog
+# 2 = log to file (see LoggingFilename)
+# 3 = log to stderr
+LoggingMode = 0
+
+# The internal log level, up to which logs are written (Default: 6)
+# LOG_EMERG = 0, LOG_ALERT = 1, LOG_CRIT = 2, LOG_ERR = 3, LOG_WARNING = 4, LOG_NOTICE = 5, LOG_INFO = 6, LOG_DEBUG = 7
+LoggingLevel = 6
+
+# The logging filename if internal logging mode is log to file (Default: /tmp/dlt.log)
+LoggingFilename = /tmp/dlt.log
+
+# Timeout on send to client (sec)
+TimeOutOnSend = 4
+
+# The minimum size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 500000)
+RingbufferMinSize = 500000
+
+# The max size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 10000000)
+RingbufferMaxSize = 10000000
+
+# The step size the Ringbuffer is increased, used for storing temporary DLT messages, until client is connected (Default: 500000)
+RingbufferStepSize = 500000
+
+# The size of Daemon FIFO (/tmp/dlt) (Default: 65536, MinSize: depend on pagesize of system, MaxSize: please check /proc/sys/fs/pipe-max-size)
+# This is only supported for Linux.
+# DaemonFIFOSize = 65536
+
+# Initial log-level that is sent when an application registers (Default: 4)
+# DLT_LOG_OFF = 0, DLT_LOG_FATAL = 1, DLT_LOG_ERROR = 2, DLT_LOG_WARN = 3, DLT_LOG_INFO = 4, DLT_LOG_DEBUG = 5, DLT_LOG_VERBOSE = 6
+# ContextLogLevel = 4
+
+# Initial trace-status that is sent when an application registers (Default: 0)
+# DLT_TRACE_STATUS_OFF = 0, DLT_TRACE_STATUS_ON = 1
+# ContextTraceStatus = 0
+
+# Force log level and trace status of context to not exceed "ContextLogLevel" and "ContextTraceStatus" (Default: 0 = OFF)
+# If set to 1 (ON) whenever a context registers or changes the log-level it has to be lower or equal to ContextLogLevel
+# ForceContextLogLevelAndTraceStatus = 1
+
+# Allows injection mode usage (Default: 1)
+# InjectionMode = 1
+
+########################################################################
+# Gateway Configuration #
+########################################################################
+# Enable Gateway mode (Default: 0)
+# GatewayMode = 1
+
+# Read gateway configuration from another location
+# GatewayConfigFile = /etc/dlt_gateway.conf
+
+########################################################################
+# Permission configuration #
+# ==================================================================== #
+# Owner group of daemon FIFO directory(Default: /tmp/dlt)
+# (If not set, primary group of dlt-daemon process is used)
+# DaemonFifoGroup = dlt_user_apps_group
+
+########################################################################
+# Control Application #
+########################################################################
+ControlSocketPath = /tmp/dlt-ctrl.sock
+
+########################################################################
+# Offline Trace memory #
+########################################################################
+
+# Store DLT messages to local directory, if not set offline Trace is off (Default: off)
+# OfflineTraceDirectory = /tmp
+
+# Maximum size in bytes of one trace file (Default: 1000000)
+# OfflineTraceFileSize = 1000000
+
+# Maximum size of all trace files (Default: 4000000)
+# OfflineTraceMaxSize = 4000000
+
+# Filename timestamp based or index based (Default:1) (timestamp based=1, index based =0)
+# OfflineTraceFileNameTimestampBased = 1
+
+########################################################################
+# Local console output configuration #
+########################################################################
+
+# Print DLT messages; payload as ASCII
+# PrintASCII = 1
+
+# Print DLT messages; payload as hex
+# PrintHex = 1
+
+# Print DLT messages; only headers
+# PrintHeadersOnly = 1
+
+
+########################################################################
+# Client Serial port configuration #
+########################################################################
+
+# Additional support for serial device
+# If a device name is set serial port is enabled.
+# RS232DeviceName = /dev/ttyS0
+
+# Serial device baudrate (Default: 115200)
+# RS232Baudrate = 115200
+
+# Sync to serial header on serial connection
+# RS232SyncSerialHeader = 1
+
+########################################################################
+# TCP Serial port configuration #
+########################################################################
+
+# Sync to serial header on all TCP connections
+# TCPSyncSerialHeader = 1
+
+########################################################################
+# ECU Software version info #
+########################################################################
+
+# Send periodic get ecu version info (Default: 0)
+# SendECUSoftwareVersion = 0
+
+# Absolute path to file storing version info - otherwise DLT version is used
+# PathToECUSoftwareVersion = <absolute-path-to-file>
+
+########################################################################
+# Timezone info #
+########################################################################
+
+# Send periodic timezone info (Default: 0)
+# SendTimezone = 0
+
+##############################################################################
+# Offline logstorage #
+##############################################################################
+# Store DLT log messages, if not set offline logstorage is off (Default: off)
+# Maximum devices to be used as offline logstorage devices
+OfflineLogstorageMaxDevices = 1
+
+# Path to store DLT offline log storage messages (Default: off)
+OfflineLogstorageDirPath = /var/nvlog/dlt
+
+# File options
+# Appends timestamp in log file name, Disable by setting to 0 (Default: 1)
+OfflineLogstorageTimestamp = 1
+
+# Appends delimiter in log file name, allowed punctutations only (Default: _)
+OfflineLogstorageDelimiter = _
+
+# Wrap around value for log file count in file name (Default: UINT_MAX)
+OfflineLogstorageMaxCounter = 999
+
+# Maximal used memory for Logstorage Cache in KB (Default: 30000 KB)
+OfflineLogstorageCacheSize = 4096
+
+##############################################################################
+# UDP Multicast Configuration #
+##############################################################################
+# Enable UDP connection support for daemon(Control Message/Multicast is enabled)
+# UDPConnectionSetup = 1
+
+# UDP multicast address(default:225.0.0.37)
+# UDPMulticastIPAddress = 225.0.0.37
+
+# UDP multicast port(default:3491)
+# UDPMulticastIPPort = 3491
+
+##############################################################################
+# BindAddress Limitation #
+##############################################################################
+# Accept connections only on this list of IP addresses (Default: "0.0.0.0" INADDR_ANY)
+# The IP addresses must be separated with ',' or ';' but not with space character ' '
+# If DLT_USE_IPv6 flag is ON, then only IPv6 addresses are accepted
+# If DLT_USE_IPv6 flag is OFF, then only IPv4 addresses are accepted
+# BindAddress = 160.48.199.97;160.48.199.98
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf
new file mode 100644
index 00000000..fa8dac84
--- /dev/null
+++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf
@@ -0,0 +1,9 @@
+[FILTER1]
+LogAppName=.*
+ContextName=.*
+LogLevel=DLT_LOG_INFO
+File=dltlog
+FileSize=2000000
+NOFiles=10
+EcuID=ECU1
+
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend
new file mode 100644
index 00000000..75402fc6
--- /dev/null
+++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend
@@ -0,0 +1,72 @@
+# DLT for Linux container integration
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI:append = " \
+ file://0001-Disable-noisy-log-from-dlt-daemon.patch \
+ file://dlt.conf \
+ file://dlt-system.conf \
+ file://dlt_logstorage.conf \
+"
+
+# Mandatory require to systemd feature
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+PACKAGECONFIG = "systemd systemd-watchdog systemd-journal dlt-system unixsocket"
+
+# General Options
+PACKAGECONFIG[unixsocket] = "-DDLT_IPC=UNIX_SOCKET -DDLT_USER_IPC_PATH=${DLT_COMMON_IPC_PATH},-DDLT_IPC=FIFO"
+
+# Common DLT log transfer path between host and guest
+DLT_COMMON_IPC_PATH = "/run/dlt/"
+
+# Breakdown each package from all in one
+PACKAGE_BEFORE_PN:append = "libdlt ${PN}-command ${PN}-system ${PN}-gateway ${PN}-dbus ${PN}-example"
+
+SYSTEMD_PACKAGES:append = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', '${PN}-system', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', ' ${PN}-dbus', '', d)} \
+"
+SYSTEMD_SERVICE:${PN}-system = "dlt-system.service"
+SYSTEMD_AUTO_ENABLE:${PN}-system = "enable"
+SYSTEMD_SERVICE:${PN}-dbus = "dlt-dbus.service"
+SYSTEMD_AUTO_ENABLE:${PN}-dbus = "enable"
+SYSTEMD_SERVICE:${PN} = "dlt.service"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/dlt.conf ${D}${sysconfdir}/
+ install -m 0644 ${WORKDIR}/dlt-system.conf ${D}${sysconfdir}/
+
+ install -d ${D}/var/nvlog/dlt
+ install -m 0644 ${WORKDIR}/dlt_logstorage.conf ${D}/var/nvlog/dlt
+}
+
+FILES:libdlt = "${libdir}/libdlt${SOLIBS}"
+FILES:${PN}-command = " \
+ ${bindir}/dlt-receive \
+ ${bindir}/dlt-control \
+ ${bindir}/dlt-convert \
+ ${bindir}/dlt-logstorage-ctrl \
+ ${bindir}/dlt-sortbytimestamp \
+ ${bindir}/dlt-adaptor-stdin \
+"
+FILES:${PN}-system = " \
+ ${bindir}/dlt-system \
+ ${sysconfdir}/dlt-system.conf \
+ ${systemd_system_unitdir}/dlt-system.service \
+"
+FILES:${PN}-gateway = " \
+ ${bindir}/dlt-passive-node-ctrl \
+ ${sysconfdir}/dlt_gateway.conf \
+"
+FILES:${PN}-dbus = " \
+ ${bindir}/dlt-dbus \
+ ${sysconfdir}/dlt-dbus.conf \
+"
+FILES:${PN}-example = " \
+ ${bindir}/dlt-example* \
+"
+FILES:${PN}:append = " \
+ /var/nvlog/dlt/dlt_logstorage.conf \
+"
diff --git a/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb b/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb
index 6a47cfe5..5e2025a7 100644
--- a/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb
+++ b/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb
@@ -8,4 +8,5 @@ IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "syst
IMAGE_INSTALL:append = " \
packagegroup-agl-ic-core \
+ packagegroup-agl-container-feature-logging-guest \
"
diff --git a/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb b/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb
index 1b4f7a27..305d1dd8 100644
--- a/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb
+++ b/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb
@@ -6,6 +6,7 @@ IMAGE_INSTALL += " \
kernel-image \
lxc \
drm-lease-manager \
+ packagegroup-agl-container-feature-logging-host \
"
CONTAINER_IMAGES ??= ""
diff --git a/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-container-feature-logging.bb b/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-container-feature-logging.bb
new file mode 100644
index 00000000..3b218005
--- /dev/null
+++ b/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-container-feature-logging.bb
@@ -0,0 +1,31 @@
+SUMMARY = "AGL container integration feature packages for logging."
+DESCRIPTION = "This pacage group including AGL container integration feature packages \
+ for logging."
+HOMEPAGE = "https://confluence.automotivelinux.org/display/IC"
+
+LICENSE = "Apache-2.0"
+
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
+
+inherit packagegroup
+
+PACKAGES = "\
+ ${PN}-host \
+ ${PN}-guest \
+ ${PN}-hostdev \
+ ${PN}-guestdev \
+"
+RDEPENDS:${PN}-host += "\
+ dlt-daemon \
+ dlt-daemon-system \
+"
+RDEPENDS:${PN}-guest += "\
+ dlt-daemon-system \
+"
+RDEPENDS:${PN}-hostdev += "\
+ ${PN}-host \
+ dlt-daemon-command \
+"
+RDEPENDS:${PN}-guestdev += "\
+ ${PN}-guest\
+"