#-*-sh-*-
############################################################
# <bsn.cl fy=2013 v=onl>
# 
#        Copyright 2013, 2014 BigSwitch Networks, Inc.        
# 
# Licensed under the Eclipse Public License, Version 1.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
# 
#        http://www.eclipse.org/legal/epl-v10.html
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
# either express or implied. See the License for the specific
# language governing permissions and limitations under the
# License.
# 
# </bsn.cl>
############################################################
#
# kdump
#
# TODO: turn off the phys to prevent network loops?
# TODO: trigger watchdog?
#
############################################################

waitforblockdev /mnt/flash || exit
echo "Entered kernel crash handler"
if ! vmcore-dmesg /proc/vmcore >/tmp/kernelcrash; then
    echo "vmcore-dmesg failed; cannot dump kernel crash log"
    return
fi
mkdir -p /mnt/flash/debug
cp /tmp/kernelcrash /mnt/flash/debug/ && echo "Wrote /mnt/flash/debug/kernelcrash"
echo "Last 50 lines of kernel crash log:"
tail -50 /mnt/flash/debug/kernelcrash
