Giter VIP home page Giter VIP logo

meta-elkpi's Introduction

meta-elkpi

OpenEmbedded/Yocto Project layer which forms the final product layer for creating the Elk Audio OS Image for the ElkPi Development Kits based on the RaspberryPi 3B+ or 3B.

Contains the necessary packages, services, firmware binaries and image recipes specific to the ElkPi Development Kit.

This acts as the product layer whose role is to add further customization of recipes in meta-elk and meta-raspberry-elk to provide the necessary image for the ElkPi Development Kit.

The specific contributions of this layer are:

  • Selects the specific versions of SUSHI, SENSEI, RASPA and TWINE and describes their build options.
  • Installs system and user files for ElkPi Development Kit.
  • Contains the recipes for the images.

Images

The images provided by this layer are :

  • elkpi-audio-os-image : A full development Elk Audio OS image for the ElkPi Kit containing numerous packages and tools. Use this image to generate the cross-compiling Yocto SDK.
  • elkpi-audio-os-image-basic : A basic development Elk Audio OS image for the ElkPi Kit which contains a reduced subset of packages and tools compared to elkpi-audio-os-image.

Compatible Machines

The layer can build the same image for both RaspberryPi 3 and RaspberryPi 4. By default, the local.conf sets MACHINE = "raspberrypi3"

To build for RaspberryPi4 set MACHINE = "raspberrypi4-64" in the local.conf.

Dependencies

This layer depends on:

VST2 Support

By default, mda-vst2 plugins are not installed in the image and SUSHI will not have VST2 support enabled. If you have access to the VST2 SDK you can enable both by setting the variable VST2SDK_PATH in the local.conf file to the path of the vst2 sdk as follows:

VST2SDK_PATH = "path/to/the/vst2sdk/in/your/build/machine/"

For example : VST2SDK_PATH = "/home/user/vstsdk2.4"

To disable VST2 support, just define VST2SDK_PATH as an empty string.

Creating a prodution Elk Audio OS Image for your device

The goal of this layer is to act as a template to describe and generate an image for a Elk Powered device. You can easily customize the recipes in this layer and tailor them to your needs.

Adding files to the image

You can add your custom files (plugin binaries, scripts, samples etc) by modifying the elkpi-user-files recipe:

  • Add any new files in the files directory and add the new file to the list of sources in the recipe:
SRC_URI += "file://your_new_file"
  • Add the following line to the do_install task to specify where the files should be installed:
cp -r ${WORKDIR}/your_new_file ${D}path_in_image_rootfs

Enabling SUSHI and SENSEI automatic startup

You can enable and customize the automatic startup of SUSHI and SENSEI in the image by modifying the recipe elkpi-systemd-services:

SYSTEMD_AUTO_ENABLE = "enable"

Read-Only File System

You can enable an image to have a read-only root file system by adding the following line to an image recipe:

IMAGE_FEATURES += "read-only-rootfs"

Adding new packages

You can add new packages to the image in two ways. Usually, OpenEmbedded contains recipes for many packages as standard and you can check if your package is part of the standard list here. If it is not part of OpenEmbedded's list, then you may need to write your own.

Then you can add the desired recipes to any of the packagegroups in this layer.


Copyright 2017-2019 Modern Ancient Instruments Networked AB, dba Elk, Stockholm, Sweden.

meta-elkpi's People

Contributors

knitink avatar shdrmr avatar stez-mind avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

lusus asherslab

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.