功能:开机启动后在/sdcard/根目录下创建文件夹,由于/sdcard/挂载是在系统启动之后完成的,所以只能用开机执行sh文件的方式来实现。
1.首先进行服务定义,在device/rockchip/common/init.rk30board.rc中添加服务定义及启动
service customer_service /vendor/bin/sh /vendor/bin/customer_service.sh
class late_start
user root
group root
disabled
oneshot
seclabel u:r:customer_sevice:s0
on property:sys.boot_completed=1
start customer_service
2.针对该服务给定相应的权限
在device/rockchip/common/sepolicy/vendor/file_contexts中添加
/vendor/bin/customer_service\.sh u:object_r:customer_service_exec:s0
在device/rockchip/common/sepolicy/vendor/下添加customer_service.te文件
type customer_service, domain;
type customer_service_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(customer_service)
allow customer_service vendor_shell_exec:file rx_file_perms;
allow customer_service system_file:file rx_file_perms;
3.增加customer_service.sh文件如下
#! /vendor/bin/sh
sleep 10
mkdir -p /sdcard/Configuration
其中sleep 10 是为了等系统启动后挂载上/sdcard/,这个是必须的,否则无法创建成功。