Добавлен скрипт автозапуска на видеорегистраторе - Busybox / HiLinux - теперь он замурован?

Я надеюсь, что кто-то может помочь мне понять, что я сделал неправильно:

Я обнаружил, что время от времени не могу получить доступ к своему старому цифровому видеорегистратору QSEE, и мне нужно перезагрузить компьютер, чтобы он снова работал, поэтому я создал скрипт, который пропингует локальный брандмауэр и, если нет ответа, перезагрузит цифровой видеорегистратор.

Я протестировал скрипт из telnet - shell и работал нормально: /bin/ping.sh &

Затем я хотел добавить его, чтобы запустить автоматический после перезагрузки DVR и теперь... DVR выглядит кирпичом;

Я не могу получить к нему доступ после удаленной перезагрузки... у него нет пинга, все изменения и тесты я сделал это удаленно.

Я увижу, когда приеду домой, если у меня будет возможность восстановить / прошить видеорегистратор...

Есть идеи, что я сделал не так?

редактировать:

Видеорегистратор застрял, потому что мой сценарий не завершается, и rcS не может завершиться, или это просто совпадение, и теперь ему нужен жесткий перезапуск??

edit2:

восстановил видеорегистратор... перепрошил.

благодарю вас

Это сценарий, который я добавил:

/etc/init.d/S99ping:

#!/bin/sh

while true

do
#echo sleep 120
/bin/sleep 300

counting=$(ping -s 0 -c 10 192.168.13.1 | grep received | awk -F',' '{ print $2 }' | awk '{ print $1 }' )
if [ $counting -eq 0 ]; then

# echo interface down-up
ifconfig eth0 down
/bin/sleep 5
ifconfig eth0 up
/bin/sleep 15

counting=$(ping -s 0 -c 5 192.168.13.1 | grep received | awk -F',' '{ print $2 }' | awk '{ print $1 }' )
if [ $counting -eq 0 ]; then

#echo reboot
/sbin/reboot

fi
fi

done

/etc/init.d $ ls -la

drwxr-xr-x    2 root     root            0 Apr 14 15:55 .
drwxr-xr-x    5 root     root            0 Apr 14 15:10 ..
-rw-r--r--    1 root     root            1 Mar 11  2012 NetChip.dat
-rwxr--r--    1 root     root           98 Jun  4  2010 S00devs
-rwxr--r--    1 root     root           85 Jun  4  2010 S01udev
-rwxr-xr-x    1 root     root          828 Jun  4  2010 S80network
-rwxr-xr-x    1 root     root          457 Apr 14 15:55 S99ping
-rw-r--r--    1 root     root            8 Mar 11  2012 VideoFormat.dat
-rw-r--r--    1 root     root           17 Oct  5  2011 mac.dat
-rwxr-xr-x    1 root     root          596 Jun  4  2010 rcS

это оригинальный скрипт rcS:

#! /bin/sh

/bin/mount -a

echo "
            _ _ _ _ _ _ _ _ _ _ _ _
            \  _  _   _  _ _ ___
            / /__/ \ |_/
           / __   /  -  _ ___
          / /  / /  / /
  _ _ _ _/ /  /  \_/  \_ ______
___________\___\__________________
"
for initscript in /etc/init.d/S[0-9][0-9]*
do
        if [ -x $initscript ] ;
        then
                echo "[RCS]: $initscript"
                $initscript
        fi
done

cd /lib/modules/2.6.24-rt1-hi3515v100/kernel/drivers/usb/host
insmod ehci-hcd.ko
insmod ohci-hcd.ko
cd /

LD_LIBRARY_PATH="/usr/local/lib:/usr/lib:/mnt/mtd"

export PATH
export LD_LIBRARY_PATH

sh /mnt/mtd/boot.sh

и это inittab:

/ etc $ cat inittab

# /etc/inittab init(8) configuration for BusyBox
#
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
#
# Note, BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use sysvinit.
#
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# <id>: WARNING: This field has a non-traditional meaning for BusyBox init!
#
#       The id field is used by BusyBox init to specify the controlling tty for
#       the specified process to run on.  The contents of this field are
#       appended to "/dev/" and used as-is.  There is no need for this field to
#       be unique, although if it isn't you may have strange results.  If this
#       field is left blank, it is completely ignored.  Also note that if
#       BusyBox detects that a serial console is in use, then all entries
#       containing non-empty id fields will _not_ be run.  BusyBox init does
#       nothing with utmp.  We don't need no stinkin' utmp.
#
# <runlevels>: The runlevels field is completely ignored.
#
# <action>: Valid actions include: sysinit, respawn, askfirst, wait, once,
#                                  restart, ctrlaltdel, and shutdown.
#
#       Note: askfirst acts just like respawn, but before running the specified
#       process it displays the line "Please press Enter to activate this
#       console." and then waits for the user to press enter before starting
#       the specified process.
#
#       Note: unrecognised actions (like initdefault) will cause init to emit
#       an error message, and then go along with its business.
#
# <process>: Specifies the process to be executed and it's command line.
#
# Note: BusyBox init works just fine without an inittab. If no inittab is
# found, it has the following default behavior:
#         ::sysinit:/etc/init.d/rcS
#         ::askfirst:/bin/sh
#         ::ctrlaltdel:/sbin/reboot
#         ::shutdown:/sbin/swapoff -a
#         ::shutdown:/bin/umount -a -r
#         ::restart:/sbin/init
#
# if it detects that /dev/console is _not_ a serial console, it will
# also run:
#         tty2::askfirst:/bin/sh
#         tty3::askfirst:/bin/sh
#         tty4::askfirst:/bin/sh
#
# Boot-time system configuration/initialization script.
# This is run first except when booting in single-user mode.
#
::sysinit:/etc/init.d/rcS

# /bin/sh invocations on selected ttys
#
# Note below that we prefix the shell commands with a "-" to indicate to the
# shell that it is supposed to be a login shell.  Normally this is handled by
# login, but since we are bypassing login in this case, BusyBox lets you do
# this yourself...
#
# Start an "askfirst" shell on the console (whatever that may be)
#::askfirst:-/bin/sh
# Start an "askfirst" shell on /dev/tty2-4
# tty2::askfirst:-/bin/sh
# tty3::askfirst:-/bin/sh
# tty4::askfirst:-/bin/sh

# /sbin/getty invocations for selected ttys
# tty4::respawn:/sbin/getty 38400 tty5
# tty5::respawn:/sbin/getty 38400 tty6

# Example of how to put a getty on a serial line (for a terminal)
::respawn:/sbin/getty -L ttyS000 115200 vt100 -n root -I "Auto login as root ..."
#::respawn:/sbin/getty -L ttyS1 9600 vt100
#
# Example how to put a getty on a modem line.
#::respawn:/sbin/getty 57600 ttyS2

# Stuff to do when restarting the init process
::restart:/sbin/init

# Stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

0 ответов

Другие вопросы по тегам