您的位置:首页 > 移动开发 > Android开发

[RK3288][Android6.0] 调试笔记 --- 开机后台抓取kernel log

2017-08-15 11:57 661 查看
Platform: Rockchip

OS: Android 6.0

Kernel: 3.10.92

log保存在/data/log下

最大保存5份文件

满5份之后删除最旧的一份

kris@:~/rk3288/device/rockchip/rk3288$ g df 86f2bc34af5f4f8455a0e674c781b7c05c5af8a6 ed7447a416c3e47ab097b633d6b1c95ab67f1277
diff --git a/device.mk b/device.mk
index af3630b..22b92ff 100644
--- a/device.mk
+++ b/device.mk
@@ -112,6 +112,10 @@ PRODUCT_PACKAGES += \

+#Kris,170814.
+PRODUCT_COPY_FILES += \
+    device/rockchip/rk3288/kmsg.sh:system/bin/kmsg.sh
+
# setup dalvik vm configs.
$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)


开机脚本:

diff --git a/kmsg.sh b/kmsg.sh
new file mode 100644
index 0000000..5b5ebb3
--- /dev/null
+++ b/kmsg.sh
@@ -0,0 +1,28 @@
+#!/system/bin/sh
+#Kris, 20170814, Created.
+
+#Save five files as max.
+count=5
+for i in `seq $(($count+1))`
+do
+       #echo "i is $i"
+       if [ ! -f "/data/log/kmsg_$i.log" ]; then
+           break
+       fi
+done
+
+if [ $i -eq $(($count+1)) ]; then
+       rm /data/log/kmsg_1.log
+       i=$count
+       for j in `seq $(($count-1))`
+       do
+               #echo "/data/log/kmsg_$(($j+1)).log /data/log/kmsg_$j.log"
+               mv /data/log/kmsg_$(($j+1)).log /data/log/kmsg_$j.log
+       done
+fi
+
+
+cat /proc/kmsg > /data/log/kmsg_$i.log
+
+
+#cat /proc/kmsg > /data/log/kmsg_`date +%Y%m%d%H%M%S`.log


kris@:~/rk3288/system/core/rootdir$ g df d79a7ce597f36a56feff86fe6d92eacd433598e0 df4552a1f2f27f4967b5e84b47efab73e74ac23e
diff --git a/rootdir/init.rc b/rootdir/init.rc
index fe8893a..d2860d7 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -788,3 +788,8 @@ service syslog /system/bin/logcat -f /data/log/system.log -r 10240 -v time
user root
group system
oneshot
+
+#Kris, 170814, save kernel log.
+service kmsg_log /system/bin/kmsg.sh
+    class late_start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐