Add avs-device-sdk servie

This commit is contained in:
Huang Xin 2022-07-02 02:10:33 -07:00
parent 0e043c2119
commit fe4c591259
3 changed files with 52 additions and 2 deletions

View File

@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d92e60ee98664c54f68aa515a6169708"
DEPENDS = "useradd curl nghttp2 sqlite3 openssl gstreamer1.0 gstreamer1.0-plugins-base libopus libarchive cjson"
SRC_URI = "git://xajhuang.com:3100/avs/avs-device-sdk.git;protocol=https;branch=master \
file://avs-device-sdk.service \
file://setup_avs.sh \
file://AlexaClientSDKConfig.json \
file://feier/appLWA.json \
file://feier/asound.conf \
@ -68,7 +70,7 @@ KWDRESDIR = "${S}/extension/avs-weakup-sdk/wakeword-models/x1f8"
KWDINSDIR = "${D}/data/avs/wakeword-models/x1f8"
EXTRA_OECMAKE = "${S} -DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/home/avs/SampleApp -DCOMPANION_APP_AUTH=OFF \
-DCMAKE_INSTALL_PREFIX=/home/avs/SampleApp -DCOMPANION_APP_AUTH=ON \
-DGSTREAMER_MEDIA_PLAYER=ON -DASPMIC=ON -DCMAKE_BUILD_TYPE=DEBUG -DPKCS11=ON \
-DCURL_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir}/curl \
-DCURL_LIBRARY=${STAGING_DIR_HOST}${libdir}/libcurl.so \
@ -80,7 +82,10 @@ EXTRA_OECMAKE = "${S} -DBUILD_TESTING=OFF \
-DEXTENSION_PATH=${S}/extension/avs-cpp-sdk/KWD \
-DASPMIC_INCLUDE_DIR=${S}/extension/mic-asp-sdk/include \
"
inherit cmake
inherit cmake systemd
SYSTEMD_SERVICE_${PN} = "avs-device-sdk.service"
SYSTEMD_AUTO_ENABLE_${PN} = "enable"
FILES_${PN} = "/home/avs/SampleApp/* /etc/* /lib/* /data/dingdong/*"
FILES_${PN} += "/data/dingdong/etc/ /data/database/"
@ -111,6 +116,14 @@ do_install_append() {
install -d -o avs -g avs ${D}/data/dingdong/etc/
install -d -o avs -g avs ${D}/data/database/
install -d ${D}${sysconfdir}/
install -d ${D}${sysconfdir}/systemd/system/
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/avs-device-sdk.service ${D}${systemd_unitdir}/system
install -m 0755 -o avs -g avs ${WORKDIR}/setup_avs.sh ${D}/home/avs/SampleApp/setup_avs.sh
install -m 0644 -o avs -g avs ${WORKDIR}/AlexaClientSDKConfig.json ${D}/data/avs/AlexaClientSDKConfig.json
install -m 0644 -o avs -g avs ${WORKDIR}/feier/asound.conf ${D}/etc/asound.conf

View File

@ -0,0 +1,14 @@
[Unit]
Description=Appmainprog
After=appmainprog.service network-online.target
[Service]
Type=simple
ExecStart=/bin/bash /home/avs/SampleApp/setup_avs.sh >& ttyS0
StandardOutput=tty
StandardError=tty
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,23 @@
#!/bin/bash
source /etc/softhsm
#INS=`find /data/.softhsm2/tokens/ -name "generation" | awk '{print $0}'`
if [ ! -d "/data/.softhsm2" ]
then
mkdir -p /data/.softhsm2/tokens
chmod -R 700 /data/.softhsm2
echo "directories.tokendir = /data/.softhsm2/tokens" > /data/.softhsm2/softhsm2.conf
chown -R avs:avs /data/.softhsm2
/sbin/start-stop-daemon --start -c avs --exec /usr/bin/softhsm2-util -- --init-token --slot 0 \
--label $ACSDK_PKCS11_TOKEN --so-pin $ACSDK_PKCS11_SO_PIN --pin $ACSDK_PKCS11_PIN
/sbin/start-stop-daemon --start -c avs --exec /usr/bin/pkcs11-tool -- --module $SOFTHSM_PATH --login \
--pin $ACSDK_PKCS11_PIN \
--token-label $ACSDK_PKCS11_TOKEN --keygen \
--key-type aes:32 --private --sensitive \
--label $ACSDK_PKCS11_MAIN_KEY
fi
setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /home/avs/SampleApp/SampleApp
/sbin/start-stop-daemon --start -c avs --exec /home/avs/SampleApp/SampleApp -- /data/avs/AlexaClientSDKConfig.json ERROR