211 views
# pooheye 笔记 ###### tags: `blog` #### print_log arch/{your_arch}/ptrace/kernel/ptrace.c -> syscall_trace_enter & syscall_trace_exit #### path_override fs/namei.c -> getname_flags #### procver_override fs/proc/version.c -> version_proc_show ### 杂七杂八 #### aosp hammerhead 4.4.3,如何利用init.rc永久root 修改init.rc(`system/core/rootdir/init.rc` or `out/target/product/hammerhead/root/init.rc`) ``` service pooheyed /sbin/start_pooheyed.sh class main user root seclabel u:r:init:s0 oneshot ``` 然后修改device/lge/hammerhead/device.mk的PRODUCT_COPY_FILES把start_pooheyed.sh, pooheyed和supolicy复制到out/root/sbin目录下,然后make bootimage的时候就会把文件打包到boot.img内,刷入boot.img重启手机即实现稳定的永久root。 如 ``` # tigaliang PRODUCT_COPY_FILES := \ device/lge/hammerhead/pooheyed/pooheyed:root/sbin/pooheyed \ device/lge/hammerhead/pooheyed/supolicy:root/sbin/supolicy \ device/lge/hammerhead/pooheyed/start_pooheyed.sh:root/sbin/start_pooheyed.sh \ ``` #### cm-12.1 修改 sh 无法自动 sbmark 360s 的解决办法 修改 init.superuser.rc,用起 sudaemon 一样的方式启动 360s 的 daemon,并且修改 360s 的 context 为 su 一样的 context #### 打包 dt.img 失败 => Found 0 unique DTB(s) 1. 修改搜索 dtb 文件的路径,如:修改 ```build/core/tasks/dt_image.mk``` 里的 possible_dtb_dirs,加入 dts/,即 ```KERNEL_OUT)/arch/arm/boot/dts/``` 2. 方法 1 不行时,干脆上网找一个 prebuilt dt.img #### twrp recovery 刷入时的问题 build 好的 cm rom 在用 twrp recovery 刷入时,提示 "this package is for XXX, this device is YYY" 从而失败,是因为 twrp recovery 中的 ro.product.device 和 rom 中的校验不匹配,可修改 recovery 的 build.prop 或改 rom 中的校验代码或直接用 cm 代码 build 出来的 recovery.img (12.1 的 recovery 也是可以触摸操作的了,而且也有 root shell)