Browse Source

create boardinit.sh

master
zhaohe 2 years ago
parent
commit
72decb2a68
  1. 7
      README.md
  2. 8
      TODO.md
  3. 110
      sh/boardinit.sh

7
README.md

@ -1,12 +1,7 @@
# linux_smart_speaker_sdk
```
目录说明
dep/ 存放第二方,或者第三方需要编译的代码
lib/ 编译好的依赖库,通过
sh/ 工程编译打包部署等相关脚本
env/ 应用程序运行环境
build/ 应用程序编译目录
# 此工程基于 https://iflytop1.feishu.cn/wiki/wikcnO8wSlckAFUfY6VvZHFsgIc 实现
```
## 编译RK3328

8
TODO.md

@ -7,13 +7,13 @@
6. 完善aiui_service库 OK
7. 将aiui的配置,设备ID的配置,唤醒词的配置,是否记录语音的配置导出,通过config.hpp进行配置 OK
8. 使用最新的黑板进行测试
9. 烧录stm32程序,测试主机和stm32之间的通信
10. 重构工程的Cmake文件,和iflytool.sh文件
10. 重构工程的Cmake文件,和iflytool.sh文件 OK
11. 将AIUI的配置写活,在飞书中添加相关第三方服务使用说明手册和注意事项 OK
12. 创建一个aiui的项目,专门用于工程中的测试代码使用,并修改其配置,添加注释,写好使用时应该参考的文档。 OK
8. 使用最新的黑板进行测试
9. 烧录stm32程序,测试主机和stm32之间的通信
13. 编写内核编译说明,和具体项目的内核编译说明
14. 打包最终包操作系统,为其增加自动保存网卡的功能,去掉内核中的这个功能。
15. 编写导出文件系统方案和注意事项。

110
sh/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
Loading…
Cancel
Save