mirror of https://github.com/OpenIPC/firmware.git
219 lines
7.0 KiB
Bash
Executable File
219 lines
7.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
function fn_msc313_evn()
|
|
{
|
|
mkdir -p /data/audio
|
|
mkdir -p /data/cfg
|
|
mkdir -p /data/misc
|
|
mkdir -p /data/property
|
|
|
|
cp -rf /ipc/data/audio/* /data/audio
|
|
cp -rf /ipc/data/cfg/* /data/cfg
|
|
cp -rf /ipc/data/misc/* /data/misc
|
|
|
|
### param
|
|
## TCP/IP configuration
|
|
echo 163840 > /proc/sys/net/core/rmem_max
|
|
echo 327680 > /proc/sys/net/core/wmem_max
|
|
echo '1488 1984 2976' > /proc/sys/net/ipv4/tcp_mem
|
|
echo '4096 87380 325120' > /proc/sys/net/ipv4/tcp_rmem
|
|
echo '16384 327680 1048576' > /proc/sys/net/ipv4/tcp_wmem
|
|
|
|
ulimit -c unlimited
|
|
echo /ipc/app/core.%e.%t > /proc/sys/kernel/core_pattern
|
|
echo 2 > /sys/class/mstar/mvhe/rct
|
|
#echo 3 > /sys/class/mstar/mmfe/rct
|
|
echo 1 > /sys/class/mstar/msys/dmem_realloc
|
|
|
|
# stack size 6M
|
|
ulimit -s 6144
|
|
|
|
#disable overcommit
|
|
echo 0 > /proc/sys/vm/overcommit_memory
|
|
echo 50 > /proc/sys/vm/overcommit_ratio
|
|
|
|
### platform
|
|
chip=`cat /sys/devices/soc0/machine | awk '{print $2}'`
|
|
|
|
### MSC313E
|
|
setprop mi.vi.src 2
|
|
setprop mi.sys.shrink_mem 1
|
|
setprop mi.vi.img.sub 0
|
|
setprop mi.venc.bufcnt 2
|
|
setprop mi.venc.sub.bufcnt 2
|
|
|
|
setprop mi.vi.bufcnt 3
|
|
setprop mi.vi.sub.bufcnt 3
|
|
setprop mi.vi.sub.width 640
|
|
setprop mi.vi.sub.height 480
|
|
|
|
# SW OSD
|
|
#setprop mi.osd.stretch 1
|
|
setprop mi.osd.gop.use 0
|
|
setprop mstar.omx.gop.disable 1
|
|
|
|
echo D > /sys/class/mstar/mhvsp1/fbmg
|
|
echo 9 > /sys/class/mstar/mhvsp1/fbmg
|
|
#echo 0 > /sys/class/mstar/mscldma1/db
|
|
#echo D40 > /sys/class/mstar/mhvsp1/dbgmg
|
|
|
|
if [ -f /opt/iqserver.sh ]; then
|
|
/opt/iqserver.sh
|
|
else
|
|
# 固定编码内存不做它用
|
|
# 根据 cat /sys/class/mstar/msys/dmem 这个info来配置
|
|
#echo "Not fix memory"
|
|
setprop mi.venc.bufratio 50
|
|
setprop mi.venc.img.bufratio 40
|
|
setprop mi.video.height.force.aligned32 1
|
|
|
|
dmem -req 0x00016800 VSPL-I0P3B2
|
|
dmem -req 0x00016800 VSPL-I0P3B1
|
|
dmem -req 0x00016800 VSPL-I0P3B0
|
|
dmem -req 0x00025800 VENC-49
|
|
dmem -req 0x00025800 VENC-48
|
|
dmem -req 0x00070800 VSPL-I0P1B2
|
|
dmem -req 0x00070800 VSPL-I0P1B1
|
|
dmem -req 0x00070800 VSPL-I0P1B0
|
|
dmem -req 0x000FF000 VENC-33
|
|
dmem -req 0x000FF000 VENC-32
|
|
dmem -req 0x00357000 MS-02
|
|
dmem -req 0x00357000 MS-01
|
|
dmem -req 0x00357000 MS-00
|
|
dmem -req 0x00070800 VSPL-I0P0B2
|
|
dmem -req 0x00070800 VSPL-I0P0B1
|
|
dmem -req 0x00070800 VSPL-I0P0B0
|
|
dmem -req 0x000FF000 SCL_MCNR_M
|
|
dmem -req 0x003FC000 SCL_MCNR_YC
|
|
dmem -req 0x00000400 DLC_MEM
|
|
dmem -req 0x000088E0 ISP_MLOAD
|
|
dmem -req 0x00014000 pcmC0D0c
|
|
dmem -req 0x00018000 pcmC0D0p
|
|
dmem -req 0x00000100 BDMA_FSP_WBUFF
|
|
dmem -req 0x0001B120 ISP_base
|
|
dmem -req 0x00002000 EMAC_BUFF
|
|
|
|
echo "VSPL-I0P3B2" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P3B1" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P3B0" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VENC-49" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VENC-48" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P1B2" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P1B1" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P1B0" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VENC-33" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VENC-32" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "MS-02" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "MS-01" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "MS-00" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P0B2" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P0B1" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "VSPL-I0P0B0" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "SCL_MCNR_M" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "SCL_MCNR_YC" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "DLC_MEM" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "ISP_MLOAD" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "pcmC0D0c" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "pcmC0D0p" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "BDMA_FSP_WBUFF" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "ISP_base" > /sys/class/mstar/msys/fixed_dmem
|
|
echo "EMAC_BUFF" > /sys/class/mstar/msys/fixed_dmem
|
|
|
|
echo 1 > /sys/class/mstar/msys/fixed_dmem
|
|
echo 0 > /sys/class/mstar/msys/dmem_realloc
|
|
fi
|
|
}
|
|
|
|
function fn_setip()
|
|
{
|
|
if grep -q 'root=/dev/nfs' /proc/cmdline; then
|
|
echo "run on nfs, no flash mount!"
|
|
return 0
|
|
fi
|
|
|
|
if [ -f /opt/conf/config.xml ]; then
|
|
dev_ip=`xml_shuttle -cr -k /cfg/eth/ip /opt/conf/config.xml`
|
|
dev_ip=`echo $dev_ip| awk -F' ' '{print $3}'`
|
|
ifconfig eth0 $dev_ip
|
|
fi
|
|
}
|
|
|
|
function fn_hwclock()
|
|
{
|
|
test -e /var/run/hwclock
|
|
if [ 1 -eq $? ]; then
|
|
busybox hwclock -s
|
|
echo $? > /var/run/hwclock
|
|
fi
|
|
}
|
|
|
|
function fn_reboot()
|
|
{
|
|
logger -t autorun "exit jco_server"
|
|
cp /tmp/messages /opt/log/messages.reboot
|
|
sync
|
|
echo "reboot as jco_server exit"
|
|
reboot -f
|
|
}
|
|
|
|
function fn_load_drv()
|
|
{
|
|
insmod /ipc/drv/gd25q.ko
|
|
}
|
|
|
|
function fn_main()
|
|
{
|
|
# init mac
|
|
# macmac=`ifconfig eth7 | grep "inet addr" | cut -d : -f 2 | cut -d ' ' -f 1`
|
|
# macmac=`echo $macmac | sed -e 's/^192/8/g' -e 's/\.//g' | xargs printf "%012d"`
|
|
# echo $macmac | sed 's/../&-/g' | sed 's/-$//g'
|
|
# /sbin/ifconfig eth0 down
|
|
# /sbin/ifconfig eth0 hw ether `/usr/bin/fw_printenv -n ethaddr`
|
|
|
|
# init ip when no bootip
|
|
bootip=`ifconfig eth0 | grep "inet addr" | cut -d : -f 2 | cut -d ' ' -f 1`
|
|
[ -z "${bootip}" ] && { ifconfig eth0 192.168.1.217; ifconfig lo up; }
|
|
|
|
echo "PATH: ${PATH}"
|
|
echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}"
|
|
|
|
# sync ubifs_bgt0_0 block with high-cpu-usage,
|
|
# reboot in client_fee_watchdog(), reboot here will block
|
|
# speed of I/O write() is .33M/s, after ENCODE exit 21M/14 -> 1.5M/s
|
|
# flush when dirty upto 1.2M or .6M, freeTotal is 60M
|
|
echo 5 >/proc/sys/vm/dirty_ratio
|
|
echo 3 >/proc/sys/vm/dirty_background_ratio # 1.8M
|
|
#cho 300 >/proc/sys/vm/dirty_writeback_centisecs # 0.9M default 500
|
|
#cho 500 >/proc/sys/vm/dirty_expire_centisecs # 1.8M default 3000
|
|
|
|
test -x /opt/etc/local.rc && /opt/etc/local.rc
|
|
if ! ps | grep '[t]elnetd'; then
|
|
telnetd -p9527
|
|
(sleep 300; ps|awk '/[p]9527/ {print $1}' | xargs kill -9) &
|
|
fi
|
|
|
|
fn_load_drv
|
|
|
|
#/sbin/udevadm trigger
|
|
fn_setip
|
|
fn_hwclock
|
|
|
|
while :; do
|
|
echo "
|
|
+------------------------------------------------+
|
|
Hello Server World @`date +%F.%T`!!
|
|
+------------------------------------------------+
|
|
"
|
|
|
|
logger -t autorun "start jco_server @${count:-0}"
|
|
rm -rf /opt/upgrade/*
|
|
/ipc/app/jco_server
|
|
let count++
|
|
sleep 2
|
|
[ "${count:-0}" -ge 5 ] && reboot -f && fn_reboot
|
|
done
|
|
}
|
|
|
|
fn_msc313_evn
|
|
fn_main $@
|