Linux笔记(开机自动将kerne log保存到SD卡中)

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

为了追溯问题,就需要将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

 

你可能感兴趣的:(Linux笔记(开机自动将kerne log保存到SD卡中))