本文介紹RK3566/RK3568開發板Android11系統,編譯ROOT權限固件的方法。觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區推薦開發板,已適配全新OpenHarmony5.0 Release系統,SDK源碼全開放!
關閉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
注意:"+"號為修改內容。
注釋用戶組權限檢測
修改以下路徑文件:
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");
注意:"+"號為修改內容。
?給su文件默認授予root權限
修改以下路徑文件:
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();
注意:"+"號為修改內容。
源碼編譯并測試
修改完上面三個步驟的文件后,即可在源碼根目錄下編譯安卓源碼:
# make -j4
下載Root Checker(ROOT檢查工具),通過ADB命令或者U盤安裝后,打開按照提示點擊按鈕檢測ROOT,如圖:
![wKgZPGdWaIOAEHxBAAA5-7W6orY55.jpeg](https://file1.elecfans.com/web3/M00/01/8E/wKgZPGdWaIOAEHxBAAA5-7W6orY55.jpeg)
若ROOT成功則如圖所示:
![wKgZO2dWaIOANvkVAAA84UoNmWI47.jpeg](https://file1.elecfans.com/web3/M00/01/94/wKgZO2dWaIOANvkVAAA84UoNmWI47.jpeg)
-
開發板
+關注
關注
25文章
5126瀏覽量
98320 -
瑞芯微
+關注
關注
24文章
436瀏覽量
51565 -
root工具
+關注
關注
0文章
2瀏覽量
5050 -
RK3568
+關注
關注
4文章
526瀏覽量
5258 -
RK3566
+關注
關注
0文章
149瀏覽量
5025
發布評論請先 登錄
相關推薦
ROC RK3566 PC固件RK3566/RK3568 NorFlash2eMMCLoader
![ROC <b class='flag-5'>RK3566</b> PC<b class='flag-5'>固件</b><b class='flag-5'>RK3566</b>/<b class='flag-5'>RK3568</b> NorFlash2eMMCLoader](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
瑞芯微RK3566/RK3568 Android11使用OTA升級固件方法,深圳觸覺智能鴻蒙開發板演示,備戰第九屆華為ICT大賽
![<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3566</b>/<b class='flag-5'>RK3568</b> Android<b class='flag-5'>11</b>使用OTA升級<b class='flag-5'>固件</b>方法,深圳<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b>鴻蒙<b class='flag-5'>開發板</b><b class='flag-5'>演示</b>,備戰第九屆華為ICT大賽](https://file1.elecfans.com/web1/M00/F2/C0/wKgaoWcJ872AA8BOAAB8ojv6gwo511.png)
評論