blob: 9483d7644322339e2f121372516568d9e6c7a51e [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
b.liud440f9f2025-04-18 10:44:31 +080037# Add by liubin for open/close dump.
38RDUP_MODE=`getprop persist.mbtk.dump 2> /dev/null`
39if [ "$RDUP_MODE" == "1" ];then
40 echo 0xF > /proc/sys/kernel/print-fatal-signals
41else
42 echo 0xE > /proc/sys/kernel/print-fatal-signals
43fi
44
b.liue9582032025-04-17 19:18:16 +080045#Set default properties
46setprop sys.default.loglevel 8
47setprop sys.cp_load.loglevel 8
48setprop sys.atcmdsrv.loglevel 6
49setprop sys.ciClientStubTas.loglevel 6
50setprop sys.nvmproxy.loglevel 8
51setprop sys.rild.loglevel 8
52setprop ril.telephony.properties 0
53setprop persist.radio.sim1.auto_answer false
54setprop persist.radio.fastdorm.timeout 0
b.liud440f9f2025-04-18 10:44:31 +080055setprop persist.mbtk.dev_ttymodem0 custom
56setprop persist.mbtk.dev_ttyS1 custom
b.liue9582032025-04-17 19:18:16 +080057
58#log option: 0-none 1-logcat 2-kmsg
59setprop sys.log.option 1
60#CATLOG=`uci get cmdline.CPLOG 2> /dev/null`
61#if [ "$CATLOG" == "1" ];then
62# setprop sys.log.option 1
63#else
64# setprop sys.log.option 0
65#fi
66
67PRODMODE=`uci get cmdline.PROD 2> /dev/null`
68NOCP=`uci get cmdline.NOCP 2> /dev/null`
69RDUPMODE=`uci get cmdline.RDUP 2> /dev/null`
70
71#for P403 spi-nor version first boot, need to mount_root before nvmproxy
72grep -q p403 /etc/mversion && [ -d /tmp/root ] && mount_root done
73grep -q p503 /etc/mversion && [ -d /tmp/root ] && mount_root done
74#do not start telephony in ramdump mode
b.liud440f9f2025-04-18 10:44:31 +080075# Add by liubin
b.liue9582032025-04-17 19:18:16 +080076if [ "$PRODMODE" != "5" -a "$NOCP" != "1" ]; then
77 /bin/cp_load
78 /bin/nvmproxy &
79 (while ! /bin/atcmdsrv; do echo "Restarting atcmdsrv..."; done) &
b.liud440f9f2025-04-18 10:44:31 +080080 /etc/init.d/mbtk_boot_eary &
b.liue9582032025-04-17 19:18:16 +080081else
82 setprop sys.log.option 0
83 /bin/atcmdsrv -A &
84fi
85
86if [ "$PRODMODE" == "0" ] && [ "$RDUPMODE" == "1" ];then
87 nice -n -5 /bin/diag &
88fi
89
90#need to start rndis for ramdump mode
91if [ "$PRODMODE" == "0" ]; then
92 ######### user mode ########
93 /bin/rild &
94 /sbin/usb_init &
95
96 #Quickly start audio_if, ecall daemon & app, slic app
97 [ -e "/usr/bin/audio_if" ] && {
98 /usr/bin/audio_if &
99 }
100 [ -e "/usr/bin/ecall_daemon" ] && {
101 /usr/bin/ecall_daemon &
102 }
103 [ -e "/usr/bin/ecall_app" ] && {
104 /usr/bin/ecall_app &
105 }
106 [ -e "/usr/bin/proslic" ] && {
107 /usr/bin/proslic &
108 }
109 [ -e "/usr/bin/mislic" ] && {
110 /usr/bin/mislic &
111 }
112 [ -e "/usr/bin/dxslic" ] && {
113 /usr/bin/dxslic &
114 }
115elif [ "$PRODMODE" == "5" ]; then
116 ######### disable ap log output ########
117 setprop sys.log.option 0
118 ######### RDUP mode ########
119 /sbin/rdp_usb_init &
120else
121 ######### PROD mode ########
122 /sbin/prod_usb_init &
b.liud440f9f2025-04-18 10:44:31 +0800123 # add by mbtk
124 /bin/rild &
125 [ -e "/usr/bin/audio_if" ] && {
126 /usr/bin/audio_if &
127 }
b.liue9582032025-04-17 19:18:16 +0800128fi