在Docker中部署交叉编译工具链

时间:2018-07-09 13:49:34

标签: linux docker deployment riscv self-contained

使用Rocket-Chip生成器项目处理交叉编译工具链(用于riscv架构)。这有很多依赖性,我在Ubuntu 16.04 LTS机器上开发了所有东西。而且我想将其部署在其他拥有旧版Linux Debian(Linux 3.2)发行版的计算机上。

由于依赖项存在很多麻烦,因此我无法在计算机上本地正确运行测试。

尝试虚拟机虽然可以,但是性能还不够合理。

我的问题是,是否还有其他方法可以使工具链及其来源和依赖项自包含?我听说过Docker,它是用于此用途的,但我想知道这对我来说是否有用?

欢迎任何想法或指示! 谢谢, 最好的祝福。

1 个答案:

答案 0 :(得分:0)

是的,这是docker的一种情况。

您提到过,这是一个交叉构建工具。因此,您可以将源代码构建在主机中,例如/ my_source_code_folder_host,然后使用以下命令构建源代码。

docker run --rm -v /my_source_code_folder_host:/my_source_code_folder_container your_build_container_image

对于your_build_container_image,您需要在dockerfile中设置CMDENTRYPOINT,并且该值应该是您的工具链的内置命令,并且默认情况下,它会在{{1}中构建源代码},则输出也将位于my_source_code_folder_container中。

由于my_source_code_folder_container被配置为主机中文件夹my_source_code_folder_container中的docker卷,因此输出也将在主机中显示。

当前,此解决方案已在某些半导体公司的CI团队中广泛用于日常交叉编译。