wiki:Yocto

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:

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:

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

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)
  • 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:

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.

If you have a particular add-on card (PCI or USB) that you are using with our boards and have a stable open-source driver for it feel free to contact support@… to ask if we can add it in our standard board-support packages.

Last modified 3 weeks ago Last modified on 10/30/2017 03:49:34 PM