70|0

50

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

RK3562编译Android13 ROOT固件教程,触觉智能开发板演示 [复制链接]

本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。
关闭selinux

修改此文件("+"号为修改内容)

device/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_dirs[] = {
     { 00751, AID_ROOT,         AID_SHELL,        0, "system/bin" },
     { 00755, AID_ROOT,         AID_ROOT,         0, "system/etc/ppp" },
     { 00755, AID_ROOT,         AID_SHELL,        0, "system/vendor" },
-    { 00750, AID_ROOT,         AID_SHELL,        0, "system/xbin" },
+    { 00755, AID_ROOT,         AID_SHELL,        0, "system/xbin" },
     { 00751, AID_ROOT,         AID_SHELL,        0, "system/apex/*/bin" },
     { 00751, AID_ROOT,         AID_SHELL,        0, "system_ext/bin" },
     { 00751, AID_ROOT,         AID_SHELL,        0, "system_ext/apex/*/bin" },
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-5.10/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();

 

 
源码编译并验证固件是否ROOT
修改完上面三个步骤的文件后,重新编译内核和安卓源码,执行以下命令:
# make -j4
下载RootChecker测试APK软件包(自行下载),可通过ADB命令或者U盘安装,安装后按照提示点击按钮检查root。
root成功如图:
 
 
 
产品简介
触觉智能RK3562开发板(型号EVB3562),基于瑞芯微新一代Soc RK3562/RK3562J设计,可用于轻量级人工智能应用。EVB3562开发板配备了PCIe2.1/USB3.0 OTG/千兆网口等各类型接口,支持4G/5G通信、多摄像头及多种视频接口,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示、工业控制等行业领域。
 
 
 
  • 搭载瑞芯微新一代RK3562/RK3562J芯片;
  • 1TOPS算力NPU,支持INT8/INT16/FP16
    等数据类型运算;
  • 支持4K@30FPS与1080P@60FPS视频解码;
  • 13M ISP,支持HDR与多路摄像头视频采集;
  • 单路MIPI-DSI,最高2048 x 1080@60fps ;
  • 单通道LVDS,最高1366 x 768@60fps ;
  • 三路独立的以太网口,其中两路千兆网口,
    一路百兆网口;
  • 支持5G/4G/WiFi/蓝牙无线通信;
  • 支持Android,Linux操作系统;

 

 

此帖出自信息发布论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表