1

Add original scripts

This commit is contained in:
eleksir
2016-09-04 22:20:40 +03:00
commit 8e3af042d2
128 changed files with 19003 additions and 0 deletions

308
sysinit.sh Executable file
View File

@@ -0,0 +1,308 @@
#!/bin/sh
ROOT_PART="/mnt/HDA_ROOT"
MNT_POINT="/mnt/ext"
HIDDEN_CONF_FILE="${ROOT_PART}/.conf"
HIDDEN_CONF_DIR="${ROOT_PART}/.config"
TS_CONF_DIR=/etc/config
HIDDEN_LOG_DIR="${ROOT_PART}/.logs"
TS_LOG_DIR=/etc/logs
SYSTEM_TEMP_DIR=/tmp
QPKG_RSS_DOC_LINK="/home/httpd/RSS/rssdoc"
QPKG_RSS_DOC_DIR="/etc/config/rssdoc"
GETCFG="/sbin/getcfg"
SETCFG="/sbin/setcfg"
FUNC_SWITCH_CONF="/etc/config/.funcSwitch.conf"
APP_RUNTIME_CONF="/var/.application.conf"
_init_smart_conf()
{
_SMART_CONF=/etc/config/smart.conf
if [ ! -f ${_SMART_CONF} ]; then
/bin/touch /etc/config/smart.conf
_tmp=`${GETCFG} SMART "Temperature Type" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Temperature Type" "${_tmp}" -f /etc/config/smart.conf
fi
_disk_no=`${GETCFG} Storage "Disk Drive Number" -d 8 -f /etc/default_config/uLinux.conf`
_cnt=1
while [ ${_cnt} -le ${_disk_no} ]; do
_tmp=`${GETCFG} SMART "HD ${_cnt} Now Test Type" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "HD ${_cnt} Now Test Type" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "HD ${_cnt} Last Test Time" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "HD ${_cnt} Last Test Time" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "HD ${_cnt} Last Test Type" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "HD ${_cnt} Last Test Type" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Enable Temperature Threshold ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Enable Temperature Threshold ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Temperature Threshold ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Temperature Threshold ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Short Test Schedule ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Short Test Schedule ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Enable Short Schedule ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Enable Short Schedule ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Extended Test Schedule ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Extended Test Schedule ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_tmp=`${GETCFG} SMART "Enable Extended Schedule ${_cnt}" -d NONE`
if [ "x$_tmp" != "xNONE" ]; then
${SETCFG} SMART "Enable Extended Schedule ${_cnt}" "${_tmp}" -f /etc/config/smart.conf
fi
_cnt=`/usr/bin/expr ${_cnt} + 1`
done
fi
}
_hide_apps()
{
[ -f "$FUNC_SWITCH_CONF" ] || return 1
DisHF=`$GETCFG DISABLE HomeFeature -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${DisHF}" = "xx" ] || $SETCFG DISABLE HomeFeature "${DisHF}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE qdownload -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE qdownload "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE musics -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE musics "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE photos -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE photos "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE qmultimedia -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE qmultimedia "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE iTunes -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE iTunes "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE upnp -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE upnp "${_buf}" -f "${APP_RUNTIME_CONF}"
_buf=`$GETCFG DISABLE survielance -d x -f "${FUNC_SWITCH_CONF}"`
[ x"${_buf}" = "xx" ] || $SETCFG DISABLE survielance "${_buf}" -f "${APP_RUNTIME_CONF}"
}
case "$1" in
start)
##[ -f /sbin/zfs-fuse ] && /sbin/daemon_mgr zfs-fuse start /sbin/zfs-fuse && /bin/mknod /dev/fuse c 10 229
[ x`/bin/pidof bcclient` != x ] || /sbin/daemon_mgr bcclient start "/sbin/bcclient"
[ -f /sbin/zfs-fuse ] && /sbin/zfs-fuse && /bin/mknod /dev/fuse c 10 229
if [ -f /tmp/booting ]; then
tmpdir=/tmp/install
CNT=0
while [ $CNT -lt 10 ]; do
if [ -f $tmpdir/ffmpeg ] && [ -f $tmpdir/ImageMagick ] && [ -f $tmpdir/radius ] &&\
[ -f $tmpdir/vim ] && [ -f $tmpdir/samba ] && [ -f $tmpdir/libtorrent ] && \
[ -f $tmpdir/printer ] && [ -f $tmpdir/vaultServices ] && [ -f $tmpdir/language ]; then
rm -rf /tmp/install
break
else
[ ! -d $tmpdir ] && break
sleep 1
CNT=`expr $CNT + 1`
fi
done
if [ -f /sbin/storage_boot_init ]; then
/bin/umount /dev/md9 1>/dev/null 2>&1
[ $? = 0 ] || /bin/echo "mountall: umount dev/md9 failed."
fi
/bin/rm -rf /tmp/booting
fi
if [ -f /sbin/storage_boot_init ]; then
[ "x$2" = "x" ] && /sbin/storage_boot_init 1
driveno=`/sbin/getcfg "Storage" "Disk Drive Number" -d 0`
driveno_ram=`/sbin/getcfg "Storage" "Disk Drive Number" -d 0 -f /etc/default_config/uLinux.conf`
if [ $driveno != $driveno_ram ] && [ $driveno_ram -gt 0 ]; then
/sbin/setcfg "Storage" "Disk Drive Number" $driveno_ram
fi
fi
/bin/sync
/sbin/ldconfig
/sbin/hwclock --hctosys
# create config symbolic link and event log symbolic link
/usr/bin/readlink $TS_CONF_DIR | grep ".config" 1>/dev/null 2>&1
# for HAL enable system, the symbolic link is created in storage_util
if [ $? != 0 -o -x "/sbin/hal_app" ] && [ -f $HIDDEN_CONF_FILE ] && [ -d $HIDDEN_CONF_DIR ]; then
/bin/echo config hidden config directory exist, create symbolic link $TS_CONF_DIR... [OK]
# create $TS_CONF_DIR
/bin/rm -rf $TS_CONF_DIR
/bin/ln -sf $HIDDEN_CONF_DIR $TS_CONF_DIR
[ -f /etc/init.d/init_config.sh ] && /etc/init.d/init_config.sh dhcp_info
/bin/chown admin.administrators $HIDDEN_CONF_DIR
/bin/touch ${SYSTEM_TEMP_DIR}/check.status
/bin/touch ${SYSTEM_TEMP_DIR}/format.status
/bin/cp -a ${HIDDEN_CONF_DIR}/TZ /etc/
/sbin/hwclock --hctosys
echo Writing model version information...
if [ -f /etc/config/update_fw_ok ]; then
TS_VERSION=`/sbin/getcfg System Version -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_VERSION`" != "x" ] && /sbin/setcfg System Version $TS_VERSION
TS_BUILDVER=`/sbin/getcfg System "Build Version" -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_BUILDVER`" != "x" ] && /sbin/setcfg System "Build Version" $TS_BUILDVER
TS_BUILDNUM=`/sbin/getcfg System "Build Number" -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_BUILDNUM`" != "x" ] && /sbin/setcfg System "Build Number" $TS_BUILDNUM
TS_BUILDDATE=`/sbin/getcfg System "Build Date" -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_BUILDDATE`" != "x" ] && /sbin/setcfg System "Build Date" $TS_BUILDDATE
fi
MANUFACTURER=`/sbin/getcfg System Manufacturer -f /etc/default_config/uLinux.conf -d ""`
MANUFACTURER_HD=`/sbin/getcfg System Manufacturer -d ""`
[ x"${MANUFACTURER}" = x"${MANUFACTURER_HD}" ] || /sbin/setcfg System Manufacturer "${MANUFACTURER}"
MANUFACTURER_URL=`/sbin/getcfg System ManufacturerURL -f /etc/default_config/uLinux.conf -d ""`
MANUFACTURER_URL_HD=`/sbin/getcfg System ManufacturerURL -d ""`
[ x"${MANUFACTURER_URL}" = x"${MANUFACTURER_URL_HD}" ] || /sbin/setcfg System ManufacturerURL "${MANUFACTURER_URL}"
COMPANY_INFO=`/sbin/getcfg iSCSI "Company Info" -f /etc/default_config/uLinux.conf -d ""`
COMPANY_INFO_HD=`/sbin/getcfg iSCSI "Company Info" -d ""`
[ x"${COMPANY_INFO}" = x"${COMPANY_INFO_HD}" ] || /sbin/setcfg iSCSI "Company Info" "${COMPANY_INFO}"
MODEL_NAME=`/sbin/getcfg iSCSI "Model Name" -f /etc/default_config/uLinux.conf -d ""`
MODEL_NAME_HD=`/sbin/getcfg iSCSI "Model Name" -d ""`
[ x"${MODEL_NAME}" = x"${MODEL_NAME_HD}" ] || /sbin/setcfg iSCSI "Model Name" "${MODEL_NAME}"
TS_MODEL=`/sbin/getcfg System Model -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_MODEL`" != "x" ] && /sbin/setcfg System Model $TS_MODEL
TS_INTERNAL_MODEL=`/sbin/getcfg System "Internal Model" -f /etc/default_config/uLinux.conf`
[ "x`echo -n $TS_INTERNAL_MODEL`" != "x" ] && /sbin/setcfg System "Internal Model" $TS_INTERNAL_MODEL
if [ $? = 0 ]; then
echo Writing model version info...[OK]
else
echo Writing Internal Model...[Failed]
fi
_hide_apps
#QTS UI
/bin/rm -rf /home/httpd/cgi-bin/loginTheme/theme
/bin/ln -sf theme`/sbin/getcfg System LoginTheme -d 2` /home/httpd/cgi-bin/loginTheme/theme
/bin/ln -sf "../../images/desktop/desktop-`/sbin/getcfg System LoginBgNum -d 1`.jpg" /home/httpd/cgi-bin/loginTheme/theme/desktop.jpg
if [ ! -f /home/httpd/cgi-bin/images/desktop/desktop-5.jpg ] && [ ! -f /mnt/HDA_ROOT/update_pkg/jsLib.tgz ]; then
/bin/mv /home/httpd/cgi-bin/user-settings.json /home/httpd/cgi-bin/user-settings.json.bg6 2>/dev/null
/bin/cp /home/httpd/cgi-bin/user-settings.json.bg2 /home/httpd/cgi-bin/user-settings.json 2>/dev/null
fi
fi
/sbin/set_home_directory
/sbin/sss_convert
if [ -f $HIDDEN_CONF_FILE ] && [ -d $HIDDEN_LOG_DIR ]; then
# create $TS_LOG_DIR
if [ ! -f $HIDDEN_LOG_DIR/event.log ]; then
echo log file not found, create symbolic link $TS_LOG_DIR and initial log file... [OK]
if [ -f $TS_LOG_DIR/event.log ]; then
/bin/cp $TS_LOG_DIR/event.log $HIDDEN_LOG_DIR
/bin/cp $TS_LOG_DIR/conn.log $HIDDEN_LOG_DIR
/bin/rm -rf $TS_LOG_DIR
/bin/ln -sf $HIDDEN_LOG_DIR $TS_LOG_DIR
/sbin/log_tool -v -b 10000
/sbin/conn_log_tool -v -b 10000
else
/bin/rm -rf $TS_LOG_DIR
/bin/ln -sf $HIDDEN_LOG_DIR $TS_LOG_DIR
/sbin/log_tool -v -c
/sbin/log_tool -v -b 10000
/sbin/conn_log_tool -v -c
/sbin/conn_log_tool -v -b 10000
# delete old nas logs
if [ -f $TS_LOG_DIR/nas4000.cnt ]; then
rm $TS_LOG_DIR/nas4000.cnt
fi
if [ -f $TS_LOG_DIR/nas4000.log ]; then
echo delete old nas logs... [OK]
rm $TS_LOG_DIR/nas4000.log
fi
fi
else
/usr/bin/readlink $TS_LOG_DIR 1>/dev/null 2>&1
if [ $? != 0 ]; then
# TS_LOG_DIR link not exist
echo log hidden config directory exist, create symboloc link $TS_LOG_DIR... [OK]
/bin/ln -sf $HIDDEN_LOG_DIR $TS_LOG_DIR
fi
fi
else
echo log hidden config directory not exist, initial 10K log file... [OK]
/bin/mkdir $TS_LOG_DIR
/sbin/log_tool -v -c
/sbin/log_tool -v -b 50
/sbin/conn_log_tool -v -c
/sbin/conn_log_tool -v -b 50
fi
#QFIX
[ -f /etc/config/qpkg.conf ] || /bin/touch /etc/config/qpkg.conf &
/etc/init.d/init_qpkg.sh qfix
/sbin/setcfg Printers "Phy exist" 0
/sbin/setcfg Printers "Phy exist2" 0
/sbin/setcfg Printers "Phy exist3" 0
/sbin/setcfg Printers "Phy exist4" 0
/sbin/setcfg Printers "Phy exist5" 0
/bin/echo "" > /etc/config/printcap
[ -f /etc/init.d/nvrd.sh ] && /etc/init.d/nvrd.sh init &
#[ -d /mnt/HDA_ROOT/.spool ] || /etc/init.d/printer.sh start
#create QPKG_RSS_DOC_DIR
/usr/bin/readlink $TS_CONF_DIR | grep ".config" 1>/dev/null 2>&1
if [ $? = 0 ] && [ ! -d ${QPKG_RSS_DOC_LINK} ]; then
[ -d ${QPKG_RSS_DOC_DIR} ] || /bin/mkdir ${QPKG_RSS_DOC_DIR}
/bin/ln -sf ${QPKG_RSS_DOC_DIR} ${QPKG_RSS_DOC_LINK}
/bin/rm -f ${QPKG_RSS_DOC_DIR}/qpkgcenter* 2>/dev/null
/bin/rm -f ${QPKG_RSS_DOC_DIR}/last_uptime* 2>/dev/null
/bin/rm -f ${QPKG_RSS_DOC_DIR}/newsrss_* 2>/dev/null
fi
/bin/touch /etc/config/usb_share_mapping
/bin/touch /etc/default_config/usb_share_mapping
/bin/touch /var/lock/add_ext_dev
/bin/touch /etc/config/esata_share_mapping
/bin/touch /etc/default_config/esata_share_mapping
/bin/touch /etc/config/usb_share_setting
/bin/touch /etc/default_config/usb_share_setting
/bin/touch /etc/config/schedule_boot_setting
/bin/touch /etc/default_config/schedule_boot_setting
_init_smart_conf
[ -d /etc/config/vaultServices ] || /bin/mkdir /etc/config/vaultServices &
[ `/sbin/getcfg "System" "Date Format Index" -d 0` = 0 ] && /sbin/setcfg "System" "Date Format Index" 1
#/sbin/setcfg "System" "Date Format Index" 0
# init rcv_port
if [ -f /etc/init.d/rcv_port.sh ]; then
/etc/init.d/rcv_port.sh start
fi
/sbin/modagent
/etc/init.d/snapshot.sh start
# /etc/init.d/iscsiinit.sh start
# For locale en_US.utf-8
if [ -d /usr/share/i18n ]; then
[ -d /usr/lib/locale ] || /bin/mkdir /usr/lib/locale
[ -f /usr/lib/locale/locale-archive ] || /usr/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
fi
/etc/init.d/init_dns_type.sh
if [ -f /.disable_home_features ]; then
/sbin/setcfg QPHOTO Enable FALSE
/sbin/setcfg BTDownload Enable FALSE
/sbin/setcfg iTune Enable FALSE
/sbin/setcfg TwonkyMedia Enable FALSE
fi
;;
stop)
# nothing to do
/etc/init.d/iscsiinit.sh stop
/etc/init.d/snapshot.sh stop
/usr/bin/killall modagent
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/sysinit.sh {start|stop|restart}"
exit 1
esac
exit 0