发新帖

Win10下使用Docker搭建OpenTX 2.4编译环境

[复制链接]
267 0
本帖最后由 tinyspot 于 2021-4-28 13:02 编辑

docker软件的安装部分可以参照OpenTX 2.3的帖子,帖子地址:http://bbs.diy8.org/thread-102485-1-2.html

docker项目地址:https://github.com/raphaelcoeffic/build-opentx

安装好Docker Desktop软件后,可以直接使用项目地址最下面的命令拉取镜像。
  1. docker pull pafleraf/opentx-dev
  2. docker pull ghcr.io/raphaelcoeffic/opentx-dev
复制代码
两个命令效果一样,区别在于托管服务器差异(可以根据实际下载速度选择较快的)

当然项目地址提供了Dockerfile,个人还是比较喜欢使用Dockerfile来创建镜像。

首先需要下载Dockerfile文件(见附件)

解压附件后放置到磁盘根目录(放置根目录只是为了方便找到文件可以根据自己需求更改路经,教程以D盘根目录为例)

打开windows运行(快捷键WIN+R)输入CMD。


点击确定进入windows命令行。


输入D: 回车切换当前目录到D盘根目录


不记得文件夹名称可以输入dir回车列出当前目录下所有文件。
输入cd dev 进入dev文件夹:


可以先输入dir回车,确定是否有Dockerfile文件。


然后使用以下命令创建镜像:
  1. docker build -t opentx-dev .
复制代码
其中opentx-dev 为你的镜像名,可以根据实际需求自行修改。
等待命令完成后输入:
  1. docker image ls
复制代码
来查看镜像是否创建完成

接下来需要下载OpenTX 2.4的源码,使用如下命令克隆2.4分支(OpenTX2.4需要拉取第三方子模块,直接下载默认是不拉取第三方的子模块的)
  1. git clone --recursive -b 2.4 https://github.com/opentx/opentx.git
复制代码
等待命令完成。


可以看到和2.4源代码一起拉取下来的还有两个子模块。


输入cd opentx 进入刚刚下载的opentx2.4源代码目录,输入mkdir build创建build文件夹。

接下来输入以下命令配置需要开启的功能:

  1. docker run -v C:\Users\norulers\opentx:/opentx  -w /opentx/build opentx-dev  cmake  -DPCB=X10 -DPCBREV=T16 -DLUA=YES -DINTERNAL_MODULE_MULTI=YES -DGVARS=YES -DTRANSLATIONS=CN -DDEBUG=YES -DCMAKE_BUILD_TYPE=Debug ../
复制代码
-DTRANSLATIONS=CN  参数表示使用中文菜单。
输入以下命令开始编译固件:

  1. docker run -v C:\Users\norulers\opentx:/opentx  -w /opentx/build opentx-dev make firmware
复制代码

如果你升级到了WSL2,上述操作将会耗费你半天时间。可以使用如下命令启动镜像命令行。
  1. docker run -it --rm -v C:\Users\norulers\opentx:/src opentx-dev bash
复制代码

在启动的命令行里克隆2.4分支代码(操作同上,加快编译速度的原理为把源代码放入linux磁盘,编译好了后再复制到windows目录。这样可以有效解决文件交互速度过慢的问题),然后输入以下代码进行编译。

  1. cmake  -DPCB=X10 -DPCBREV=T16 -DLUA=YES -DINTERNAL_MODULE_MULTI=YES -DGVARS=YES -DTRANSLATIONS=CN -DDEBUG=YES -DCMAKE_BUILD_TYPE=Debug ../ && make && make firmware
复制代码


然后输入以下代码将编译好的二进制文件复制到 挂载的文件夹。
  1. cp -r firmware.bin /src
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

更多

客服中心

400-800-8888 周一至周日8:30-20:30 仅收市话费
快速回复 返回顶部 返回列表