- Extract PetaLinux BSP.
- Create "recipe-multimedia" folder in project-spec/meta-user folder.
cd project-spec/meta-user mkdir recipe-multimedia
- For gstreamer patches, follow below steps
- Create “gstreamer” directory in recipe-multimedia folder.
cd recipe-multimedia mkdir gstreamer
- There are 5 different recipes files for gstreamer that downloads the code and compile
- gstreamer1.0_%.bbappend
- gstreamer1.0-omx_%.bbappend
- gstreamer1.0-plugins-bad_%.bbappend
- gstreamer1.0-plugins-base_%.bbappend
- gstreamer1.0-plugins-good_%.bbappend
- Depending upon patches to which gstreamer package it belongs to, bbappend file
for that package needs to be created to get those patches applied and
compiled on latest source code. For example, if patch fix is for
gst-omx, follow these steps
- Create a gstreamer1.0-omx directory in the recipe-multimedia/gstreamer
folder
cd gstreamer mkdir gstreamer1.0-omx
- Copy gst-omx patches in
gstreamer1.0-omx directory.
cp test1.patch recipe-multimedia/gstreamer/gstreamer1.0-omx cp test2.patch recipe-multimedia/gstreamer/gstreamer1.0-omx
- Create a gstreamer1.0-omx_%.bbappend file in recipe-multimedia/gstreamer
folder.
vi gstreamer1.0-omx_%.bbappend
- Append the following lines in the
gstreamer1.0-omx_%.bbappend
file.
FILESEXTRAPATHS_prepend: = "${THISDIR}/gstreamer1.0-omx:" SRC_URI_append = " \ file://test1.patch \ file://test2.patch \“
Create similar bbappend files and folder for other gstreamer package to integrate any custom patches in PetaLinux build.
- Create a gstreamer1.0-omx directory in the recipe-multimedia/gstreamer
folder
- Create “gstreamer” directory in recipe-multimedia folder.
- For VCU patches, follow these steps:
- Create a vcu directory in the
recipe-multimedia folder.
cd project-spec/meta-user/recipe-multimedia mkdir vcu
- There are four different recipes files for VCU that
downloads the code and compile
- kernel-module-vcu_%.bbappend
- vcu-firmware_%.bbappend
- libvcu-xlnx_%.bbappend
- libomxil-xlnx_%.bbappend
- Depending upon patches to which VCU source code it
belongs to, bbappend file for that code base needs to be created to get
those patches applied and compiled on latest source code. For example,
if the patch fix is for VCU drivers, follow these steps:
- Create a kernel-module-vcu directory in the recipe-multimedia/vcu
folder
cd vcu mkdir kernel-module-vcu
- Copy VCU driver patches to the
kernel-module-vcu directory.
cp test1.patch recipe-multimedia/vcu/kernel-module-vcu cp test2.patch recipe-multimedia/vcu/kernel-module-vcu
- Create a kernel-module-vcu_%.bbappend file in the
recipe-multimedia/vcu
folder:
vi kernel-module-vcu_%.bbappend
- Append the following lines to the
kernel-module-vcu_%.bbappend
file.
FILESEXTRAPATHS_prepend: = "${THISDIR}/ kernel-module-vcu:" SRC_URI_append = " \ file://test1.patch \ file://test2.patch \“
Create similar bbappend files and folder for other VCU component to integrate any custom patches in PetaLinux build.
- Create a kernel-module-vcu directory in the recipe-multimedia/vcu
folder
- Create a vcu directory in the
recipe-multimedia folder.
- Follow PetaLinux build steps to generate updated binaries. Note: If you are not compiling with PetaLinux, review the recipes for additional files necessary for setting up GStreamer. For example, you must include the /etc/xdg/gstomx.conf in the root file system. This file tells gst-omx where to find the OMX integration layer library - libOMX.allegro.core.so.1.