Advertisement
Guest User

8282119

a guest
Oct 26th, 2010
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.74 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. MOUNT_DIR="sda1"
  4.  
  5. check_usb_mount()
  6. {
  7.     while [ 1 == 1 ]
  8.     do
  9.         if [ -d /dtv/usb/sda ]; then
  10.             MOUNT_DIR="sda"
  11.         elif [ -d /dtv/usb/sda1 ]; then
  12.             MOUNT_DIR="sda1"
  13.         elif [ -d /dtv/usb/sda2 ]; then
  14.             MOUNT_DIR="sda2"
  15.         elif [ -d /dtv/usb/sdb ]; then
  16.             MOUNT_DIR="sdb"
  17.         elif [ -d /dtv/usb/sdb1 ]; then
  18.             MOUNT_DIR="sdb1"
  19.         elif [ -d /dtv/usb/sdb2 ]; then
  20.             MOUNT_DIR="sdb2"
  21.         elif [ -d /dtv/usb/sdc ]; then
  22.             MOUNT_DIR="sdc"
  23.         elif [ -d /dtv/usb/sdc1 ]; then
  24.             MOUNT_DIR="sdc1"
  25.         elif [ -d /dtv/usb/sdc2 ]; then
  26.             MOUNT_DIR="sdc2"
  27.         elif [ -d /dtv/usb/sdd ]; then
  28.             MOUNT_DIR="sdd"
  29.         elif [ -d /dtv/usb/sdd1 ]; then
  30.             MOUNT_DIR="sdd1"
  31.         elif [ -d /dtv/usb/sdd2 ]; then
  32.             MOUNT_DIR="sdd2"
  33.         else
  34.             echo "Please connect usb memory wait 5 seconds..."
  35.             sleep 5
  36.             continue
  37.         fi
  38.         return
  39.     done
  40. }
  41.  
  42. usb_module_insmod()
  43. {
  44.     /sbin/gpio 11 2 out 1
  45.     insmod /lib/modules/usbcore.ko
  46.     insmod /lib/modules/ohci-hcd.ko
  47.     insmod /lib/modules/ehci-hcd.ko
  48.     insmod /lib/modules/usb-storage.ko
  49.     sleep 3
  50.     return
  51. }
  52.  
  53. usb_remount()
  54. {
  55.     umount /dtv/usb/$MOUNT_DIR
  56.     echo "umount /dtv/usb/$MOUNT_DIR"
  57.     mount -t vfat /dev/$MOUNT_DIR /dtv/usb/$MOUNT_DIR
  58.     echo "mount -t vfat /dev/$MOUNT_DIR /dtv/usb/$MOUNT_DIR"
  59.     sleep 3
  60. }
  61.  
  62. core_dump()
  63. {
  64.     if [ -e /core/* ]; then
  65.         cd /core
  66.         ls
  67.         echo "cp /core/* /dtv/usb/$MOUNT_DIR/"
  68.         cp -rf /core/* /dtv/usb/$MOUNT_DIR/
  69.         sync
  70.     else
  71.         echo "No Coredump file"
  72.         return 0
  73.     fi
  74. }
  75.  
  76. log_dump()
  77. {
  78.     /sbin/logdump /dtv/usb/$MOUNT_DIR/logdump.txt
  79.     sync
  80.     if [ -e /mtd_rwarea/emeg_log.txt ]; then
  81.         echo "cp /mtd_rwarea/emeg_log.txt /dtv/usb/$MOUNT_DIR/"
  82.         cp -rf /mtd_rwarea/emeg_log.txt /dtv/usb/$MOUNT_DIR/
  83.         sync
  84.     else
  85.         echo "No emeg_log.txt file"
  86.     fi
  87.     echo "cat /proc/kmsg > /dtv/usb/$MOUNT_DIR/kmsg.txt &"
  88.     cat /proc/kmsg > /dtv/usb/$MOUNT_DIR/kmsg.txt &
  89.     sleep 2
  90.     killall -9 cat
  91.     echo "sync"
  92.     sync
  93. }
  94.  
  95. echo "Check usb module insmod status"
  96. MOD_FLAG=$(lsmod | grep ehci)
  97. if [ "$MOD_FLAG" != "" ]; then
  98.     echo "usb modules exist"
  99. else
  100.     echo "usb modules not exist try to insmod"
  101.     usb_module_insmod
  102. fi
  103.  
  104. echo "Check usb mount status"
  105. check_usb_mount
  106.  
  107. echo "Usb re-mount for write speed"
  108. usb_remount
  109.  
  110. while [ "$SELECT" != "99" ]
  111. do
  112.     echo "===================================="
  113.     echo "      [ DEBUG MENU ]                "
  114.     echo "------------------------------------"
  115.     echo " 1. Copy log to USB             "
  116.     echo " 2. Copy corefile to USB            "
  117.     echo "===================================="
  118.     echo " 99. Exit                           "
  119.     echo "===================================="
  120.     echo -n "select > "
  121.     read SELECT
  122.     if [ "$SELECT" = "1" ]; then
  123.         log_dump
  124.     elif [ "$SELECT" = "2" ]; then
  125.         core_dump
  126.     fi
  127. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement