快速编译适用于铁威马Nas的软件

15 12月

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/12/15/terra-master-build-in-docker/



铁威马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++库,基本没有遇到什么问题。没有特别仔细研究官方具体做出了什么裁剪,但是目前看基本通用。



本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/12/15/terra-master-build-in-docker/

发表评论

您的电子邮箱地址不会被公开。