2015-10-06 44 views
1

我正在嘗試爲IMX53 Evk構建gstreamer。 我從http://freescale.github.io/#download下載了Yocto並運行以下命令。使用Yocto構建gstreamer

#MACHINE=imx53qsb 
#source setup-environment build 
#bitbake core-image-minimal 

它構建了u-boot,內核和文件系統。該文件系統沒有gstreamer。我也想建立gstreamer。

根據我的理解,現在有兩種方法來構建gstreamer。

方法1.修改distro.conf文件以構建gstreamer。 I 我不確定如何在distro.conf中添加gstreamer條目。 分佈是有分配的。

方法2.添加IMAGE_INSTALL_append與gstreamer條目。我的 這裏是我們必須在IMAGE_INSTALL_append中添加的名稱。

我可以看到以下與gstreamer相關的bb文件。你能幫我在local.conf中添加IMAGE_INSTALL_append中的字符串嗎?

./meta-fsl-arm/recipes-multimedia/gstreamer/gst-fsl-plugin_4.0.3.bb 
./meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb 
./meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.31.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb 
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb 
./poky/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.85.bb 
./poky/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb 
./meta-fsl-demos/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb 
./meta-fsl-demos/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb 
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0-full.bb 
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0-commercial.bb 
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0.bb 
./meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb 
./meta-openembedded/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb 

回答

4

您可以添加只是

IMAGE_INSTALL_append += "gstreamer" 

朗的答案是,你應該補充一點,通常存放在PN配方變量包名。你可以閱讀有關PN變量here。軟件包名稱也可以使用PACKAGES variable進行管理。

+0

@ aleksandrm8:感謝您的信息。我對包裝的PN使用有點困惑。我的理解是bitbake將採取每個配方,並執行提取,解包,配置,構建,打包任務。在PN變量定義中,它已更新爲「PN將在創建或生成的文件的上下文中取得包名稱」。我不明白這一點。您可以幫助理解建設包時的PN使用情況。 – user3693586

+0

對不起,但我並不清楚你明白了什麼不明白的短語「PN將在創建或生成的文件的上下文中包名」。我想你可以理解它,比如「PN是從配方文件名中提取的,所以PN是配方名稱(expat_2.0.1。「。 – aleksandrm8

+0

我的理解是:爲了創建一個包,我們應該有一個.bb文件,並在處理.bb文件時涉及到」讀取,解壓縮,配置,編譯,創建包「任務當bitbake開始構建的.bb文件,它將 存儲在PN變量的配方(的.bb文件)的名稱。這樣的包名是一樣的配方名。閱讀有關Yocto參考鏈接PN變量之後,我有一個疑問,是否PN變量有在由OE構建中使用的文件的上下文中,字符串(食譜名)和將有不同的字符串(可以是從食譜名不同)中創建或通過OE構建產生的文件的情況下。 – user3693586

0

獲取包名的建議是正確的。首先找到食譜。 bitbake層對此很有用。然後檢查PN和PACKAGES變量沒有設置,如果它們變得棘手。對於gstreamer他們不是

如果你是Yocto的新手,我會在local.conf中添加軟件包。輸入應該是IMAGE_INSTALL_append + =「gstreamer」。 gstreamer之前的空間很重要。

1

你要麼使用 IMAGE_INSTALL_append = " gstreamer"
IMAGE_INSTALL += " gstreamer"

他們做了同樣的事情,但IMAGE_INSTALL_append與此變量使用時是最好的。

gstreamer前面的空間很重要,因爲。 比方說,IMAGE_INSTALL是一個字符串:"opkg qtbase"
如果我們不在前面添加空格。 IMAGE_INSTALL將如下所示:"opkg qtbasegstreamer"這將導致錯誤。