rk3399添加开机启动脚本

目录

1、脚本添加

2、Selinux域添加domain

3、仍然报错SELinux domain defined

 


环境平台:rk3399、android7.1.2、kernel4.4.126

有两个步骤

1、脚本添加

device/rockchip/common/init.rockchip.rc中添加

service my_start_service /system/bin/sh /system/bin/my_start_service.sh

user root

disabled

onshot

 

 on property:sys.boot_completed=1

Start my_start_service

 

device/rockchip/rk3399下创建my_start_service.sh

device/rockchip/rk3399/rk3399.mk中添加脚本拷贝:

PRODUCT_COPY_FILES += device/rockchip/rk3399/my_start_service.sh:system/bin/my_start_service.sh

 

2、Selinux域添加domain

只有第一步会报错:

Init: service my_start_service does not have a SELinux domain defined

 

添加并定义my_start_service的te文件:

device/rockchip/common/sepolicy下添加my_start_service.te:

type my_start_service,domain,mlstrustedsubject;

type my_start_service_exec,exec_type,file_type;

init_demon_domain(my_start_service)

 

device/rockchip/common/sepolicy/file_contexts中定义start.sh的安全上下文:

/system/bin/start.sh u:object_r:my_start_service_exec:s0

 

3、仍然报错SELinux domain defined

以上操作后还是报错:

Init: service my_start_service does not have a SELinux domain defined

根据查阅发现,在service后面还需加上seclabel

service my_start_service /system/bin/sh /system/bin/my_start_service.sh

user root

disabled

onshot

seclabel u:r:my_start_service:s0

在启动Service前将seclabel设置为seclabel. 主要用于在rootfs上启动的service,比如ueventd, adbd。在系统分区上运行的service使其有自己的SELinux安全策略,如果不设置,默认使用init的安全策略。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在RK3568上添加开机启动shell脚本,你需要执行以下步骤: 1. 在系统的/bin目录下创建名为myshell的shell脚本文件。你可以使用以下命令进行创建:`touch /system/bin/myshell` 2. 编辑init.rc文件,将以下内容添加到文件的末尾: ``` service myshell /system/bin/myshell.sh user root group root disabled on property:sys.boot_completed=1 start myshell ``` 这将在系统启动完成后执行myshell.sh脚本,并以root用户和root组的身份运行。 3. 在device/rockchip/common/sepolicy目录下创建名为myshell.te的文件,并将以下内容添加到文件: ``` type myshell, domain; type myshell_exec, exec_type, file_type; init_daemon_domain(myshell) allow myshell init_tmpfs:file create_file_perms; allow myshell self:capability { dac_override net_admin net_raw setgid setuid }; allow myshell device:dir { open read }; allow myshell shell:lnk_file { read }; allow myshell rootfs:lnk_file { getattr }; allow myshell socket_device:sock_file { write }; allow myshell shell_exec:file { getattr read}; allow myshell fuse:dir { search write add_name getattr}; allow myshell fuse:file { create write open getattr}; allow myshell system_file:file { execute_no_trans}; ``` 这些规则会为myshell脚本提供必要的权限和访问控制。 请注意,这些步骤是基于提供的引用内容,具体实施可能会因系统环境和配置而有所不同。在进行任何修改前,请确保你对系统的了解和备份。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [RK3399 Android 添加开机启动shell脚本](https://blog.csdn.net/weixin_41720013/article/details/120034087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值