加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

瑞芯微RK3566/RK3568開發(fā)板安卓11固件ROOT教程,Purple Pi OH演示

12/05 10:09
646
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

本文介紹RK3566/RK3568開發(fā)板Android11系統(tǒng),編譯ROOT權(quán)限固件的方法。觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區(qū)推薦開發(fā)板,已適配全新OpenHarmony5.0 Release系統(tǒng),SDK源碼全開放!

關(guān)閉Selinux

修改以下路徑文件:

adevice/rockchip/common/BoardConfig.mk

修改代碼如下:

BOARD_BOOT_HEADER_VERSION ?= 2
BOARD_MKBOOTIMG_ARGS :=
BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR)/dtbo.img
BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false
-BOARD_SELINUX_ENFORCING ?= true
+BOARD_SELINUX_ENFORCING ?= false

注意:"+"號為修改內(nèi)容。

注釋用戶組權(quán)限檢測

修改以下路徑文件:system/extras/su/su.cpp

修改代碼如下:

void extract_uidgids(const char* uidgids, uid_t* uid, gid_t*
gid, gid_t* gids, i
}
int main(int argc, char** argv) {
- uid_t current_uid = getuid();
- if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");
+ //uid_t current_uid = getuid();
+ //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed");

注意:"+"號為修改內(nèi)容。


?給su文件默認(rèn)授予root權(quán)限修改以下路徑文件:system/core/libcutils/fs_config.cpp

修改代碼如下:

static const struct fs_path_config android_files[] = {
// the following two files are INTENTIONALLY set-uid, but they
// are NOT included on user builds.{ 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" },
- { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },
+ { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" },

修改以下路徑文件:
frameworks/base/core/jni/com_android_internal_os_Zygote.cpp

修改代碼如下:

static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
+/*? 
for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;

if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {
if (errno == EINVAL) {
ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify

"your kernel is compiled with file capabilities support");????? } else {
fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno)));
}
}
}
+ */
}

修改以下路徑文件:kernel/security/commoncap.c

修改代碼如下:

int cap_task_setnice(struct task_struct *p, int nice)
static int cap_prctl_drop(unsigned long cap){
??? struct cred *new;
??? +/*??? 
??? if (!ns_capable(current_user_ns(), CAP_SETPCAP))??? 
??? return -EPERM;??? 
??? if (!cap_valid(cap))??? 
??? return -EINVAL;-+*/
??? new = prepare_creds();

注意:"+"號為修改內(nèi)容。


源碼編譯并測試

修改完上面三個步驟的文件后,即可在源碼根目錄下編譯安卓源碼:

# make -j4

下載Root Checker(ROOT檢查工具),通過ADB命令或者U盤安裝后,打開按照提示點擊按鈕檢測ROOT,如圖:

若ROOT成功則如圖所示:

產(chǎn)品簡介

作為開源鴻蒙OpenHarmony硬件方案的領(lǐng)跑者,觸覺智能堅守開源共創(chuàng)精神,Purple Pi OH鴻蒙開發(fā)板源碼全開放,持續(xù)為大家?guī)砀鞣N技術(shù)分享,產(chǎn)品具有以下優(yōu)勢:

  • 支持OpenHarmony/Andriod/Linux多操作系統(tǒng),兼容樹莓派排針;
  • 瑞芯微RK3566芯片,四核A55處理器,主頻1.8GHz,Mali G52-2EE GPU;
  • 支持OpenGL/CL/Vulkan,8M ISP;
  • 1T算力NPU,支持TensorFlow/Caffe/MXNet/PyTorch等深度學(xué)習(xí)框架;
  • 支持1 x 千兆以太網(wǎng)、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打印外殼;
  • 活躍的開發(fā)者社區(qū), 更多牛人在線互動與技術(shù)支持;
  • 小尺寸高性價比SBC單板,只需249元;

相關(guān)推薦

電子產(chǎn)業(yè)圖譜