有时候为了测试机器的稳定性,需要煲机测试几天的情况,这个时候机器已经封装好,不能再接串口线出来。
为了追溯问题,就需要将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=
while [$test]
do
sleep
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