EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenH ARMony5.0 Release系统,SDK源码全开放!
) c0 d, N! [7 j) X) t. T2 x9 I关闭Selinux
+ d+ x1 s4 M9 X! e6 ^- \ 修改以下路径文件: adevice/rockchip/common/BoardConfig.mk
0 i5 ]) s/ K1 B0 `4 h修改代码如下:
2 t u( m* ~* H2 ^+ IBOARD_BOOT_HEADER_VERSION ?= 2
& R8 u. e9 k% G3 }BOARD_MKBOOTIMG_ARGS :=; K. {7 b8 ^. N9 @# L3 e' ]
BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img+ n) F' g0 z0 N8 [, B. @
BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false7 \8 ?' A4 U. R5 a7 _, N! ^# ~4 u
-BOARD_SELINUX_ENFORCING ?= true' ]3 ^1 e6 z" H r% P1 j/ r/ G+ S% T
+BOARD_SELINUX_ENFORCING ?= false% o; N( a7 U0 Y; M2 }# d
注意:"+"号为修改内容。
/ [3 l% Y, S {3 r! \# ?注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp 修改代码如下: void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*
. C& E% x$ S- s" J, ] i) h' Sgid, gid_t* gids, i8 b! l) `. b, O! I3 v; V# p
}
) z0 k! p2 A2 T8 Uint main(int argc, char** argv) {
1 J) p2 x( L$ L% t9 j1 [- uid_t current_uid = getuid();. x, x1 S3 E: [' `
- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");8 H0 g+ r& S H. y5 w
+ //uid_t current_uid = getuid();
- F( [7 `& j6 V1 S' j+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");8 U; p. D4 ^* q$ K5 a5 F
注意:"+"号为修改内容。 - ^# F$ s0 t) j3 D; u/ I' e
给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp 修改代码如下:
- x& F2 d# D2 _3 estatic const struct fs_path_config android_files[] = {
- [) T7 L6 B! p5 F0 A( `( l( v% _// the following two files are INTENTIONALLY set-uid, but they+ Y1 U; A! |3 P. a5 e6 j( F
// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },0 V e2 y$ R: P: x+ ]
- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
w2 j) w0 W. u+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },- t1 M1 }) A2 }9 A5 d: g
修改以下路径文件:
; x. b8 Q: y, F3 o5 F2 w% l% l* pframeworks/base/core/jni/com_android_internal_os_Zygote.cpp 修改代码如下: static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {2 d) J7 O6 f4 n5 L- W
+/* - ]% _! M" O' p1 Z
for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;
# a/ }1 Q; B1 B% y; o1 Z3 u: W+ w4 r- _5 w" T7 Q) `4 x+ {4 J f0 u8 ~( j5 t& D
if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) { ~. ^9 v. l% D7 w& @8 Z+ V* m' O
if (errno == EINVAL) {
# A/ j( F; y, p# ?ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify J; L! B1 {) W# q1 Q1 o$ y
% s( {* M* ~* p7 T7 h. O0 ^3 S4 e
"your kernel is compiled with file capabilities support"); } else {% E3 z, ?# W* \) _7 r6 f
fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno)));
. ]$ J* d1 Z3 ^" B% u# V# r9 n }
9 T, q8 v0 x- Z' H) x# Y }
: v% ]3 [/ F/ B6 S$ L9 I }
% u$ B1 c* @; U% o- k + */6 W) q* E8 K3 l5 M
}
3 F& B# G; Z" B" U1 b) Y修改以下路径文件:kernel/security/commoncap.c 修改代码如下:
" x2 \9 U5 d( n. e4 h9 n' wint cap_task_setnice(struct task_struct *p, int nice)2 c$ r6 x6 L$ R1 b" C
static int cap_prctl_drop(unsigned long cap){; r. w6 `, t+ F( x+ `- q
struct cred *new;5 w* b! b6 j1 h( O( e2 b, p/ h" i
+/* 6 V& U ?1 K4 f0 u
if (!ns_capable(current_user_ns(), CAP_SETPCAP)) $ u" f+ a( B5 u8 D. n, N
return -EPERM; & S! h, [4 P) r: W
if (!cap_valid(cap)) ( a: H. m/ w. Y7 x, n, R
return -EINVAL;-+*/4 N5 S! F- \# _7 h, I
new = prepare_creds();
/ u' \* n" ^: S9 ]0 c; v注意:"+"号为修改内容。# B% D. A$ u5 g% ~/ ~6 X
源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码:
, ~) V' p% ]5 I( l+ u# make -j42 n1 r' Y+ [6 H9 Y0 O- W$ w
下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图: ![]() 若ROOT成功则如图所示:
( w: {0 @& ?$ o- C7 e4 L 0 x1 m/ `: _! r) k
* t" Y2 M+ ?: D' k+ W/ ~. v
产品简介
) w; U' b0 N: v/ H. r5 w9 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元;- x% H Z% u, l1 j, o
5 F: _/ N! V6 T# p/ ^
4 t% a) q$ Q; {6 G' V# B/ P5 ^5 L3 D* a' `
|