当前位置: 首页 > news >正文

瑞芯微RK3566/RK3568开发板安卓11固件ROOT教程,Purple Pi OH演示

本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,SDK源码全开放!

关闭Selinux

修改以下路径文件:

adevice/rockchip/common/BoardConfig.mk

修改代码如下:

BOARD_BOOT_HEADER_VERSION ?= 2
BOARD_MKBOOTIMG_ARGS :=
BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false
-BOARD_SELINUX_ENFORCING ?= true
+BOARD_SELINUX_ENFORCING ?= false

注意:"+"号为修改内容。

注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp

修改代码如下:

void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*
gid, gid_t* gids, i
}
int main(int argc, char** argv) {
- uid_t current_uid = getuid();
- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
+ //uid_t current_uid = getuid();
+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");

注意:"+"号为修改内容。


​给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp

修改代码如下:

static const struct fs_path_config android_files[] = {
// the following two files are INTENTIONALLY set-uid, but they
// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },

修改以下路径文件:
frameworks/base/core/jni/com_android_internal_os_Zygote.cpp

修改代码如下:

static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
+/*  
for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {      
if (errno == EINVAL) {        
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify "your kernel is compiled with file capabilities support");      } else {fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno)));      }    }  }+ */}

修改以下路径文件:kernel/security/commoncap.c

修改代码如下:

int cap_task_setnice(struct task_struct *p, int nice)
static int cap_prctl_drop(unsigned long cap){struct cred *new;+/*    if (!ns_capable(current_user_ns(), CAP_SETPCAP))    return -EPERM;    if (!cap_valid(cap))    return -EINVAL;-+*/new = prepare_creds();

注意:"+"号为修改内容。
源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码:

# make -j4

下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图:

若ROOT成功则如图所示:


产品简介

  • 支持OpenHarmony/Andriod/Linux多操作系统,兼容树莓派排针;
  • 瑞芯微RK3566芯片,四核A55处理器,主频1.8GHz,Mali G52-2EE GPU;
  • 支持OpenGL/CL/Vulkan,8M ISP;
  • 1T算力NPU,支持TensorFlow/Caffe/MXNet/PyTorch等深度学习框架;
  • 支持1 x 千兆以太网、3 x USB2.01 x USB3.0、3 x UART、2 x SPI2 x I2C、28 x GPIO、1 x MIPI DSI1 x MIPI CSI、1 x HDMI;
  • 率先支持OpenHarmony5.0/4.1/4.0/3.2,开放SDK源代码、3D打印外壳;
  • 活跃的开发者社区, 更多牛人在线互动与技术支持;

http://www.lryc.cn/news/498397.html

相关文章:

  • Netty 入门应用:结合 Redis 实现服务器通信
  • 试题转excel;pdf转excel;试卷转Excel,word试题转excel
  • 查看网卡设备Bus号
  • 鸿蒙Next星河版高级用例之网络请求和自适应布局以及响应式布局
  • 鸿蒙技术分享:敲鸿蒙木鱼,积____功德——鸿蒙元服务开发:从入门到放弃(3)...
  • Hadoop生态圈框架部署 伪集群版(六)- MySQL安装配置
  • 【Docker】创建Docker并部署Web站点
  • 实验七 用 MATLAB 设计 FIR 数字滤波器
  • 学习ESP32开发板安装鸿蒙操作系统(新板子esp32c3不支持)
  • asp.net core过滤器应用
  • 力扣面试题 31 - 特定深度节点链表 C语言解法
  • WordPress阅读文章显示太慢的处理
  • 关于多个线程共享一个实例对象
  • 【C++】printf 函数详解与格式化输出控制
  • HDFS 操作命令
  • html ul li 首页渲染多条数据 但只展示八条,其余的数据全部隐藏,通过icon图标 进行展示
  • Facebook:筑牢隐私安全堡垒,守护社交净土
  • 2024年构建PHP应用开发环境
  • Apache Commons Chain 与 Spring Boot 整合:构建用户注册处理链
  • 一、测试工具LoadRunner Professional脚本编写-录制前设置
  • React Native 组件详解之SectionList、StatusBar、Switch、Text 、 TextInput
  • 阿里云:aliyun-cli和ali-instance-cli
  • Linux 远程连接服务
  • Docker 安装和使用
  • web基础和http协议 附:nginx服务的安装
  • springboot利用easypoi实现简单导出Excel
  • 【前端新手小白】学习Javascript的【开源好项目】推荐
  • CentOS7虚拟机 网络适配器 NAT模式和桥接模式区别
  • sql删除冗余数据
  • STM32-C语言基础知识