配方文件安装在不同的目录中

时间:2016-09-06 10:43:54

标签: linux yocto bitbake

我正在尝试将一个包添加到我的Yocto图像中。目前,我可以构建我的图像,但是当我安装图像时,软件正在安装在不同的目录中。有没有办法重新路由安装目录。库文件的示例应安装在/usr/lib64中,但安装在/usr/lib/

我刚刚弄清楚,当我构建应用程序.ipk文件里面没有/ usr / lib64 /文件夹。这意味着文件没有添加到其中。有没有办法解决这个问题?

这是我的FILES _ $ {PN}代码:

FILES_${PN} = "/usr/lib/* \
               /usr/lib64/* \
               /usr/bin/* \
               /etc/* "

更新1 这是我的do_install代码:

do_install(){
   cp -r ${WORKDIR}/xxx/* ${WORKDIR}/image/
   install -d ${D}/usr/lib64
   install -m 0644 ${WORKDIR}/xxx/usr/lib64/* ${D}/usr/lib64/
}

除了/usr/lib64/*文件之外,其中列出的所有文件都被添加到ipk文件中。这是正确的做法吗?请有人帮我这个。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在配方中手动安装库:

if cond: return 0.0
来自Reference Manual

class Example: def __init__(self, parameter): if parameter == 0: self.calc = self._calc_trivial else: # ... pre-compute data if necessary ... self.calc = self._calc_regular self._parameter = parameter def _calc_regular(self, x): # ... long calculation of result ... return result @staticmethod def _calc_trivial(x): return 0.0 变量说明:

  

目标目录。构建目录中由do_install任务安装组件的位置。此位置默认为:

     

$ {WORKDIR} /影像

您可以通过以下命令(do_install() { install -d ${D}/usr/lib64 # ${D}${libdir} maybe also works install -m 0644 libexample.a ${D}/usr/lib64 } 变量作为示例)找到变量的内容:

D