android11-开机自启脚本

1. 编写myshell脚本

diff --git a/device/rockchip/rk356x/ok3568_r/myshell.sh b/device/rockchip/rk356x/ok3568_r/myshell.sh
new file mode 100644
index 0000000000..c78b6d93bd
--- /dev/null
+++ b/device/rockchip/rk356x/ok3568_r/myshell.sh
@@ -0,0 +1,4 @@
+#!/vendor/bin/sh
+
+echo "1.sh finished" > /dev/console

2. 拷贝myshell脚本

diff --git a/device/rockchip/rk356x/ok3568_r/ok3568_r.mk b/device/rockchip/rk356x/ok3568_r/ok3568_r.mk
index 66a21909d2..317d9096cd 100644
--- a/device/rockchip/rk356x/ok3568_r/ok3568_r.mk
+++ b/device/rockchip/rk356x/ok3568_r/ok3568_r.mk
@@ -45,7 +45,9 @@ PRODUCT_PROPERTY_OVERRIDES += persist.wifi.sleep.delay.ms=0PRODUCT_PROPERTY_OVERRIDES += persist.bt.power.down=truePRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
+    $(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip \
+    $(LOCAL_PATH)/myshell.sh:$(TARGET_COPY_OUT_VENDOR)/bin/myshell.shPRODUCT_PACKAGES += \watchdogtest \

3. 编写selinux类型强制规则

diff --git a/device/rockchip/common/sepolicy/vendor/myshell.te b/device/rockchip/common/sepolicy/vendor/myshell.te
new file mode 100644
index 0000000000..eeb52cb9ac
--- /dev/null
+++ b/device/rockchip/common/sepolicy/vendor/myshell.te
@@ -0,0 +1,11 @@
+type myshell, domain;
+type myshell_exec, exec_type, vendor_file_type, file_type;
+
+init_daemon_domain(myshell)
+
+allow myshell vendor_shell_exec:file rx_file_perms;
+allow myshell vendor_toolbox_exec:file rx_file_perms;
+allow myshell console_device:chr_file { open write };
+allow myshell myshell:capability { sys_module };
+allow myshell vendor_file:system { module_load };
+

4. 编写selinux安全上下文

diff --git a/device/rockchip/common/sepolicy/vendor/file_contexts b/device/rockchip/common/sepolicy/vendor/file_contexts
index df2a46abdc..53f21d46c6 100644
--- a/device/rockchip/common/sepolicy/vendor/file_contexts
+++ b/device/rockchip/common/sepolicy/vendor/file_contexts
@@ -238,3 +238,4 @@#flash_img/vendor/bin/flash_img.sh u:object_r:vendor_install_recovery_exec:s0+/vendor/bin/myshell.sh    u:object_r:myshell_exec:s0

5. 编写myshell服务并启动myshell服务

diff --git a/system/core/rootdir/init.rc b/system/core/rootdir/init.rc
index a9af0b094d..02610df121 100644
--- a/system/core/rootdir/init.rc
+++ b/system/core/rootdir/init.rc
@@ -978,11 +978,20 @@ on property:vold.decrypt=trigger_shutdown_frameworkclass_reset_post_data coreclass_reset_post_data hal+service myshell /vendor/bin/myshell.sh
+    class main
+    user root
+    group root
+    disabled
+    oneshot
+on property:sys.boot_completed=1bootchart stop# Setup per_boot directory so other .rc could start to use it on boot_completedexec - system system -- /bin/rm -rf /data/per_bootmkdir /data/per_boot 0700 system system encryption=Require key=per_boot_ref
+    start myshell
+# system server cannot write to /proc/sys files,# and chown/chmod does not work for /proc/sys/ entries.

6. 编译烧写镜像测试

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抢先看!Salesforce Spring ‘24中的10个亮点功能!

Spring 24来临在即,Preview Orgs已上线。在Spring 24中,将会为管理员、开发人员和顾问带来更多新功能。在这片云计算的海洋里,一些亮点功能总能在Salesforce生态系统中引起强烈反响。本篇文章为学习者们盘点了Spring 24中的10个亮点功能&…

Vue项目搭建过程

Vue项目搭建过程 1、安装NodeJs 1.1 下载安装包 在 http://nodejs.cn/download/ 上下载64位安装包,然后进行安装,和普通软件的安装一样。 C:\Users\Administrator>node -v v16.13.1C:\Users\Administrator>npm -v 8.5.51.2 安装cnpm # 安装cn…

C语言,数组循环哪家好,指针or下标?

日常工作中,我们经常会用到循环遍历数组元素。不考虑只能使用某一特定方式的情况下,有人喜欢用数组下标遍历,有人则喜欢用指针遍历。那么这两者是否有性能差异呢? 我们先来看两个例子: 代码一 /* a.c */ #include &…

【QML】QML复制文件或文件夹,显示进度,多线程复制

1. 效果 可以显示复制文件和文件夹的进度 复制文件: bool copyFileFunc(QString _from, QString _to);复制文件夹:bool copyDirectoryFiles(const QString &_from, const QString &_to);举例: //复制文件copyhelper.copyFileToDir(&…

推荐12款好用的在线平面设计工具,让设计更简单

平面设计是图形表达和信息展示的重要手段,在游戏场景和角色造型、插画、广告制作等艺术设计领域有着重要的应用,如海报设计、包装设计等。 平面设计强调视觉传达,一般以图像、图形和文字等视觉元素为主要手段,通过排版、配色、构…

SpringBoot、Java AOP实现方式

SpringBoot、Java AOP实现方式 搭建项目环境 我这里直接使用Maven创建项目之后再pom.xml中导入包 Spring版本 如果你的版本有最新的,最简单的办法就是,将版本都换成统一的,因为发布时候都是每个版本统一发布的,如果出现不兼容的…

大模型讲座

盘古NLP大模型典型场景 千亿大模型训练难点和解决方案 训练状态不稳定(经常训练中断等) 解决1:对loss和梯度等多维状态实时监测。对数据、学习率、参数精度、模型梯度进行针对性调整和断点恢复。 调整学习率的代码如下。调整参数、梯度类似…

kali安装HTTrack报错Unable to locate package httrack

kali安装后,直接安装Httrack导致报错 Unable to locate package httrack (这里因为解决了,无法重现,则使用错误的包httrackttttt) 原因:安装kali后第一次使用系统,则应该运行update命令 sudo …

基于ssm省出口基地公共信息服务平台论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本n省出口基地公共信息服务平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞…

算法训练营Day19

#Java #二叉树 #双指针 开源学习资料 Feeling and experiences: 二叉搜索树的最小绝对差:力扣题目链接 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的…

eNSP小实验--实现全网互通

目录 一、建立以下拓扑图,并实现全网互通 二、分析 1、接入层交换机SW4、SW5划分vlan 2、汇聚层交换机SW2,SW3配置ip作为vlan网关,与SW1直连 3、核心交换机SW1配置ip 与汇聚层交换机和R1直连 4、SW1,SW2,SW3,R1配置静态路由,使得vlan10,…

算法学习——回溯算法

回溯算法 理论基础回溯法的效率回溯法解决的问题回溯法模板 组合思路回溯法三部曲 代码 组合(优化)组合总和III思路代码 电话号码的字母组合思路回溯法来解决n个for循环的问题回溯三部曲代码 组合总和思路代码 组合总和II思路代码 理论基础 什么是回溯法…

教师职业规划

教师是一份充满责任和使命感的职业,也是一个具有广泛影响力的职业。作为一名教师,不仅要传授知识,更要培养学生的品德和能力,为他们的未来发展奠定基础。因此,进行职业规划对于教师来说是非常重要的。 首先&#xff0…

VUE篇之可拖动裁剪框

涉及知识点: offsetLeft, offsetTop, offsetWidth, offsetHeight;offsetX, offsetY;clientX,clientY css:clip-path 学习直通车:HTMLElement.offsetLeft - Web API 接口参考 | MDN MouseEvent.offsetX - Web API 接…

利用原始套接字解决mac地址错误问题【南瑞SysKeeper-2000】

一:案例描述 一键可视顺控图像智能项目在网络部署过程中,对网络限制隔离安全性要求很高,用到正向隔离装置(南瑞SysKeeper-2000型号)。 图一 正向装置示意图 现场发现问题:直连网线情况下,我方…

德人合科技 | 公司电脑文件加密系统

公司电脑文件加密系统是一种可以对电脑文件进行加密的保护机制。它使用驱动层透明加密技术,能够在用户无感知的情况下对文件进行加密,从源头上保障数据安全和使用安全。 PC端访问地址: www.drhchina.com 此类系统主要有以下几个特点和功能&a…

Web前端-JavaScript(js循环)

1.循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){//循环体 }名称作用初始化变量通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。条件表达式用于确定每一次循环是否能被执行。…

Git账户密码http方式的配置

Git账户密码http方式的配置 入门 git在提交时每次都需要输入密码和账号信息,可以将账号和密码进行持久化存储, 当git push的时候输入一次用户名和密码就会被记录, 不需要每次输入,提高效率,进行一下配置&#xff1…

深入学习《大学计算机》系列之第1章 1.4节——从二进制起源窥见的奥秘

一.欢迎来到我的酒馆 第1章 1.4节,从二进制起源窥见的奥秘。 目录 一.欢迎来到我的酒馆二.二进制的起源1.关于莱布尼茨2.莱布尼茨和牛顿的恩怨情仇 二.二进制的起源 本节内容属于知识拓展,通过讲解几个小故事,向大家介绍二进制的起源。 1.关…

基于低代码的文档管理系统:实现高效协作与控制

在企业和组织中,文档管理是一项至关重要的任务。文档包括各种类型的信息,如合同、报告、会议记录、产品规格等,它们都需要被妥善保管并确保随时可供查阅。 传统的文档管理方法往往效率低下,且容易出错。随着技术的发展&#xff0…