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

360影视 2025-01-08 09:16 3

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

本文介绍编译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操作系统;


来源:Industio触觉智能

相关推荐