You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

yocto已经有很多实现好的软件包,可以很容易的添加进文件系统中。可以在

https://layers.openembedded.org/layerindex/branch/krogoth/recipes/

查找是否有包含。(请注意yocto版本,上面的链接为krogoth 2.1版本,其他版本请切换到对应版本查询)

如果不能用这种方式添加,自己也可以写一个layer和recipe来将软件添加进文件系统。

在yocto中增加软件分为几种情况,请看下面的目录:

软件位于已包含的layer中

1、查找BSP yocto的版本

2、http://layers.openembedded.org/layerindex/branch/krogoth/layers/

 选择左侧BSP包YOCTO的版本,然后点击recipes,查找需要的软件的关键字,

3、在BSP包的目录运行. sources/poky/oe-init-build-env

     搜索软件是否已被编译进BSP

bitbake -s | grep [software]
bitbake -s | grep nfs-utils

4、在build/conf/local.conf添加软件包

# file build/conf/local.conf
IMAGE_INSTALL_append = " nfs-utils"                        (nfs-utils前面有个空格)


软件位于其他未包含的layer

以下操作为添加meta-java这一层,增加其他layers可参考以下操作。

1、进入bsp包的sources目录下,添加meta-java这一层。

git clone git://git.yoctoproject.org/meta-java

2、下载好meta-jave层后,进入meta-java的目录下,切换分支,请按照yocto的版本来切换对应的分支,yocto的版本可以在BSP的releasenote中看到,如 ftp://ftp.phytec.cn/AM335x/BSP-Yocto-AM335x-PD16.2.0/ReleaseNotes

以下以krogoth版本的yocoto为例。

cd meta-java
git checkout origin/krogoth <- 注意版本

3、打开README文件,查看要修改的配置

vi README

注意下面的内容是krogoth版本readme,其他版本可能不同。

Usage instructions
------------------

You should define at least the following variables in a distro include file or local.conf

# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"

# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"

# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

Simply rely on openjdk-7-jre, openjdk-7, openjdk-8 or openjre-8.

For conf/bblayers.conf you have to add

BBLAYERS ?= " \
   ...
  path_to_source/meta-openembedded/meta-oe \
  path_to_source/sources/meta-java \
  "

4、根据README的指导修改build/conf/local.conf文件,在local.conf增加以下几行,注意下面的内容是krogoth版本操作,其他版本可能不同,请参考readme文件。

# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"

# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "cacao-native"

# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

5、根据README,修改bbplayers.conf文件的BBLAYERS,增加meta-java这一层,注意下面的内容是krogoth版本操作,其他版本可能不同,请参考readme文件。

BBLAYERS  ?= " \
  ${OEROOT}/meta \
  ${OEROOT}/meta-poky \
  ${OEROOT}/../meta-phytec \
  ${OEROOT}/../meta-yogurt \
  ${OEROOT}/../meta-openembedded/meta-oe \
  ${OEROOT}/../meta-openembedded/meta-networking \
  ${OEROOT}/../meta-openembedded/meta-python \
  ${OEROOT}/../meta-openembedded/meta-multimedia \
  ${OEROOT}/../meta-qt5 \
  ${OEROOT}/../meta-java \
  ${OEROOT}/../meta-openembedded/meta-ruby \
  "
6、修改build/conf/local.conf文件,增加openjdk-8软件,注意下面的内容是krogoth版本操作,其他版本可能不同,请参考readme文件。
IMAGE_INSTALL_append = " openjdk-8"
7、重新编译镜像,开发板更新文件系统。

为已包含的软件增加额外的库,如python, perl等。

IMAGE_INSTALL_append = " \
perl \
perl-module-base \
perl-module-findbin"

具体有哪些包可以增加,可以在 build/tmp/work/cortex..../perl/5.2..../packages-split/ 中查找。


  • No labels