User版本下如何抓取kernel的log
在user版本下,我们没有权限对/proc/kmsg进行操作,只有对拥有root权限或者system组的才能对其进行操作。这时我们只要写个简单的脚本,让其拥有root权限就行了。例:1、在LINUX/android/device/qcom/common/rootdir/etc新建一个目录$mkdir x.shx.sh脚本内容如下:#!/bin/bas
在user版本下,我们没有权限对/proc/kmsg进行操作,只有对拥有root权限或者system组的才能对其进行操作。
这时我们只要写个简单的脚本,让其拥有root权限就行了。
例:
1、在LINUX/android/device/qcom/common/rootdir/etc新建一个目录
$mkdir x.sh
x.sh脚本内容如下:
#!/bin/bash
cat/proc/kmsg >> /storage/sdcard0/xxxxx_kernel.txt &
logcat -v time >> /storage/sdcard0/xxxxx_logcat.txt
2、然后在上层目录的Android.mk中添加x.sh的编译选项。
$vim ../Android.mk
在最底行添加下面语句:
include$(CLEAR_VARS)
LOCAL_MODULE := x.sh
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS:= ETC
LOCAL_SRC_FILES := etc/x.sh
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include$(BUILD_PREBUILT)
3、然后在LINUX/android/device/qcom/common/common.mk添加下面一句话
INIT+= x.sh
4、最后在init进程起来时运行这个脚本,在LINUX/android/system/core/rootdir/init.rc的底行添加下面语句:
service xxx /system/bin/sh /x.sh
class core
user root
group systemroot
大功告成啦,自己制作rom烧进机子就可以抓出kernel的log了!!log在/storage/sdcard0/目录下,用adbpull就可以弄出来了。
*************
这是把脚本添加成service进行执行的,所以脚本必须是死循环,如果脚本关闭,service也随着关闭,后台运行的程序也关闭了.
*************
更多推荐
所有评论(0)