取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
316 次查看
注册日期: ‎09-05-2019

petalinux中关于filesystem packages的配置是如何使用的?

各位大佬,请问:在petalinux-config -c rootfs中有一个filesystem packages,里面包含了如gstreamer,glib,ffmpeg等包,但是我使能了之后,在我的应用文件中添加了#include<gst/gst.h>依然找不到这个头文件,所以我想请问使能了这些包的作用是什么?还有如果我编程应用程序需要用到这些库怎么办?

求具体操作步骤,十分感谢!

0 项奖励
9 回复数
Highlighted
Mentor
Mentor
314 次查看
注册日期: ‎06-17-2013

回复: petalinux中关于filesystem packages的配置是如何使用的?

Hi @luffeyluo 

 

Did you install source file in this rootfs ?

If no, would you install source file first ?

 

However, if you add your origianl gstreamer's plugin, I suggest you to use recipe file to add it.

 

Best regards,

0 项奖励
Highlighted
Visitor
Visitor
311 次查看
注册日期: ‎09-05-2019

回复: petalinux中关于filesystem packages的配置是如何使用的?

Thanks for your help.But I still have some question.
1. What's source file did you mean?Did you mean the c file in my application?
2. How to install source file?
3. I want to use the packages in filesystem packages,but I don't know how to use it ?Can you help me ?
Looking forward your Reply
0 项奖励
Highlighted
Mentor
Mentor
252 次查看
注册日期: ‎06-17-2013

回复: petalinux中关于filesystem packages的配置是如何使用的?

Hi @luffeyluo 

 

1. I'm sure tgat you want to use "gst/gst.h". So, you need tar ball file which include "gst/gst.h" file.

2. Could you share linux kernel arguments ?

=> $ petalinux-config

  => Enter "DTG Settins" => Enter "Kernel Bootargs"

3. What do you mean "the packages in filesystem packages" ? Do you want to use ex. yum or apt ?

 

Best regards,

0 项奖励
Highlighted
Visitor
Visitor
222 次查看
注册日期: ‎09-05-2019

回复: petalinux中关于filesystem packages的配置是如何使用的?

petalinux-config -c rootfs --> filesystem packages
There will have packages about gstreamer,and after I select ,I also cannot use #include<gst/gst.h>.
In Kernel Bootargs,[*] generate boot args automatically
[*] enable kernel earlyprintk
(earlycon console==ttyyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait)
0 项奖励
Highlighted
Contributor
Contributor
214 次查看
注册日期: ‎05-08-2018

回复: petalinux中关于filesystem packages的配置是如何使用的?

Hi, so if I recapitulate, you include some filesystem package (e.g the one that contains gstreamer) into your petalinux-build. Now you are trying to build an application that uses some of the header files that this package provides. 

If you are developping your application seperately i.e you are working on XSDK, then you have to include those header files so that your code knows about it. If I remember correctly, you can use a 'petalinux-package --SDK' or something like this, and its going to produce you something you can use in SDK to build applications targeted to the system you are trying to put together (i.e. the libraries and header files).

Highlighted
Mentor
Mentor
196 次查看
注册日期: ‎06-17-2013

回复: petalinux中关于filesystem packages的配置是如何使用的?

Hi @luffeyluo 

 

Would you directly add what you want to use into /dev/mmcblk0p2 ?

If you want to know how to build your application (no header file issue), I agree what @simon.beaudoin mentioned.

 

Best regards,

0 项奖励
Highlighted
Visitor
Visitor
189 次查看
注册日期: ‎09-05-2019

回复: petalinux中关于filesystem packages的配置是如何使用的?

Directly add ?
No, It has a lot of relative header file.So I just want to use the filesystem packages.Maybe it will provide a series of header files about gstreamer.
So I need help,I just want to use gstreamer.But I don't know how to add to let the computer know where it is when I compile it.
Have you ever use petalinux-config -c rootfs?Do you know what it does?If you know, please help me.
THANKS.
0 项奖励
Highlighted
Visitor
Visitor
189 次查看
注册日期: ‎09-05-2019

回复: petalinux中关于filesystem packages的配置是如何使用的?

Have you ever use petalinux-config -c rootfs?Do you know what it does?If you know, please help me.
THANKS.
0 项奖励
Highlighted
Contributor
Contributor
156 次查看
注册日期: ‎05-08-2018

回复: petalinux中关于filesystem packages的配置是如何使用的?

Okay, let's explain a little bit how this works. 

When you play with 'petalinux-config -c rootfs' command, you are provifing the information to petalinux about what you want to be included in your final build, or more specifically, your final root file system. By default, petalinux produces your rootfs in several types : etx4, etxa.gz, cpio, tar.gz, etc. You can find them in the <project_dir>/images/linux. Let's say you activate your gstreamer package. Then you will be able to verify that indeed petalinux have put gstreamer shared libraries (.so) : browse the rootfs.tar.gz in the above location and you will see in the /lib folder that your stuff will be there. 

Now, if you want the headers too (.h) you will have to activate <your_package>-dev, in your case, gstreamer-dev. Activating the dev version will include the header files required to develop with the package.

Now, this archive's (the .tar.gz) purpose is to be decompressed onto, let's say, the ext4 partition of your SD card, of SSD or whatever storage you decide to have your root file system to be on. 

In theory, you can use this rootfs.tar.gz archive (since it will contain the .so shared libraries of your package, and possibly it's .h header files) to work in SDK while developping your application that will use gstreamer. 

Simply decompress this archive somewhere, and in your SDK project properties, go in the section about include paths, put a path to the /lib/include directory of the rootfs. Now SDK will find the header files.

You will have to indicate the library files too (.so)

 

Hope it clarifies a bit

 

0 项奖励