initializing tree with aospdtgen just fr skeleton
This commit is contained in:
102
rootdir/bin/apanic_mtk.sh
Normal file
102
rootdir/bin/apanic_mtk.sh
Normal file
@ -0,0 +1,102 @@
|
||||
#!/vendor/bin/sh
|
||||
#
|
||||
# Copyright (c) 2019, Motorola Mobility LLC, All rights reserved.
|
||||
#
|
||||
# The purpose of this script is to annotate panic dumps with useful information
|
||||
# about the context of the event.
|
||||
#
|
||||
|
||||
export PATH=/vendor/bin:/system/bin:$PATH
|
||||
|
||||
trigger=`getprop ro.vendor.boot.apanic.reason`
|
||||
trigger_prop=`getprop ro.vendor.boot.apanic.prop`
|
||||
|
||||
# script already running by boot reason, exit
|
||||
if [[ $trigger_prop && $trigger == "boot" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# run script by db property set and boot reason is not panic
|
||||
if [[ $trigger_prop && $trigger == "prop" ]]; then
|
||||
aee_trigger=`getprop vendor.debug.mtk.aeev.db`
|
||||
kp_type=("KE" "HWT" "HW_Reboot" "ManualMRDump" "HANG")
|
||||
kp_found=0
|
||||
|
||||
# check panic type
|
||||
if [ ! "$aee_trigger" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for va in ${kp_type[@]}; do
|
||||
has_str=$(echo $aee_trigger | grep "${va}")
|
||||
if [[ "$has_str" != "" ]]; then
|
||||
kp_found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $kp_found == 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d /data/vendor/dontpanic ]
|
||||
then
|
||||
mkdir /data/vendor/dontpanic
|
||||
fi
|
||||
|
||||
# check for pstore files and copy them to the /data/dontpanic
|
||||
if [ -e /sys/fs/pstore/console-ramoops* ]
|
||||
then
|
||||
cp /sys/fs/pstore/console-ramoops* /data/vendor/dontpanic/last_kmsg
|
||||
chown root:log /data/vendor/dontpanic/last_kmsg
|
||||
chmod 0640 /data/vendor/dontpanic/last_kmsg
|
||||
if [ -e /sys/fs/pstore/annotate-ramoops ]
|
||||
then
|
||||
cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/last_kmsg
|
||||
fi
|
||||
|
||||
cat /proc/bootinfo >> /data/vendor/dontpanic/last_kmsg
|
||||
cat /proc/version >> /data/vendor/dontpanic/last_kmsg
|
||||
|
||||
#storage
|
||||
s_path="/sys/storage/"
|
||||
storage="STORAGE: Type: "`cat ${s_path}type`", Vendor: "`cat ${s_path}vendor`
|
||||
storage=$storage", Size: "`cat ${s_path}size`", Model: "`cat ${s_path}model`", FW: "`cat ${s_path}fw`
|
||||
echo $storage >> /data/vendor/dontpanic/last_kmsg
|
||||
|
||||
#ram
|
||||
r_path="/sys/ram/"
|
||||
ram="RAM: Vendor: "`cat ${r_path}info`", MR5: "`cat ${r_path}mr5`
|
||||
ram=$ram", MR6: "`cat ${r_path}mr6`", MR7: "`cat ${r_path}mr7`", MR8: "`cat ${r_path}mr8`
|
||||
echo $ram >> /data/vendor/dontpanic/last_kmsg
|
||||
|
||||
fi
|
||||
|
||||
if [ -e /sys/fs/pstore/dmesg-ramoops-0 ]
|
||||
then
|
||||
cp /sys/fs/pstore/dmesg-ramoops-0 /data/vendor/dontpanic/apanic_console
|
||||
chown root:log /data/vendor/dontpanic/apanic_console
|
||||
chmod 0640 /data/vendor/dontpanic/apanic_console
|
||||
if [ -e /sys/fs/pstore/annotate-ramoops ]
|
||||
then
|
||||
cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/apanic_console
|
||||
fi
|
||||
fi
|
||||
|
||||
kpgather
|
||||
|
||||
if [ -e /dev/block/by-name/logs ] ; then
|
||||
BL_logs_parti=/dev/block/by-name/logs
|
||||
elif [ -e /dev/block/by-name/logfs ] ; then
|
||||
BL_logs_parti=/dev/block/by-name/logfs
|
||||
else
|
||||
BL_logs_parti=
|
||||
fi
|
||||
|
||||
if [ $BL_logs_parti ]
|
||||
then
|
||||
cat $BL_logs_parti > /data/vendor/dontpanic/BL_logs
|
||||
chown root:log /data/vendor/dontpanic/BL_logs
|
||||
chmod 0640 /data/vendor/dontpanic/BL_logs
|
||||
fi
|
Reference in New Issue
Block a user