专栏中心

EEPW首页 > 专栏 > RK3562编译Android13 ROOT固件教程,触觉智能开发板演示

RK3562编译Android13 ROOT固件教程,触觉智能开发板演示

发布人:IDO触觉智能 时间:2025-01-08 来源:工程师 发布文章


关闭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 开发板 Android ROOT 编译固件

相关推荐

米尔出席2025安路科技FPGA技术沙龙

SL811HS开发板原理图.rar

嵌入式Linux图形界面开发 下

视频 2009-10-26

12路1080P高清视频流,米尔RK3576开发板重塑视频处理极限

Gemini 开始全球推广到 Android Auto 平台

智能计算 2025-11-21

拆解:树莓派5 8 GB AI 套件

基于Android平台的手机的存储器优化

视频 2010-01-14

51单片机开发板

当6 TOPS不再是极限:米尔RK3576 + Hailo-8,让高帧率摄像头真正“实时”

NEC MCU 78F0513D开发板使用教程

视频 2009-04-07

AN2131开发板原理图.rar

在重大反垄断裁决中,谷歌可以保留 Chrome 和 Android,但仍面临较轻的处罚

CY7C68013开发板原理图.rar

谷歌将验证 Android 开发者在 Play 商店之外分发应用程序

Badge USB OCD 与 78F0513D 使用演示视频

视频 2009-05-20

ARM嵌入式系统开发板三星S3C44B0X的完整Protel电路图.rar

嵌入式Linux图形界面开发 上

视频 2009-10-26

6TOPS算力驱动30亿参数LLM,米尔RK3576部署端侧多模态多轮对话

谷歌将开源Android Automotive OS SDV平台

莱迪思联手英伟达推出 Sensor Bridge 方案 加速边缘 AI 产品落地

更多 培训课堂
更多 焦点
更多 视频

技术专区