EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenH ARMony5.0 Release系统,SDK源码全开放! 8 p0 F) M6 `& n' W
关闭Selinux J) S, I- F `2 t8 a
修改以下路径文件: adevice/rockchip/common/BoardConfig.mk
7 M2 R W1 y1 R" r/ {( t, Z修改代码如下: 5 d& N8 `1 n4 ?
BOARD_BOOT_HEADER_VERSION ?= 2! l# f. i& U4 Y+ _2 Y* _
BOARD_MKBOOTIMG_ARGS :=
" ?2 i, |2 ~, e9 }) k4 e3 H2 s: SBOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
4 S6 F5 K- A* {BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false
4 C' q$ P$ D9 W' Q5 W-BOARD_SELINUX_ENFORCING ?= true
& _" h o) b2 a. f+BOARD_SELINUX_ENFORCING ?= false
! q$ Q! t" `7 P I注意:"+"号为修改内容。 0 ?2 a- H) h! p( ~/ L5 R- v
注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp 修改代码如下: void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*
/ N; ^' |8 @2 t! g1 q* Q+ P+ mgid, gid_t* gids, i
9 K. w" T( g0 O}
7 R, K2 i4 U6 a6 eint main(int argc, char** argv) {- i# ~0 X3 C+ W" [
- uid_t current_uid = getuid();
/ Z) `4 L; U/ q- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");( R# g$ H ?* W' F# |2 v4 l* k$ ~8 }3 t
+ //uid_t current_uid = getuid();' R* S ?% Y* M1 H9 R+ R$ b
+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
" S) z( R/ l* h/ Y" l! `注意:"+"号为修改内容。 + M2 i5 P4 t! ~, @" N9 R5 P" L
给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp 修改代码如下:
6 ~: o, r+ f8 ]static const struct fs_path_config android_files[] = {% [9 r- P4 R s0 _, s/ x% }6 O
// the following two files are INTENTIONALLY set-uid, but they1 X X& |/ E4 m* q5 W- l6 s9 Q5 x
// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
5 c8 b! q. [+ {6 E) u- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
4 E: q+ ~ `/ }. G0 `$ E, W; m; V+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },# z4 U M2 X! _ r+ v4 r g8 l2 F @3 Y
修改以下路径文件:# Q. Y# I$ l7 h3 \- T7 m
frameworks/base/core/jni/com_android_internal_os_Zygote.cpp 修改代码如下: static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
# T. ~: X' N5 N$ o' B& k3 t+/*
/ z) t8 K9 `! q1 p$ g3 qfor (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; : M% G% W0 X) Y$ r, n2 r$ F
4 O' ~3 i* @8 X! v6 g7 B+ Gif (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {
/ T0 A6 ]5 k+ R: ^+ t" Hif (errno == EINVAL) { 5 z. U8 o+ u+ @! l5 d/ s; _
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify ' i& ?+ f. F7 Y! D& U! p
; K z4 M v1 l2 e
"your kernel is compiled with file capabilities support"); } else {: P0 K; c# e: Y. R0 i0 F% `) g5 ]9 ^. V
fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno))); 8 D% O/ A# O! _. n2 \! j) n% P
}
: F( Z9 D8 h: S4 {; D! f% M } 4 [8 d1 C0 e' z8 \
}
0 u) [7 I2 o- P( h + */
. p9 Y+ p% k$ h }
) g0 X' s1 p0 ?修改以下路径文件:kernel/security/commoncap.c 修改代码如下:
8 k) T9 a0 X# \- P7 E. [* A! kint cap_task_setnice(struct task_struct *p, int nice)
+ P: o' b: Z% I7 u# Vstatic int cap_prctl_drop(unsigned long cap){
4 z- ?2 A6 D* z) F; |- W struct cred *new;
4 o% P8 B- m& o! U: T +/* / Z7 e4 |. d' V- |- C ]5 J* j
if (!ns_capable(current_user_ns(), CAP_SETPCAP)) - ?4 I" s2 c0 x! [6 t! S9 A
return -EPERM; 7 a. O) i. t8 A% W+ x
if (!cap_valid(cap))
% {' c" ^! @) I9 ]2 F return -EINVAL;-+*/
* _, d+ p& ]2 r8 J6 x R# Z new = prepare_creds();/ ]) L: s+ a3 E, B J
注意:"+"号为修改内容。7 o3 G: ?/ d0 s9 v7 x0 \( R7 X
源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码: ( E2 Q' M7 R* }$ c+ l
# make -j4
0 |1 M5 k3 l2 G- v3 n/ R下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图: ![]() 若ROOT成功则如图所示:
$ {- H* O4 B0 h2 v6 { ) n/ t) f2 Z* S0 V
Z9 l7 t P6 C5 _% ]. ~/ l6 k
产品简介
5 _- |% k1 _+ Y作为开源鸿蒙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元;0 N( z7 J7 w* I9 A
' S e' b9 B5 Q/ b8 u' {
" k" I, W! D( k+ H% {5 ?
^( T: }/ { V1 r. O |