EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenH ARMony5.0 Release系统,SDK源码全开放!
5 E& Z5 H/ @/ Y. H关闭Selinux2 B% j# N5 i4 `' F9 @7 e
修改以下路径文件: adevice/rockchip/common/BoardConfig.mk
: }. J2 U! I0 {! l' Z7 o' @修改代码如下: " }% {( C$ r' x) k# O- N* H
BOARD_BOOT_HEADER_VERSION ?= 25 ^# ^2 i3 w/ ?) e0 {# } O$ H0 h0 }
BOARD_MKBOOTIMG_ARGS :=
4 S6 i( n7 g8 ]: [BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
5 ]- o5 p% l0 p% W, l6 D( GBOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false! d1 V& X$ q9 O) y% E
-BOARD_SELINUX_ENFORCING ?= true! T& E0 D( a+ v/ [0 e6 u
+BOARD_SELINUX_ENFORCING ?= false Z( n# g7 ^" \! S h. t2 O
注意:"+"号为修改内容。
* k4 ~5 r$ @# W$ h1 E1 ]注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp 修改代码如下: void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*8 ^' h3 x2 C3 Z- z6 ]3 v3 r3 g3 B( g
gid, gid_t* gids, i: i. O3 T5 D" p u# r8 w
}$ \# c& i) i1 M% g$ Z
int main(int argc, char** argv) {
. {$ i) U/ _! n0 R- uid_t current_uid = getuid();# D }& Y* l3 W- O0 i6 s6 H3 R
- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
* W" F4 T! Q1 l; H+ //uid_t current_uid = getuid();( F/ ]7 O7 i6 m
+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
# S4 O* x0 r5 D/ K5 O5 Y# f注意:"+"号为修改内容。
5 ?& M" W' a% h4 l# B% Q给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp
修改代码如下: ( R& F- r' i; N: Z3 C, ]5 |% K8 r% H
static const struct fs_path_config android_files[] = {
& ?2 F- g' ^0 M% |$ K// the following two files are INTENTIONALLY set-uid, but they
; t( Z4 r5 ]& ~- _6 T// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
8 {! }1 n. o: T5 D( f: R3 Q- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },* Q. w- b8 T3 M8 \
+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },8 w# J. v9 E/ j
修改以下路径文件:
/ I# n. y0 e: A5 x- t# y( \frameworks/base/core/jni/com_android_internal_os_Zygote.cpp 修改代码如下: static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {/ p: D( Q( s6 c- z% m
+/*
8 \: ~9 D( k3 e: lfor (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; ; C; I/ x! X# n
3 `. V; q$ K1 z5 }* Zif (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) { 7 R. u: [) s7 J, ]4 F: H+ |
if (errno == EINVAL) {
- x" n. [2 C$ J; C) V- N# Y0 VALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify
- Y6 \% q+ i! t N2 B/ {& i4 o/ Z5 l' j2 P5 h
"your kernel is compiled with file capabilities support"); } else {' i% q4 h; g6 s- V
fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno))); % U6 \0 i7 P; C4 z, p
} 2 s: r, @2 b: ?7 D
} ! c3 }; U8 }( H1 {$ w' e
}
% a0 |7 h# A# D" P* u5 }: i + */6 t7 O9 a6 f( L a
} Z% e& Q. p' f9 D" q7 s; y
修改以下路径文件:kernel/security/commoncap.c 修改代码如下: 0 r3 g; Q+ S/ a: l- d" x5 i
int cap_task_setnice(struct task_struct *p, int nice)0 n2 V1 ?. [, ?3 Q0 V
static int cap_prctl_drop(unsigned long cap){
1 g9 h4 ], U, P, p/ o struct cred *new;
& y" c8 C# W, ]& J1 R' o* a4 c +/* 7 q' R5 `0 I' o/ `" F
if (!ns_capable(current_user_ns(), CAP_SETPCAP))
9 O9 f+ { P3 X7 h5 e% g' [9 T return -EPERM;
[8 ]# m# G, V) X) n# A& Y+ @ if (!cap_valid(cap))
8 r {: |. }( y* M return -EINVAL;-+*/5 m) B, ?8 |( `+ R# z( b4 C
new = prepare_creds();$ A" @% d8 l1 }! U! o
注意:"+"号为修改内容。
$ O8 v4 K+ k5 P/ A: E源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码: ! \% e5 q; Q1 Z9 R
# make -j4; [+ a. S4 `, s Q {
下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图: ![]() 若ROOT成功则如图所示:
, O! [% R% I; u$ _0 x- Q5 h ; `5 C& t* k) ^* ?
9 z% U' L' J# j# f产品简介
: n. T6 g% i! @( A作为开源鸿蒙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打印外壳;
- 活跃的开发者社区, 更多牛人在线互动与技术支持;
- 小尺寸高性价比SBC单板,只需249元;
+ y1 s) {2 {# @6 i 9 h) K/ w5 h+ W1 t& _; F0 S
1 j: g) e9 v& _0 t8 u% K r$ l K% ?! n
- p c2 s6 |+ k! d& u Z+ Q! C
|