3 changed files with 115 additions and 10 deletions
-
7README.md
-
8TODO.md
-
110sh/boardinit.sh
@ -0,0 +1,110 @@ |
|||||
|
#!/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 generate_device_info() { |
||||
|
# |
||||
|
# /etc/device_info.env |
||||
|
# DEVICE_ID=IFLYTOP_UNINITIALIZED |
||||
|
# FRP_SERVER_ADDR=127.0.0.1 |
||||
|
# |
||||
|
|
||||
|
# 判断DEVICE_ID和FRP_SERVER_ADDR是否为空 |
||||
|
if [ -z "$DEVICE_ID" ]; then |
||||
|
echo "DEVICE_ID is empty" |
||||
|
exit 1 |
||||
|
fi |
||||
|
|
||||
|
if [ -z "$FTP_SERVER_ADDR" ]; then |
||||
|
echo "FTP_SERVER_ADDR is empty" |
||||
|
exit 1 |
||||
|
fi |
||||
|
|
||||
|
echo "DEVICE_ID=${DEVICE_ID}" >/etc/device_info.env |
||||
|
echo "FRP_SERVER_ADDR=${FTP_SERVER_ADDR}" >>/etc/device_info.env |
||||
|
|
||||
|
echo "+++++++++ create /etc/device_info.env +++++++++" |
||||
|
cat /etc/device_info.env |
||||
|
echo "" |
||||
|
|
||||
|
} |
||||
|
|
||||
|
set -e |
||||
|
DEVICE_ID="" |
||||
|
FTP_SERVER_ADDR="" |
||||
|
FIX_MAC="" |
||||
|
PARAMETERS=$@ |
||||
|
EXEC_IN_BOARD=false |
||||
|
|
||||
|
for i in "$@"; do |
||||
|
case $i in |
||||
|
--deviceId) |
||||
|
shift |
||||
|
DEVICE_ID=$1 |
||||
|
shift |
||||
|
;; |
||||
|
--ftpserver) |
||||
|
shift |
||||
|
FTP_SERVER_ADDR=$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 ./sh/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 |
||||
|
|
||||
|
generate_device_info |
Write
Preview
Loading…
Cancel
Save
Reference in new issue