Trying run shell script in device boot-up time using init.rc.
I have followed below steps:
1.Created shell script and placed into /system/bin/usbmountd.sh
2.Added usbmountd.sh in inir.rc.
service usbmountd /system/bin/usbmountd.sh
user system
disabled
oneshot
3.Add a new Domain “usbmountd.te” in the location of device/broadcom/XXX/sepolicy/treble/ usbmountd.te
type usbmountd, domain;
type usbmountd_exec, exec_type, file_type;
init_daemon_domain(usbmountd)
domain_auto_trans(init, usbmountd_exec, usbmountd)
4.Add the Label “/system/bin/usbmountd.sh” to device/broadcom/XXX/sepolicy/treble/file_contexts
/system/bin/usbmountd u:object_r: _exec:s0
5.Added in device/broadcom/xxx/sepolicy/xxx/file.te
type usbmountd_exec, system_file_type, file_type;
getting below compilation error. Can you please help to handle this error.
[ 81% 747/921] build out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows fAILED: out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows /bin/bash -c “(ASAN_OPTIONS=detect_leaks=0 out/host/linux-x86/bin/checkpolicy -M -c 30 -o out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows.tmp out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/policy.conf ) && (out/host/linux-x86/bin/sepolicy-analyze out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows.tmp neverallow -w -f out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/policy_2.conf || ( echo “” 1>&2; echo “sepolicy-analyze failed. This is most likely due to the use” 1>&2; echo “of an expanded attribute in a neverallow assertion. Please fix” 1>&2; echo “the policy.” 1>&2; exit 1 ) ) && (touch out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows.tmp ) && (mv out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows.tmp out/target/product/xxx/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows )” device/xxx/xxx/sepolicy/treble/usbmountd.te:3:ERROR ‘Duplicate declaration of type’ at token ‘;’ on line 60116: type usbmountd_exec, exec_type, file_type; type usbmountd, domain; checkpolicy: error(s) encountered while parsing configuration