EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文介绍RK3566/RK3568开发板Android11系统,编译ROOT权限固件的方法。触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenH ARMony5.0 Release系统,SDK源码全开放! $ o7 y0 _ Y$ Y3 a" ~, }
关闭Selinux1 P0 E! b4 ?4 Q( l
修改以下路径文件: adevice/rockchip/common/BoardConfig.mk
9 X; c; r. P$ G$ H( T+ a" {: U修改代码如下: 3 N& G$ G* y, l* {
BOARD_BOOT_HEADER_VERSION ?= 2
7 [9 M1 U5 a8 [( o. V- j) {0 LBOARD_MKBOOTIMG_ARGS :=
+ x8 b- H$ r* SBOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img$ n3 e& @ h, G! k5 X9 T! d2 P2 s- c
BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false' Z! ?) m* }, K" p7 @4 O+ z
-BOARD_SELINUX_ENFORCING ?= true
. s; w ]3 E; m; V* @+BOARD_SELINUX_ENFORCING ?= false0 [. j6 v6 [' D* T! B, w
注意:"+"号为修改内容。
2 |) f% {# T, \2 D$ c3 o: V注释用户组权限检测修改以下路径文件:system/extras/su/su.cpp 修改代码如下: void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*
% _0 p* ~: _' ]& @* @7 hgid, gid_t* gids, i% d2 v( V X. B7 d! G
}
% `9 D+ P% S/ M9 E, Pint main(int argc, char** argv) {0 T/ {0 W. S' X) H4 B
- uid_t current_uid = getuid();+ w# w# k+ c* |: @( q3 ^+ z( _
- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
' u% W( d0 a( Q0 U5 Q6 C+ //uid_t current_uid = getuid();
% D$ }4 Q( T, e+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
0 w* \; H$ l X/ r) n注意:"+"号为修改内容。
7 J3 _) i2 n( d给su文件默认授予root权限修改以下路径文件:system/core/libcutils/fs_config.cpp
修改代码如下:
1 O; v$ H( S5 |7 R8 l* Rstatic const struct fs_path_config android_files[] = {
# H( @$ `+ Q1 m: U/ q// the following two files are INTENTIONALLY set-uid, but they
7 l% C& Q9 j8 j7 z0 B3 S// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
" y! t4 H" {4 Z& `! z7 t- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },: r8 T! X4 a: I, B' ]1 s2 [% J
+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },# p5 x7 Z2 V# U/ s
修改以下路径文件:1 ^, R$ l7 G% {( f$ D. r! [: L
frameworks/base/core/jni/com_android_internal_os_Zygote.cpp 修改代码如下: static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
. B4 j7 t5 r6 t$ V ]. m0 c) N+/* # g, r! _- x' b; T
for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {; 0 M+ M, p9 w2 h8 W& f% U
$ J, d& v7 f. A
if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) { 4 z: S0 L) [! k n. L& @
if (errno == EINVAL) { ) w4 x; y+ p d# X4 i
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify 9 t7 [ P/ O$ ?- b C
c: R, A* I+ @# `4 Y$ H7 \. r# {"your kernel is compiled with file capabilities support"); } else {
- l) p/ H/ I- `6 i# I; T( i fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno))); ) [0 t7 j" H" c5 `$ d( J
}
- B2 P: k3 \) O$ b# H }
; r5 h8 w! ~4 r }2 b5 }! @- _. X }% v" H( m: u0 ^% G
+ */
7 Q4 K$ g4 {8 Q# o6 j% P J }
" J, \; G, {( R* C7 \* l5 B! W! C修改以下路径文件:kernel/security/commoncap.c 修改代码如下:
( \- S- V, ?. n5 r- {% c6 I0 bint cap_task_setnice(struct task_struct *p, int nice)( P, H: t5 K7 W$ }; r7 K3 b" n
static int cap_prctl_drop(unsigned long cap){+ e0 [& Z- c( k6 ~
struct cred *new;
: b1 T0 q4 W# r, O8 @$ Z% H' V4 u( G +/* + H& E; A. P1 L8 f
if (!ns_capable(current_user_ns(), CAP_SETPCAP))
/ }5 c0 \# `4 {) u( G* ] return -EPERM;
, J( a' y5 k: l2 }2 z% J7 a W if (!cap_valid(cap))
- r1 r8 m& g7 d& n return -EINVAL;-+*/0 Z1 v& {) @# p
new = prepare_creds();
# `: ]/ w$ \7 \6 G+ \注意:"+"号为修改内容。3 e7 a% F" W5 q' ]2 S' w6 Y0 L
源码编译并测试修改完上面三个步骤的文件后,即可在源码根目录下编译安卓源码:
6 Y1 b) {& }2 V' j1 G# make -j4
9 a* a4 c" n& Q. t下载Root Checker(ROOT检查工具),通过ADB命令或者U盘安装后,打开按照提示点击按钮检测ROOT,如图: ![]() 若ROOT成功则如图所示:* a E, F" N; B
$ d! B$ v# U! Y6 p) I& M. {
+ t$ Y/ k- X/ q% a9 {
产品简介+ X( \) I) f' b
作为开源鸿蒙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元;
& d4 F% [$ q2 ~2 v: r
2 v, ]7 H0 k" O( `3 G: G- ^: }( C$ b: V2 h% ~
3 Z: g# Q) F9 i7 @0 J
|