有时候为了测试机器的稳定性,需要煲机测试几天的情况,这个时候机器已经封装好,不能再接串口线出来。

为了追溯问题,就需要将log信息保存下来。

于是就需要这样一个功能:系统启动后,自动将kernel的log保存到SD卡,死机了也可以查看到信息

 

具体方法如下

一、在devices/…目录下写一个自动保存log的脚本

因为我现在使用的rockchip的平台,位置就是device/rockchip/rk30sdk/下

device/rockchip/rk30sdk/autosavelog.sh

#!/system/bin/sh

timestamp=`date +'%Y-%m-%d_%H-%M-%S'`
path=/mnt/external_sd
filename=$path/$timestamp.txt

cat /proc/kmsg > $filename

test=1
while [$test]
do 
    sleep 1
done

在上面的 timestamp=`date +’%Y-%m-%d_%H-%M-%S’` 获取当前的系统时间,来命名每次开机后log的文件名,就不会出现混淆的情况

 

二、在devices.mk中将脚本拷贝到系统一个路径下

device/rockchip/rk30sdk/device.mk

PRODUCT_COPY_FILES += \   
  device/rockchip/$(TARGET_PRODUCT)/autosavelog.sh:system/bin/autosavelog.sh

 

三、在init.rc中启动脚本

device/rockchip/rk30sdk/init.rc

service autosavelog /system/bin/autosavelog.sh
    class main
    user root

 

版权声明:本文为zou107原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zou107/p/8191703.html