/buildroot-external-boundary

Buildroot external layer for Boundary Devices platforms and modules.

Primary LanguageMakefile

buildroot-external-boundary

Buildroot external layer for Boundary Devices platforms and modules. Contains support for BD-SDMAC Wi-Fi/BT module as well as some demo configurations.

Configurations details

Here are some details about the configurations available:

Build procedure

This procedure requires you to have the repo tool installed on your system.

  1. Download the latest Buildroot and BD external trees:
$ repo init -u https://github.com/boundarydevices/buildroot-manifest -b master
$ repo sync -c
  1. Create an output folder for your build:
$ make BR2_EXTERNAL=$PWD/buildroot-external-boundary/ -C buildroot/ \
  O=$PWD/output nitrogen8m_qt5_gst1_defconfig
$ cd output
  1. Build the image:
$ make
  1. Your rootfs image is ready!
$ ls -l images/sdcard.img
  1. Create the SDK for this image (optional):
$ make sdk

Flashing procedure

You can simply use dd to flash an SD card:

$ sudo dd if=images/sdcard.img of=/dev/sdX bs=1M

If you want to flash the eMMC on your board, you can use the U-Boot UMS gadget as explained in this blog post.

=> ums 0 mmc 1

Using the image

Login information

The login for this image is root with no password.

Welcome to Buildroot
buildroot login: root
#

GPU testing

NXP proprietary driver

If the configuration/platform supports 3D GPU, the Vivante example can be tested:

# cd /usr/share/examples/viv_samples/vdk/
# ./tutorial7
fps: 496.61
Mainline driver (etnaviv)

If the configuration/platform supports 3D GPU, make sure to try kmscube:

# kmscube -D /dev/dri/card1

Qt5 demo

If the configuration includes Qt5 support, the Cinematic demo can be tested.

i.MX 8M (Quad, Mini, Nano)

Then the demo can be started:

# CinematicExperience-demo -platform wayland
i.MX 6/7 (Quad, Dual, Solo)

The NXP proprietary drivers require to setup the following variables:

# export FB_MULTI_BUFFER=3
# export QT_QPA_EGLFS_INTEGRATION=eglfs_viv

Then the demo can be started:

# CinematicExperience-demo -platform eglfs

Gstreamer demo

If the configuration includes GStreamer support, the following pipelines can be tested:

i.MX 8M (Quad, Mini, Nano)
  • VPU testing
# wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/
# gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! \
  decodebin ! waylandsink
  • Camera (MIPI) Streaming
# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720 ! \
  waylandsink
i.MX 6/7 (Quad, Dual, Solo) NXP-based kernel
  • VPU testing
# wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/
# gst-launch-1.0 playbin uri=file:///root/trailer_1080p_h264_mp3.avi
# gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! \
  avidemux ! decodebin ! imxeglvivsink
  • Camera (MIPI) Streaming to display using 3D GPU:
# gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! imxeglvivsink
  • Camera (Parallel) Streaming to display using IPU:
# gst-launch-1.0 imxv4l2videosrc device=/dev/video0 ! \
  imxipuvideosink use-vsync=true
  • Camera Streaming to display using PXP (i.MX7 / i.MX6SX):
# gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! \
  imxpxpvideosink use-vsync=true
i.MX 6/7 (Quad, Dual, Solo) Mainline kernel
# wget http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi -P /root/
# gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! avidemux ! \
  decodebin ! kmssink name=imx-drm sync=0