init: cannot execve(‘XXX’):Permission denied問題
阿新 • • 發佈:2019-01-28
最近在給android 4.3系統進行root時候,一直出現如下的紅色許可權問題 :
7.695741] Freeing init memory: 236K
[ 8.555286] init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
[ 8.566954] init: cannot execve('/system/etc/install-recovery.sh'): Permission denied
[ 8.622915] camera_subdev: disagrees about version of symbol module_layout
[ 8.846227] android_usb: already disabled
[ 8.850866] mtp_bind_config
但是發現個現象就是,第一次燒機啟動都會提示install-recovery.sh' 無許可權執行,但是第二次啟動之後就出現如下log:
[ 8.358580] init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
[ 8.503838] camera_subdev: disagrees about version of symbol module_layout
[ 8.538767] warning: `daemonsu' uses 32-bit capabilities (legacy support in use)
[ 8.656285] android_usb: already disabled
說明install-recovery.sh已經得到執行,這時候root就可以成功。因為在init.rc修改過他的許可權,第二次才生效。
經過分析,最後終於成功了。解決辦法如下:
把install-recovery.sh的啟動放在init.rc如下:
在前面某個位置增加:
+ chmod 0755 /system/etc/install-recovery.sh
service wifi_mac /system/bin/sh /system/etc/check_wifi_mac.sh
class late_start
oneshot
+ service flash_recovery /system/etc/install-recovery.sh
+ class main
+ oneshot
把init.${ro.hardware}.rc中的
- service flash_recovery /system/etc/install-recovery.sh
- class main
- oneshot
刪掉,重新編譯燒寫系統即可實現完美root。
7.695741] Freeing init memory: 236K
[ 8.555286] init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
[ 8.566954] init: cannot execve('/system/etc/install-recovery.sh'): Permission denied
[ 8.622915] camera_subdev: disagrees about version of symbol module_layout
[ 8.846227] android_usb: already disabled
[ 8.850866] mtp_bind_config
但是發現個現象就是,第一次燒機啟動都會提示install-recovery.sh' 無許可權執行,但是第二次啟動之後就出現如下log:
[ 8.358580] init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
[ 8.503838] camera_subdev: disagrees about version of symbol module_layout
[ 8.538767] warning: `daemonsu' uses 32-bit capabilities (legacy support in use)
[ 8.656285] android_usb: already disabled
說明install-recovery.sh已經得到執行,這時候root就可以成功。因為在init.rc修改過他的許可權,第二次才生效。
經過分析,最後終於成功了。解決辦法如下:
把install-recovery.sh的啟動放在init.rc如下:
在前面某個位置增加:
+ chmod 0755 /system/etc/install-recovery.sh
service wifi_mac /system/bin/sh /system/etc/check_wifi_mac.sh
class late_start
oneshot
+ service flash_recovery /system/etc/install-recovery.sh
+ class main
+ oneshot
把init.${ro.hardware}.rc中的
- service flash_recovery /system/etc/install-recovery.sh
- class main
- oneshot
刪掉,重新編譯燒寫系統即可實現完美root。