blob: 7f7afca38ea70727c01c51e1799689b94985cfd4 [file] [log] [blame]
Jens Wiklanderc0bc8082018-02-27 20:25:25 +01001#!/bin/sh
2#
3# /etc/init.d/optee
4#
5# Start/stop tee-supplicant (OP-TEE normal world daemon)
6#
7case "$1" in
8 start)
9 if [ -e /usr/sbin/tee-supplicant -a -e /dev/teepriv0 ]; then
Jerome Forissierd97413e2018-08-17 14:00:01 +020010 # tee-supplicant and the client applications need not run as
11 # root provided that the TEE devices and the data store have
12 # proper permissions
13 printf "Setting permissions on /dev/tee*... "
Jerome Forissier749527c2018-08-22 17:42:18 +020014 chown root:tee /dev/teepriv0 && chmod 0660 /dev/teepriv0 && \
15 chown root:teeclnt /dev/tee0 && chmod 0660 /dev/tee0
Jerome Forissierd97413e2018-08-17 14:00:01 +020016 [ $? = 0 ] && echo "OK" || echo "FAIL"
Jerome Forissiercc483d32018-08-30 14:58:33 +020017 if [ -e /dev/ion ]; then
18 printf "Setting permissions on /dev/ion... "
19 chown root:ion /dev/ion && chmod 0660 /dev/ion
20 [ $? = 0 ] && echo "OK" || echo "FAIL"
21 fi
Joakim Bechf7ffa9d2019-02-01 12:48:05 +010022 printf "Create and set permissions on /data... "
23 mkdir -p /data/tee && chown -R tee:tee /data/tee && \
24 chmod 0770 /data/tee
25 [ $? = 0 ] && echo "OK" || echo "FAIL"
Jerome Forissier0a9644d2018-08-17 10:34:59 +020026 printf "Starting tee-supplicant... "
Jerome Forissierd97413e2018-08-17 14:00:01 +020027 su tee -c '/usr/sbin/tee-supplicant -d'
Jerome Forissier0a9644d2018-08-17 10:34:59 +020028 [ $? = 0 ] && echo "OK" || echo "FAIL"
Jens Wiklanderc0bc8082018-02-27 20:25:25 +010029 else
30 echo "tee-supplicant or TEE device not found"
31 exit 1
32 fi
33
34 ;;
35 stop)
36 killall tee-supplicant
37 ;;
38 status)
39 cat /dev/teepriv0 2>&1 | grep -q "Device or resource busy" || not="not "
40 echo "tee-supplicant is ${not}active"
41 ;;
42esac