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

Industio_触觉智能 2024-12-05 11:00:35

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

关闭Selinux

修改以下路径文件:

adevice/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_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硬件方案的领跑者,触觉智能坚守开源共创精神,Purple Pi OH鸿蒙开发板源码全开放,持续为大家带来各种技术分享,产品具有以下优势:

支持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打印外壳;

活跃的开发者社区, 更多牛人在线互动与技术支持;

0 阅读:3

Industio_触觉智能

简介:专注开源鸿蒙OpenHarmony与ARM嵌入式工控智能硬件