我正在处理以下问题:

机器人具有旧的Gentoo操作系统:Linux bob 2.6.33.9-rt31-aldebaran-rt #1 SMP PREEMPT RT Thu Aug 27 21:42:34 CEST 2015
问题:

  • 我正在尝试为此机器人构建工具链,以便可以使用gcc / g++ 4.9或更高版本来编译新应用。
  • 机械手不支持此功能,并且空间有限。
  • 我尝试将RPATH设置为复制较新的库版本,但是涉及的问题太多了,它没有用,唯一的解决方案是静态链接。
  • 在我看来,我需要通过从机器人创建rootfs来构建应用程序。

  • 因此,我将整个机器人操作系统rsync'ed编码到我的计算机上。
    现在,我想构建一个docker镜像,以便我可以使用它从头开始构建gcc / g++,而不受机器人的限制(它具有Intel(R) Atom(TM) CPU Z530 @ 1.60GHz,1Gb RAM和仅29Mb可用硬盘)。
  • 我使用rsync复制并保留了所有属性,所有权等。
  • rootfs位于/home/alex/roots
  • 我知道我需要作为根docker -t someorg/somename /home/alexrootfs
  • 运行

    我的问题是(将我当作菜鸟的菜鸟来对待):
  • 我需要在i686 OS / KVM下运行,因为这是机器人OS的运行环境?
  • 我需要在rootfs内的Dockerfile中设置一些细节(例如/home/alex/rootfs/Dockerfile

  • 以前曾经做过此事的人还有其他提示,技巧或问题吗?
    我想使用docker而不是chroot,因为它最终应该是用于为机器人构建应用程序但可以在其他计算机上构建的自动化工具的一部分。

    提前谢谢了!

    最佳答案

    您将需要在与机器人相同的架构上运行docker,是的。

    如果您已经具有完整的rootfs,则Dockerfile如下所示:

    FROM scratch
    ADD . /
    

    然后您将使用
    docker build -t someorg/somename /home/alex/rootfs/
    

    10-02 22:56