EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenH ARMony5.0 Release系统,SDK源码全开放!
( {$ M$ H% k( ]+ `关闭Selinux K( H( e; f& X
修改以下路径文件: adevice/rockchip/common/BoardConfig.mk $ a+ l9 z' O5 e, ^5 F; a
修改代码如下:
0 P" @7 q# E7 |- A* {1 lBOARD_BOOT_HEADER_VERSION ?= 2
+ s! ~7 P! G/ X' T2 k1 {BOARD_MKBOOTIMG_ARGS :=5 s* ?8 F. y; H& o
BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
+ N( y/ b+ R# D" P5 h5 D) K& z+ IBOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false6 K2 L% ~* C; M! i9 p7 C
-BOARD_SELINUX_ENFORCING ?= true9 w/ x& n9 V. Y* b
+BOARD_SELINUX_ENFORCING ?= false
. ?* q- f, v3 o% F注意:"+"号为修改内容。 ( U6 y! p* f$ Q* H
注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp 修改代码如下: void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*+ Q7 I" t) b c+ P6 y
gid, gid_t* gids, i4 c) k! e% S- m' n! T
}& d$ p# U- `* k: l- m1 Q7 D* o
int main(int argc, char** argv) {
3 [, q2 _! G* W0 u- uid_t current_uid = getuid();
4 _% \/ K0 z* s) ]7 o- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
: v) S, U) ]5 V8 l& t, y+ //uid_t current_uid = getuid();
2 h6 T" p \& q) G2 m- w! x9 `+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
# E3 G! I- @$ a% r# J注意:"+"号为修改内容。 . Z' [+ p5 q. u4 Y
给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp 修改代码如下: * {7 V ~ P$ B F
static const struct fs_path_config android_files[] = {' P: D; a/ K3 q( X" L
// the following two files are INTENTIONALLY set-uid, but they* k: e3 F' `2 E7 Y$ M" f4 N
// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
, P- M1 ]$ m, }/ g; \' ~& M1 W- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
0 F( v z# N6 @# l+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
; M- E# o) _ v7 m2 h修改以下路径文件:
* h/ f! {2 o9 J" Z' yframeworks/base/core/jni/com_android_internal_os_Zygote.cpp 修改代码如下: static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
* t& r4 X) h2 R+/*
; E# n' H! ]/ `/ } a/ B& W s& j; efor (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; ; S) ^% Z" s8 ]) R* C, h
& M7 H1 m# r0 q+ Z6 z
if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {
* ^- S* w! Q0 g# ?if (errno == EINVAL) { ( t8 W& l3 `8 s6 z& k
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify
$ ?4 a+ r1 o* F6 D8 g' f
1 z/ p% A6 Z4 z# q"your kernel is compiled with file capabilities support"); } else {
, N N. c/ y& s2 h$ Y fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno))); % k/ K' ~. p0 }+ X) [
} ' ?- b7 j" D' s) `# }: X
} ! T- {4 D' _, t6 o
}6 {) u0 W/ d. p' S* x) p: e
+ */
& E% x* W; D" h }& S) X# B2 }. V2 `) I
修改以下路径文件:kernel/security/commoncap.c 修改代码如下:
7 \3 |; Z. O' f4 @int cap_task_setnice(struct task_struct *p, int nice)# A! k! s2 L3 j
static int cap_prctl_drop(unsigned long cap){2 D; _ y) M) Q% T+ l A3 [
struct cred *new;
1 ]) R0 U8 F2 W& q6 p( b +/*
! P/ G: @) j. F if (!ns_capable(current_user_ns(), CAP_SETPCAP)) % ]# K; ?! w* m5 l( @! Q% N$ @
return -EPERM;
1 P/ a: W' n8 @3 E o; C6 N+ d" I4 p if (!cap_valid(cap)) $ G4 U& q; X+ {0 e+ t
return -EINVAL;-+*/
# G( [% c r( }/ p new = prepare_creds();
- t6 e( C9 q% E& o# T$ W# d注意:"+"号为修改内容。
% F) G) r$ Z9 N源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码: - D+ U0 h) y. Q: H
# make -j4) B ^. H* a* E4 l$ h8 K9 D
下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图: ![]() 若ROOT成功则如图所示:
; V% U, S! v: x P# ]- {; q # o) T: x2 {; I0 O& `: J( @
1 c9 a+ [4 k) U
产品简介
# Q6 W! C8 K 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元;/ o5 C, y# h: u$ d) A# q$ a+ W4 [- @
! R8 B. X* a6 o, @' _
/ O- j' q6 x9 g$ A' Y8 w& ^
' H( [$ B9 L9 v, Z8 {; w |