You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/bin/bash
function fixmac() { #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 netcardname" exit 1 fi
netcardname=$1
linkfilename=/etc/systemd/network/20-fixedmac-${netcardname}.link
mac=$(ifconfig ${netcardname} | grep ether | awk '{print $2}')
echo "[Match]" >${linkfilename} echo "OriginalName=${netcardname}" >>${linkfilename} echo "" >>${linkfilename} echo "[Link]" >>${linkfilename} echo "MACAddress=${mac}" >>${linkfilename}
echo "++++++++++ create ${linkfilename} ++++++++++" cat ${linkfilename} echo "" }
function create_rc_local() { #!/bin/bash
echo "#!/bin/bash" >/etc/rc.local echo "cd /app/" >>/etc/rc.local echo "./startup.sh" >>/etc/rc.local chmod +x /etc/rc.local
echo "++++++++++ create /etc/rc.local ++++++++++" cat /etc/rc.local echo "" }
function generate_device_info() { # # /etc/device_info.env # DEVICE_ID=IFLYTOP_UNINITIALIZED # FRP_SERVER_ADDR=127.0.0.1 #
# 判断DEVICE_ID和FRP_SERVER_ADDR是否为空 echo "" >/etc/device_info.env for item in "${DEVICE_INFO[@]}"; do echo "$item" >>/etc/device_info.env done
echo "+++++++++ create /etc/device_info.env +++++++++" cat /etc/device_info.env echo ""
}
function update_frpc_config() { # # 当前这版本的FRPC的配置文件有问题,重新生成配置文件 # # [common] # server_addr = {{ .Envs.FRP_SERVER_ADDR }} # server_port = 7000 # log_file = /var/log/frpc.log # log_level = debug # log_max_days = 3 # login_fail_exit = false # user = {{ .Envs.DEVICE_ID }} # # [ssh] # type = tcp # local_ip = 127.0.0.1 # local_port = 22 # remote_port = 0
echo "[common]" >/etc/frpc.ini echo "server_addr = ${FTP_SERVER_ADDR}" >>/etc/frpc.ini echo "server_port = 7000" >>/etc/frpc.ini echo "log_file = /var/log/frpc.log" >>/etc/frpc.ini echo "log_level = debug" >>/etc/frpc.ini echo "log_max_days = 3" >>/etc/frpc.ini echo "login_fail_exit = false" >>/etc/frpc.ini echo "user = ${DEVICE_ID}" >>/etc/frpc.ini echo "" >>/etc/frpc.ini echo "[ssh]" >>/etc/frpc.ini echo "type = tcp" >>/etc/frpc.ini echo "local_ip = 127.0.0.1" >>/etc/frpc.ini echo "local_port = 22" >>/etc/frpc.ini echo "remote_port = 0" >>/etc/frpc.ini
echo "+++++++++ create /etc/frpc.ini +++++++++" cat /etc/frpc.ini echo ""
systemctl enable frpc.service systemctl start frpc
}
set -e FIX_MAC="" PARAMETERS=$@ EXEC_IN_BOARD=false
for i in "$@"; do case $i in --device_info) shift DEVICE_INFO+=("$1") shift ;; --fixmac) shift FIX_MAC=$1 shift ;; --exec_in_board) shift EXEC_IN_BOARD=$1 shift ;; --ip) shift IP=$1 shift ;; *) # unknown option ;; esac done
## 如果EXEC_IN_BOARD为空,则将自身拷贝到目标设备再次执行 if [ "$EXEC_IN_BOARD" != "true" ]; then echo "scp ./sh/boardinit.sh root@$IP:/tmp" scp ./boardinit.sh root@$IP:/tmp echo "ssh root@$IP \"/tmp/boardinit.sh $PARAMETERS --exec_in_board true\"" echo "" ssh root@$IP "/tmp/boardinit.sh $PARAMETERS --exec_in_board true" exit 0 fi
## 固化网卡 if [ "$FIX_MAC" == "true" ]; then fixmac eth0 fi
# update_frpc_config generate_device_info
# # 在这里下面添加一些,针对目标板定制的内容 # 例如: # 1. 翻转屏幕 # 2. apt-get安装一些依赖包 # 3. 修复一些当前文件系统的部分BUG # create_rc_local
apt-get update apt install psmisc
|