Skip to content

Latest commit

 

History

153 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-microblx: bitbake layer for the microblx framework

This layer provides recipes for the microblx real-time function block framework and its runtime dependencies (LuaJIT modules, liblfds, ...).

Dependencies

URI: git://git.yoctoproject.org/poky branch: wrynose (tested; layer compat: walnascar and newer)

URI: git://git.openembedded.org/meta-openembedded layers: meta-oe branch: wrynose

Branches

Stable branches are named after the Yocto LTS releases they target; check out the newest branch whose release is <= your Yocto/OE version.

  • master -- latest unstable / bleeding edge.
  • wrynose -- current stable (this branch); post-UNPACKDIR recipe layout.
  • scarthgap -- previous LTS; pre-UNPACKDIR layout (git recipes set S = "${WORKDIR}/git").
  • mickledore-or-older, zeus-and-older -- frozen historical snapshots (the tail of the same chain).

The UNPACKDIR migration is a hard break: the wrynose recipes do not build on scarthgap, and vice versa, hence the split.

Adding the layer to your build

Add the layer path to BBLAYERS in bblayers.conf as usual, or use one of the kas configurations shipped in kas/:

$ kas build meta/meta-microblx/kas/ubx-bbb.yml         # BeagleBone Black
$ kas build meta/meta-microblx/kas/ubx-beagleplay.yml  # BeaglePlay

Recipes

microblx comes in three flavors (all share microblx.inc):

  • microblx -- latest release (0.9.2, master)
  • microblx-devel -- pinned snapshot of the dev branch
  • microblx-latest -- AUTOREV tip of the dev branch
$ bitbake microblx-latest

Further recipes:

  • microblx-build-tools -- ubx-tocarr build helper (BBCLASSEXTEND native/nativesdk), needed when building external block projects
  • recipes-support/ -- runtime dependencies: uutils, liblfds (6.1.1), luasocket-jit, lua-json, lua-compat53, lua-optparse, lua-lsdbus/luajit-lsdbus, ffi-reflect, cproto-native
  • recipes-devtools/luaunit -- Lua unit testing framework (used by the ptests)

PACKAGECONFIG options

Set via e.g. PACKAGECONFIG:pn-microblx-latest += "...":

Option Default Description
USE_LFDS_611 on build the legacy lfds_cyclic iblock against liblfds 6.1.1 (deprecated, prefer lfrb)
BLOCK_WEBGRAPH on webgraph visualization block (rdepends: luasocket-jit, lua-json)
UBX_LOG_DAEMON on build ubx-log with daemonization support (libdaemon, auto-detected by cmake)
BLOCK_LSDB_INTF off D-Bus introspection/control block (rdepends: luajit-lsdbus, lua-optparse)
USE_TIMESRC_TSC off use the x86 TSC as timesource
USE_TIMESRC_CNTVCT off use the ARM generic counter (CNTVCT) as timesource
TRACING_SDT off compile in USDT/SDT trace probes (build dep: systemtap for sys/sdt.h; no runtime deps)
TRACING_MARKER off compile in ftrace trace_marker tracing

TRACING_SDT and TRACING_MARKER are mutually exclusive; with neither set, tracing is compiled out entirely (cmake TRACING=OFF). See the "Tracing" section in the microblx README for usage.

Packaging notes

  • ${PN}-ffi-headers contains the small set of headers the LuaJIT FFI bindings parse at runtime (see ubx_ffi_headers in lua/ubx.lua); it is an install-time requirement of ${PN}. All other headers go to ${PN}-dev as usual.
  • Examples are packaged in ${PN}-doc, the Lua tests in ${PN}-test.
  • The Lua tests can be run on target as ptests: add ptest to DISTRO_FEATURES, install ptest-runner and ${PN}-ptest, then run e.g. ptest-runner microblx-latest.

Patches

Please submit patches via the github issue tracker https://github.com/kmarkus/meta-microblx.

About

yocto layer for microblx

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages