b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Copyright (C) 2006 OpenWrt.org |
| 3 | # Copyright (C) 2010 Vertical Communications |
| 4 | |
| 5 | nvm_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 |
| 28 | export NVM_ROOT_DIR=/NVM |
| 29 | #Check if customized NVM files need to be updated |
| 30 | nvm_update |
| 31 | |
| 32 | #Delete proerties UCI |
| 33 | rm -f /etc/config/properties |
| 34 | #Set UCI file "cmdline" from /proc/cmdline |
| 35 | cmdline2uci |
| 36 | |
b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 37 | # Add by liubin for open/close dump. |
| 38 | RDUP_MODE=`getprop persist.mbtk.dump 2> /dev/null` |
| 39 | if [ "$RDUP_MODE" == "1" ];then |
| 40 | echo 0xF > /proc/sys/kernel/print-fatal-signals |
| 41 | else |
| 42 | echo 0xE > /proc/sys/kernel/print-fatal-signals |
| 43 | fi |
| 44 | |
b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 45 | #Set default properties |
| 46 | setprop sys.default.loglevel 8 |
| 47 | setprop sys.cp_load.loglevel 8 |
| 48 | setprop sys.atcmdsrv.loglevel 6 |
| 49 | setprop sys.ciClientStubTas.loglevel 6 |
| 50 | setprop sys.nvmproxy.loglevel 8 |
| 51 | setprop sys.rild.loglevel 8 |
| 52 | setprop ril.telephony.properties 0 |
| 53 | setprop persist.radio.sim1.auto_answer false |
| 54 | setprop persist.radio.fastdorm.timeout 0 |
b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 55 | setprop persist.mbtk.dev_ttymodem0 custom |
| 56 | setprop persist.mbtk.dev_ttyS1 custom |
b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 57 | |
| 58 | #log option: 0-none 1-logcat 2-kmsg |
| 59 | setprop 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 | |
| 67 | PRODMODE=`uci get cmdline.PROD 2> /dev/null` |
| 68 | NOCP=`uci get cmdline.NOCP 2> /dev/null` |
| 69 | RDUPMODE=`uci get cmdline.RDUP 2> /dev/null` |
| 70 | |
| 71 | #for P403 spi-nor version first boot, need to mount_root before nvmproxy |
| 72 | grep -q p403 /etc/mversion && [ -d /tmp/root ] && mount_root done |
| 73 | grep -q p503 /etc/mversion && [ -d /tmp/root ] && mount_root done |
| 74 | #do not start telephony in ramdump mode |
b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 75 | # Add by liubin |
b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 76 | if [ "$PRODMODE" != "5" -a "$NOCP" != "1" ]; then |
| 77 | /bin/cp_load |
| 78 | /bin/nvmproxy & |
| 79 | (while ! /bin/atcmdsrv; do echo "Restarting atcmdsrv..."; done) & |
b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 80 | /etc/init.d/mbtk_boot_eary & |
b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 81 | else |
| 82 | setprop sys.log.option 0 |
| 83 | /bin/atcmdsrv -A & |
| 84 | fi |
| 85 | |
| 86 | if [ "$PRODMODE" == "0" ] && [ "$RDUPMODE" == "1" ];then |
| 87 | nice -n -5 /bin/diag & |
| 88 | fi |
| 89 | |
| 90 | #need to start rndis for ramdump mode |
| 91 | if [ "$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 | } |
| 115 | elif [ "$PRODMODE" == "5" ]; then |
| 116 | ######### disable ap log output ######## |
| 117 | setprop sys.log.option 0 |
| 118 | ######### RDUP mode ######## |
| 119 | /sbin/rdp_usb_init & |
| 120 | else |
| 121 | ######### PROD mode ######## |
| 122 | /sbin/prod_usb_init & |
b.liu | d440f9f | 2025-04-18 10:44:31 +0800 | [diff] [blame^] | 123 | # add by mbtk |
| 124 | /bin/rild & |
| 125 | [ -e "/usr/bin/audio_if" ] && { |
| 126 | /usr/bin/audio_if & |
| 127 | } |
b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 128 | fi |