本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。
关闭selinux
修改此文件("+"号为修改内容)
device/rockchip/common/BoardConfig.mk
BOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.imgBOARD_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
最后修改此文件("+"号为修改内容)
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通信、多摄像头及多种视频接口,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示、工业控制等行业领域。


















