Yocto Linux
Gateworks supports Yocto Linux for the Ventana Product Family Board Support Package. Yocto is a linux build system that is used by many Embedded Linux Distributions (ie Angstrom, Poky, and more).
Yocto is a linux build system derived from Yocto and offers stable snapshot and excellent documentation.
Gateworks Pre-Built Yocto Binaries: Binaries
External References:
- Yocto Documentation Home
- Yocto Project Reference Manual
- Yocto Project Mega-Manual
- Yocto BSP Guide
- Yocto FAQ
- Bitbake User Manual
FSL Community BSP
The FSL Community BSP is a community driven project to provide and maintain a Board Support Package meta layer to be used with OpenEmbedded-Core and Poky.
It is comprised of three layers on top of OpenEmbedded-Core and Poky:
- meta-freescale - provides the base BSP support and the board support for Freescale i.MX and QorIQ reference boards;
- meta-freescale-3rdparty - provides support for 3rd party and partner boards;
- meta-freescale-distro - provides images recipes, demo recipes, and packagegroups used to ease the development with Yocto Project.
These layers take priority over (via layer configuration):
The Gateworks Yocto BSP utilizes the FSL Community BSP layers but adds two more layers:
- meta-gstreamer1.0:
- Gstreamer package backports
- meta-gateworks:
- changes to recipes in other layers (bbappends) suitable for pushing upstream:
- gstreamer1.0-plugins-imx - add patch to support tw6869 PCIe capture device used on avc8000nano (submitted upstream)
- imx-kobs - add a patch to support split MTD partitions (submitted upstream)
- init-ifupdown - use nl80211 for wpa_supplicant driver instead of deprecated wext (submitted upstream)
- hostapd - add AC support to hostapd-2.2 (alterred defconfig) (submitted upstream)
- changes to recipes in other layers (bbappends) not suitable to push upstream
- u-boot-fw-utils - add install script that configures fw-utils dynamically per board (nand vs microSD/MMC)
- gpsd - disable startup on boot (by removing initscript)
- cryptodev - load cryptodev module on boot
- Gateworks contributed packages:
- hostapd-conf - script for easily generating hostapd.conf file
- gateworks-test - test script for simple loopback of audio and video
- gsc-update - GSC firmware update utility
- gst-gateworks-apps - example gstreamer RTSP server application
- gwsoc - utility for GW16113 PSoC I/O expansion card
- compat-wireless - updated wireless drivers for iwlwifi/ath9k/ath10k/ar3k/intel-ibt
- gateworks-image-minimal - core-image-base + a bunch of basic test tools and wireless/networking
- gateworks-image-test - gateworks-image-minimal + gateworks-test gstreamer1.0-plugins-imx
- gateworks-image-multimedia - gateworks-image-multimedia + imx-test, alsa-utils, alsa-lib, alsa-state and gstreamer
- changes to recipes in other layers (bbappends) suitable for pushing upstream:
Latest Supported Release
Yocto 2.3 (Pyro):
- see also: http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#moving-to-the-yocto-project-2.0-release
- Misc changes:
- gcc 4.9.2 -> 6.3.0
- bluez4 -> bluez5 (changed in Yocto 2.0)
- uClibc 0.9.3 -> musl 1.1.16 (changed in Yocto 2.2)
- midori browser -> ephiphany browser (changed in Yocto 2.0)
- libmad -> libmpg123 (MP3 audio decoder lib changed as the mad project is no longer maintained) (changed in Yocto 2.2)
- udev -> eudev (for compatibility when using sysvinit with newer kernels) (changed in Yocto 2.1)
- Vivante GPU kernel driver (galcore) built as loadable kernel module (allowing flexibility to use an older kernel with a newer graphics release)
- removed:
- gstreamer-0.10 (removed in Yocto 2.0)
- apm/apmd (not applicable on ARM)
- iperf (Removed in Yocto 2.3) (use iperf3)
- multimedia/gui: imx-test (broken recipe)
- gui: midori (replaced with ephiphany browser)
- meta-fsl-demos: fsl-gpu-sdk
- mad (MAD MP3 Decoder) - replaced with mpg123
- added:
- python modules: audio/compile/compression/contextlib/ctypes/difflib/distutils/email/fcntl/html/image/importlib/netserver/numbers/pkgutil/plistlib/pprint/setuptools/shell/subprocess/unittest/zlib
- cdparanoia
- pango
- pulseaudio-server
- gstreamer: 34 additional gstreamer plugins providing more codec/source/sink/muxer elements
- Codecs:
- openjpegenc/openjpegdec (OpenJPEG JPEG2000 codec)
- vp8enc/vp8dec (On2 VP8 codec)
- vp8enc/vp9dec (On2 VP9 codec)
- fluiddec (Fluidsynth MIDI decoder)
- amrwbdec (AMR-WB audio decoder)
- webpenc/webpdec (WEBP image decoder)
- opusenc/opusdec (Opus audio codec)
- voaacenc (AAC audio encoder)
- rsvgdec (SVG image decoder)
- voamrwbenc (AMR-W8 audio encoder)
- mpg123audiodec (mpg123 MP3 audio decoder)
- amrnbenc/dec (AMR-NB audio codec)
- dtlsenc/dec (DTLS codec)
- dtlssrtpenc/dec (DTLS-SRTP codec)
- x264enc/dec (Software H264 codec)
- wavpackenc/dec (Wavpack audio codec)
- srtpenc/dec (SRTP codec)
- Sources / Sinks:
- curlsftpsink (Curl SFTP sink)
- assrender (ASS/SSA Render)
- sdpsrc (SDP Source)
- socketsrc (TCP socket source)
- jackaudiosrc/jackaudiosink
- rtspclientsink (RTSP Record client)
- rtmpsrc/sink (RTMP)
- openalsrc/sink (OpenAL audio)
- cdiocddasrc (CD Audio source)
- cdparanoiasrc (CD Audio source, Paranoia IV)
- mmssrc (MMS streaming source)
- dv1394src (Firewire DV video source)
- hdv1394src (Firewire HDV video source)
- dc1394src (Firewire IIDC video source)
- dvdreadsrc (DVD source)
- alsamidisrc (ALSA MIDI source)
- kmssink (KMS video sink)
- hlssink (HTTP Live streaming sink)
- vcdsrc (VCD source)
- Muxer / Demuxer:
- splitmuxsrc/splitmuxsink (Split Muxing / Demuxing Bin)
- streamiddemux (Streamid demux)
- dtlssrtpdemux (DTLS SRTP demux)
- mxfmux (MFX muxer)
- hlsdemux (HLS demuxer)
- Stream parsers
- opusparse (Opus audio parser)
- jpeg2000parse (JPEG 2000 parser)
- parsebin
- RTP Payload:
- rtpopuspay/depay (RTP Opus package payload)
- rtph261pay/depay (RTP H261 payload)
- rtph265pay/depay (RTP H265 payload)
- rtpvp9pay/depay (RTP VP9 payload)
- Misc:
- videoframe_audiolevel
- rsndvdbin
- rsvgoverlay (RSVG overlay)
- textoverlay (Text overlay)
- timeoverlay (Time overlay)
- clockoverlay (Clock overlay)
- textrender (Text renderer)
- rtponviftimstamp (ONVIF NTP timestamps RTP extension)
- rtponvifparse (ONVIF NTP timestamps RTP extension)
- netsim (Network Simulator)
- concat
- playbin3/decodebin3
- modplug
- typefindfunctions (automated stream parsing types)
- application/dash+xml (mpd)
- application/ttml+xml
- audio/x-mod (umx)
- application/x-subtitle-vtt (vtt)
- Codecs:
- changed:
- udev -> eudev
- note gstreamer1.0-plugins-ugly-mad (replaced by mpg123 - can add it back with PACKAGECONFIG _=mad)
- note libfslcodec-mp3 (now provided by imx-codec)
- note fsl-alsa-plugins -> imx-alsa-plugins
- note usbutils-ids package missing - ids baked into lsusb
- fixes:
- /etc/network/interfaces configured for nl80211 wpa-driver
- AC3 codec support
- Tearing Artifacts in display out under certain circumstances
Gateworks Yocto Information:
- Pre-Compiled Binaries
- Building/Installing Yocto Linux for the Ventana Family
- Building/Installing Packages for Yocto / Yocto for the Ventana Family
- SDK For Developers
- Native Compiling - SDK
- Source Code presented as an Yocto Layer
- Gateworks Yocto BSP layer changelog - Create a Github account and you can follow changes to our repositories to be updated when commits occur
- Explanation of our images
- Add and remove packages
- Configure services
- Setup Wireless communication
- Ventana Video Output
- Ventana Video Input
- GStreamer Information for Video / Audio
- QT in Yocto
Kernel Support
We aim to provide the following in our default kernel configurations used for our Yocto BSP:
- up-to-date Wireless drivers via linux-backports
- commonly used 802.11ac / 802.11n / 802.11a/b/g Qualcomm / Atheros chip based cards
- commonly used USB based wireless devices
- commonly used USB based bluetooth host controllers
- on-board embedded peripherals (ie i2c and spi based peripherals used on our boards)
- Gateworks expansion peripherals
In other words we specifically do not typically include support for PCI sound-cards, PCI video-capture cards, and a full suite of USB based peripherals. We try to include support for peripherals commonly used with our boards.
Pre-built images
Prebuilt images are located on our Building page. There is a EULA associated with some of the software/drivers contained in these images, hence why they are not available for download on dev.gateworks.com.