aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitreview5
-rw-r--r--README.md92
-rw-r--r--conf/conf-notes.txt4
-rw-r--r--conf/include/agl-telematics-demo.inc5
-rw-r--r--conf/layer.conf12
-rw-r--r--recipes-config/agl-login-manager/agl-login-manager_%.bbappend1
-rw-r--r--recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config3
-rw-r--r--recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb15
-rw-r--r--recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/0001-remove-Fido-service-provider.patch31
-rw-r--r--recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bbappend4
-rw-r--r--recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules8
-rw-r--r--recipes-core/udev/sw-gpsd-udev-conf_1.0.bb16
-rw-r--r--recipes-core/udev/usb-can-udev-conf/60-usb-can.rules7
-rw-r--r--recipes-core/udev/usb-can-udev-conf/slcand-default2
-rw-r--r--recipes-core/udev/usb-can-udev-conf/slcand@.service13
-rw-r--r--recipes-core/udev/usb-can-udev-conf_1.0.bb25
-rw-r--r--recipes-demo/telematics-recorder/telematics-recorder_git.bb25
-rw-r--r--recipes-navigation/gpsd/gpsd/sw-device-hook23
-rw-r--r--recipes-navigation/gpsd/gpsd_%.bbappend9
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb21
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform.bb13
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform.inc3
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb34
-rw-r--r--templates/feature/agl-telematics-demo/50_bblayers.conf.inc5
-rw-r--r--templates/feature/agl-telematics-demo/50_local.conf.inc2
-rw-r--r--templates/feature/agl-telematics-demo/included.dep1
27 files changed, 380 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..d08c3f7
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.automotivelinux.org
+port=29418
+project=AGL/meta-agl-telematics-demo
+defaultbranch=master
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..dee8854
--- /dev/null
+++ b/README.md
@@ -0,0 +1,92 @@
+**README.md for the 'meta-agl-telematics-demo' layer.**
+
+**See README-AGL.md in meta-agl for general information about Automotive Grade Linux.**
+
+
+meta-agl-telematics-demo, the layer for the Telematics DEMO platform of Automotive Grade Linux
+=================================================================================
+
+The layer 'meta-agl-telematics-demo' provides a reference/demo platform and
+applications for the AGL Distribution.
+
+AGL is creating an automotive specific Linux distribution (AGL UCB) that unifies
+the software that has been written in a number of places already,
+such as GENIVI and Tizen IVI.
+
+The AGL community appreciates feedback, ideas, suggestion, bugs and
+documentation just as much as code. Please join the irc conversation
+at the #automotive channel on irc.freenode.net and our mailing list.
+
+For infomation for subscribing to the mailing list
+ [automotive-discussions](http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions)
+For information about AGL Distribution, see the
+ [AGL Distribution](https://wiki.automotivelinux.org/agl-distro)
+For information abount Getting started with AGL
+ [here](https://wiki.automotivelinux.org/start/getting-started)
+For information about contributing to the AGL Distro
+ [here](https://wiki.automotivelinux.org/agl-distro/contributing)
+
+
+Quick start guide
+-----------------
+See README-AGL.md in meta-agl
+
+
+Layer Dependencies
+------------------
+
+* Base dependencies [agl-telematics-demo]:
+
+URI: git://git.yoctoproject.org/poky
+
+URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
+
+URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl-devel
+
+URI: git://git.openembedded.org/meta-openembedded
+
+Specifically out of meta-openembedded these sub-layers are used:
+
+ - meta-openembedded/meta-oe
+ - meta-openembedded/meta-multimedia
+ - meta-openembedded/meta-efl
+ - meta-openembedded/meta-networking
+ - meta-openembedded/meta-python
+ - meta-openembedded/meta-ruby
+
+* Hardware dependencies:
+
+The Raspberry Pi 3 board depends in addition on:
+
+URI: http://git.yoctoproject.org/meta-raspberrypi
+
+
+Packagegroups
+-------------
+
+AGL Telematics Demo Platform's package group design:
+
+* packagegroup-agl-telematics-demo-platform
+
+This is for generating the image 'agl-telematics-demo-platform' which is a full
+image for the Telematics profile of the AGL distro.
+
+Following meta-agl's design of packagegroups, ``agl-telematics-demo-platform.bb``
+contains only ``packagegroup-agl-telematics-demo-platform``.
+
+``packagegroup-agl-telematics-demo-platform`` has one packagegroup in it,
+``packagegroup-agl-profile-telematics``, and the packages required for the DEMO
+applications.
+
+Supported Machines
+------------------
+
+At the moment only the Raspberry Pi 3 has been tested, but the other
+AGL supported platforms (see `README-AGL.md` in meta-agl layer), should work.
+
+Supported Target of bitbake
+------------------------
+
+* `agl-telematics-demo-platform` is the full image of the AGL Telematics
+Demo Platform with all applications
+
diff --git a/conf/conf-notes.txt b/conf/conf-notes.txt
new file mode 100644
index 0000000..2060128
--- /dev/null
+++ b/conf/conf-notes.txt
@@ -0,0 +1,4 @@
+Common targets are:
+ agl-cluster-demo-platform
+ agl-cluster-demo-platform-crosssdk
+ agl-cluster-demo-platform-qa
diff --git a/conf/include/agl-telematics-demo.inc b/conf/include/agl-telematics-demo.inc
new file mode 100644
index 0000000..a8847e0
--- /dev/null
+++ b/conf/include/agl-telematics-demo.inc
@@ -0,0 +1,5 @@
+IMAGE_FEATURES =+ "debug-tweaks"
+
+#DISTRO_FEATURES_append = " "
+
+#IMAGE_INSTALL_append = " "
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..14892b5
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,12 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "agl-telematics-demo"
+BBFILE_PATTERN_agl-telematics-demo = "^${LAYERDIR}/"
+BBFILE_PRIORITY_agl-telematics-demo = "7"
+
+LAYERSERIES_COMPAT_agl-telematics-demo = "thud"
diff --git a/recipes-config/agl-login-manager/agl-login-manager_%.bbappend b/recipes-config/agl-login-manager/agl-login-manager_%.bbappend
new file mode 100644
index 0000000..7b7cd35
--- /dev/null
+++ b/recipes-config/agl-login-manager/agl-login-manager_%.bbappend
@@ -0,0 +1 @@
+LOGIN_USER ?= "0"
diff --git a/recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config
new file mode 100644
index 0000000..6ce2a76
--- /dev/null
+++ b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config
@@ -0,0 +1,3 @@
+[service_cluster_ethernet]
+Type=ethernet
+IPv4=@CLUSTER_DEMO_SERVER_IP@/255.255.255.0
diff --git a/recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb
new file mode 100644
index 0000000..78528aa
--- /dev/null
+++ b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Cluster demo connman configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://cluster.config"
+
+CLUSTER_DEMO_SERVER_IP ?= "192.168.20.99"
+
+do_install() {
+ install -d ${D}${localstatedir}/lib/connman
+ sed "s/@CLUSTER_DEMO_SERVER_IP@/${CLUSTER_DEMO_SERVER_IP}/g" \
+ ${WORKDIR}/cluster.config > ${D}${localstatedir}/lib/connman/cluster.config
+}
+
+FILES_${PN} += "${localstatedir}/*"
diff --git a/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/0001-remove-Fido-service-provider.patch b/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/0001-remove-Fido-service-provider.patch
new file mode 100644
index 0000000..c1545c7
--- /dev/null
+++ b/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/0001-remove-Fido-service-provider.patch
@@ -0,0 +1,31 @@
+diff --git a/serviceproviders.xml b/serviceproviders.xml
+index e7f36ac..f1a0ca3 100644
+--- a/serviceproviders.xml
++++ b/serviceproviders.xml
+@@ -2236,26 +2236,6 @@ conceived.
+
+ <!-- Canada -->
+ <country code="ca">
+- <provider>
+- <name>Fido</name>
+- <gsm>
+- <network-id mcc="302" mnc="370"/>
+- <apn value="internet.fido.ca">
+- <plan type="postpaid"/>
+- <usage type="internet"/>
+- <username>fido</username>
+- <password>fido</password>
+- <dns>204.92.15.211</dns>
+- <dns>207.181.101.4</dns>
+- </apn>
+- <apn value="mms.fido.ca">
+- <usage type="mms"/>
+- <name>Fido MMS</name>
+- <mmsc>http://mms.fido.ca</mmsc>
+- <mmsproxy>mm1.fido.ca:80</mmsproxy>
+- </apn>
+- </gsm>
+- </provider>
+ <provider>
+ <name>Rogers</name>
+ <gsm>
diff --git a/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bbappend b/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bbappend
new file mode 100644
index 0000000..35ef26f
--- /dev/null
+++ b/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-remove-Fido-service-provider.patch"
+
diff --git a/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules
new file mode 100644
index 0000000..a554700
--- /dev/null
+++ b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules
@@ -0,0 +1,8 @@
+# udev rules for gpsd for Sierra Wireless modems
+SUBSYSTEM!="tty", GOTO="sw_gpsd_rules_end"
+
+ENV{ID_VENDOR_ID}=="1199", ATTRS{bInterfaceNumber}=="02", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+
+ACTION=="remove", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+
+LABEL="sw_gpsd_rules_end"
diff --git a/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb
new file mode 100644
index 0000000..9b6fd57
--- /dev/null
+++ b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Sierra-Wireless MC7xxx modem gpsd udev configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://60-sw-gpsd.rules"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/60-sw-gpsd.rules ${D}${sysconfdir}/udev/rules.d/
+ fi
+}
+
+RDEPENDS_${PN} += "systemd"
diff --git a/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules
new file mode 100644
index 0000000..3aa800a
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules
@@ -0,0 +1,7 @@
+# udev rules for USB CAN adapters
+SUBSYSTEM!="tty", GOTO="usb_can_rules_end"
+
+# VScom USB-CAN Plus
+ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", SYMLINK+="usbcan%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="slcand@%k.service"
+
+LABEL="usb_can_rules_end"
diff --git a/recipes-core/udev/usb-can-udev-conf/slcand-default b/recipes-core/udev/usb-can-udev-conf/slcand-default
new file mode 100644
index 0000000..a86552f
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/slcand-default
@@ -0,0 +1,2 @@
+# Defaults for VScom USB-CAN Plus @ 500 Kb/s CAN rate
+SLCAND_OPTS="-o -s6 -t hw -S 3000000"
diff --git a/recipes-core/udev/usb-can-udev-conf/slcand@.service b/recipes-core/udev/usb-can-udev-conf/slcand@.service
new file mode 100644
index 0000000..3c30e51
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/slcand@.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Serial CAN daemon (can-utils)
+BindsTo=dev-%i.device
+After=dev-%i.device
+
+[Service]
+Type=forking
+StopWhenUnneeded=yes
+Environment=SLCAND_OPTS="-o -c -s6" SLCAND_DEV=can0
+EnvironmentFile=-/etc/default/slcand
+EnvironmentFile=-/etc/sysconfig/slcand
+ExecStart=/usr/bin/slcand $SLCAND_OPTS %I $SLCAND_DEV
+ExecStartPost=/bin/sh -c '/bin/sleep 3; /sbin/ip link set $SLCAND_DEV up'
diff --git a/recipes-core/udev/usb-can-udev-conf_1.0.bb b/recipes-core/udev/usb-can-udev-conf_1.0.bb
new file mode 100644
index 0000000..fb5deec
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf_1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "USB CAN adapter udev configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://60-usb-can.rules \
+ file://slcand@.service \
+ file://slcand-default \
+"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/60-usb-can.rules ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/slcand@.service ${D}${systemd_system_unitdir}/
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/slcand-default ${D}${sysconfdir}/default/slcand
+ fi
+}
+
+FILES_${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS_${PN} += "systemd"
diff --git a/recipes-demo/telematics-recorder/telematics-recorder_git.bb b/recipes-demo/telematics-recorder/telematics-recorder_git.bb
new file mode 100644
index 0000000..148c8b3
--- /dev/null
+++ b/recipes-demo/telematics-recorder/telematics-recorder_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Telematics Recorder AGL Demonstration"
+DESCRIPTION = "AGL Application for demonstrating telematics recorder functionality"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-telematics-demo-recorder"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-telematics-demo-recorder;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "${AGL_APP_REVISION}"
+
+PV = "1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+# build-time dependencies
+DEPENDS = "glib-2.0 mosquitto"
+
+inherit cmake aglwgt
+
+RDEPENDS_${PN} += " \
+ agl-service-can-low-level \
+ agl-service-gps \
+ agl-service-network \
+ libmosquitto1 \
+"
diff --git a/recipes-navigation/gpsd/gpsd/sw-device-hook b/recipes-navigation/gpsd/gpsd/sw-device-hook
new file mode 100644
index 0000000..e1e6f7a
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd/sw-device-hook
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Figure out the parent usb device
+USBDEV=`ls -l "$1" |sed -ne 's!^c[^ ]* [0-9]* [^ ]* [^ ]* \([0-9]*\), \([0-9]*\) .*!/sys/dev/char/\1:\2/device/../..!p'`
+
+# Silently ignore any non-USB ports
+if [ ! -r "$USBDEV/idVendor" ] || [ ! -r "$USBDEV/idProduct" ]; then
+ exit 0
+fi
+
+VID=`cat "$USBDEV/idVendor"`
+PID=`cat "$USBDEV/idProduct"`
+case "$2" in
+ ACTIVATE) CMD=START ;;
+ *) CMD=STOP ;;
+esac
+
+case "$VID:$PID" in
+ "1199:9071"|"1199:9079") echo \$GPS_$CMD >"$1" ;;
+ *) ;;
+esac
+
+exit 0
diff --git a/recipes-navigation/gpsd/gpsd_%.bbappend b/recipes-navigation/gpsd/gpsd_%.bbappend
new file mode 100644
index 0000000..80e91f0
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_%.bbappend
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://sw-device-hook"
+
+do_install_append() {
+ # Install device-hook script for starting NMEA output on Sierra Wireless modems
+ install -d ${D}${sysconfdir}/gpsd
+ install -m 0755 ${WORKDIR}/sw-device-hook ${D}${sysconfdir}/gpsd/device-hook
+}
diff --git a/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb b/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb
new file mode 100644
index 0000000..75b4f5c
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Cross SDK of AGL Distribution for telematics profile Demo"
+
+DESCRIPTION = "SDK image for AGL Distribution for Telematics profile Demo. \
+It includes the full meta-toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
+
+require agl-telematics-demo-platform.bb
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+inherit populate_sdk
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
diff --git a/recipes-platform/images/agl-telematics-demo-platform.bb b/recipes-platform/images/agl-telematics-demo-platform.bb
new file mode 100644
index 0000000..403f4b7
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "AGL Telematics Demo Platform image."
+
+require agl-telematics-demo-platform.inc
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " \
+ "
+
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-telematics-demo-platform \
+ "
+
diff --git a/recipes-platform/images/agl-telematics-demo-platform.inc b/recipes-platform/images/agl-telematics-demo-platform.inc
new file mode 100644
index 0000000..bd3a89e
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform.inc
@@ -0,0 +1,3 @@
+# Base image
+require recipes-platform/images/agl-image-telematics.inc
+
diff --git a/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb
new file mode 100644
index 0000000..e3614de
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb
@@ -0,0 +1,34 @@
+SUMMARY = "The software for AGL telematics profile demo platform"
+DESCRIPTION = "A set of packages belonging to the AGL telematics demo platform"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-telematics-demo-platform \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-telematics \
+ "
+
+AGL_APPS = " \
+ telematics-recorder \
+ "
+
+AGL_APIS = " \
+ agl-service-gps \
+ "
+
+RDEPENDS_${PN}_append = " \
+ gpsd \
+ sw-gpsd-udev-conf \
+ usb-can-udev-conf \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'ofono-tests gps-utils' , '', d)} \
+ ${AGL_APPS} \
+ ${AGL_APIS} \
+"
+# packagegroup-agl-core-navigation? (brings in geoclue...)
diff --git a/templates/feature/agl-telematics-demo/50_bblayers.conf.inc b/templates/feature/agl-telematics-demo/50_bblayers.conf.inc
new file mode 100644
index 0000000..e3eec40
--- /dev/null
+++ b/templates/feature/agl-telematics-demo/50_bblayers.conf.inc
@@ -0,0 +1,5 @@
+# This layer contains the telematics demo code only
+#-----------------------------------------------------------
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl-telematics-demo \
+"
diff --git a/templates/feature/agl-telematics-demo/50_local.conf.inc b/templates/feature/agl-telematics-demo/50_local.conf.inc
new file mode 100644
index 0000000..64c8714
--- /dev/null
+++ b/templates/feature/agl-telematics-demo/50_local.conf.inc
@@ -0,0 +1,2 @@
+#see meta-agl-telematics-demo/conf/include/agl-telematics-demo.inc
+require conf/include/agl-telematics-demo.inc
diff --git a/templates/feature/agl-telematics-demo/included.dep b/templates/feature/agl-telematics-demo/included.dep
new file mode 100644
index 0000000..e5009f9
--- /dev/null
+++ b/templates/feature/agl-telematics-demo/included.dep
@@ -0,0 +1 @@
+agl-profile-telematics