铁威马Nas自带的生态比较少,除了用Docker解决以外,还可以考虑交叉编译的方式来生成适用的软件。
官方的文档非常少,基本等于没有,特别是对于UI部分的集成只字不提,不过根据发布的三个工具来看,还是比较清晰
- 打包工具,生成tpk软件,目录结构和openwrt有点像
- x86_64的编译sdk
- arm的编译sdk
由于软件包下载比较慢,也比较大,我这里构建了一个x86_64可用的镜像,包含了必要的依赖,适用于大部分make或者cmake管理的软件。这里用libuv为例展示下用法。
镜像地址在:https://hub.docker.com/r/htynkn/terramaster-sdk,版本对应官方提供的sdk版本,即最新的是1.0.1。在下载了libuv代码后直接执行
docker run -it -v $(pwd):/code htynkn/terramaster-sdk:1.0.1 bash
相关工具在/sdk目录,由于libuv用了cmake,所以直接指定CC和GCC就可以了
mkdir build
cd build
env CC=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-gcc CXX=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-g++ cmake ..
make uv

我尝试了一些常用C/C++库,基本没有遇到什么问题。没有特别仔细研究官方具体做出了什么裁剪,但是目前看基本通用。
发表回复