blob: 163512777ecf8358dfce1ae8398ce61c88209335 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh
2# Copyright (C) 2006 OpenWrt.org
3# Copyright (C) 2010 Vertical Communications
4
5nvm_update() {
6 local oem_nvm_dir=$NVM_ROOT_DIR/oem_data/config
7 local file src_file dst_file
8
9 for file in $(ls ${oem_nvm_dir} 2>/dev/null); do
10 src_file=${oem_nvm_dir}/$(basename $file)
11 dst_file=$NVM_ROOT_DIR/$(basename $file)
12
13 if [ ! -e "${dst_file}" -o -e "$NVM_ROOT_DIR/oemd" ]; then
14 cp ${src_file} ${dst_file}
15 sync
16 echo "==> cp ${src_file} to ${dst_file}" > /dev/kmsg
17 fi
18 done
19
20 [ -e "$NVM_ROOT_DIR/oemd" ] && {
21 echo "==> delete mark file $NVM_ROOT_DIR/oemd" > /dev/kmsg
22 rm -rf $NVM_ROOT_DIR/oemd
23 sync
24 }
25}
26
27/sbin/mrvl_init
28export NVM_ROOT_DIR=/NVM
29#Check if customized NVM files need to be updated
30nvm_update
31
32#Delete proerties UCI
33rm -f /etc/config/properties
34#Set UCI file "cmdline" from /proc/cmdline
35cmdline2uci
36
37#Set default properties
38setprop sys.default.loglevel 8
39setprop sys.cp_load.loglevel 8
40setprop sys.atcmdsrv.loglevel 6
41setprop sys.ciClientStubTas.loglevel 6
42setprop sys.nvmproxy.loglevel 8
43setprop sys.rild.loglevel 8
44setprop ril.telephony.properties 0
45setprop persist.radio.sim1.auto_answer false
46setprop persist.radio.fastdorm.timeout 0
47
48#log option: 0-none 1-logcat 2-kmsg
49setprop sys.log.option 1
50#CATLOG=`uci get cmdline.CPLOG 2> /dev/null`
51#if [ "$CATLOG" == "1" ];then
52# setprop sys.log.option 1
53#else
54# setprop sys.log.option 0
55#fi
56
57PRODMODE=`uci get cmdline.PROD 2> /dev/null`
58NOCP=`uci get cmdline.NOCP 2> /dev/null`
59RDUPMODE=`uci get cmdline.RDUP 2> /dev/null`
60
61#for P403 spi-nor version first boot, need to mount_root before nvmproxy
62grep -q p403 /etc/mversion && [ -d /tmp/root ] && mount_root done
63grep -q p503 /etc/mversion && [ -d /tmp/root ] && mount_root done
64#do not start telephony in ramdump mode
65if [ "$PRODMODE" != "5" -a "$NOCP" != "1" ]; then
66 /bin/cp_load
67 /bin/nvmproxy &
68 (while ! /bin/atcmdsrv; do echo "Restarting atcmdsrv..."; done) &
69else
70 setprop sys.log.option 0
71 /bin/atcmdsrv -A &
72fi
73
74if [ "$PRODMODE" == "0" ] && [ "$RDUPMODE" == "1" ];then
75 nice -n -5 /bin/diag &
76fi
77
78#need to start rndis for ramdump mode
79if [ "$PRODMODE" == "0" ]; then
80 ######### user mode ########
81 /bin/rild &
82 /sbin/usb_init &
83
84 #Quickly start audio_if, ecall daemon & app, slic app
85 [ -e "/usr/bin/audio_if" ] && {
86 /usr/bin/audio_if &
87 }
88 [ -e "/usr/bin/ecall_daemon" ] && {
89 /usr/bin/ecall_daemon &
90 }
91 [ -e "/usr/bin/ecall_app" ] && {
92 /usr/bin/ecall_app &
93 }
94 [ -e "/usr/bin/proslic" ] && {
95 /usr/bin/proslic &
96 }
97 [ -e "/usr/bin/mislic" ] && {
98 /usr/bin/mislic &
99 }
100 [ -e "/usr/bin/dxslic" ] && {
101 /usr/bin/dxslic &
102 }
103elif [ "$PRODMODE" == "5" ]; then
104 ######### disable ap log output ########
105 setprop sys.log.option 0
106 ######### RDUP mode ########
107 /sbin/rdp_usb_init &
108else
109 ######### PROD mode ########
110 /sbin/prod_usb_init &
111fi