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