Giter Club home page Giter Club logo

elkpi-yocto-layers's Introduction

elkpi-yocto-layers

Repo Manifest file for building Elk Audio OS Images for the Elk Pi Development Kit using the Yocto/Openembedded build system.

Prerequisites

In order to use the manifest file, you need to install Google's repo tool. Installation instructions can be found here.

You will also need a host Linux machine with a reasonably recent distribution and at least 50 GB of disk space available. Check the official Yocto requirements for more details. Docker can be used for building under Windows / macOS without installing a Linux Virtual Machine, although there will still be a non-negligible impact on build times compared to native Linux builds. Another popular option is to host the build environment on the cloud using Amazon's EC2 instances, Microsoft Azure or similar services.

You will also need to install gRPC 1.10.0 and protobuf 3.5.0 on your host environment.

Usage

Initialize the layers using repo init. For example, this will use the manifest at the head of this repository:

repo init -u https://github.com/elk-audio/elkpi-yocto-layers.git

To check out a particular version tag:

repo init -u https://github.com/elk-audio/elkpi-yocto-layers.git -b regs/tag/<tag name>

After the initialization step, run the following command to fetch all the required layers:

repo sync

Updating the layers

When a new version is released and the manifest file is updated, you can simply re-run repo init and repo sync as described in the previous steps. This will synchronize all the layers to the right commit without needing to refetch everything.

Setting Up Yocto

After the layers are initialized with repo, you should see a new directory named layers in your current path.

Run the following command from the same directory as you ran repo:

TEMPLATECONF=./meta-elkpi/conf source layers/oe-init-build-env

This will set up the enviroment and you will end up in a directory called build. Now you can build the image as described in meta-elkpi:

bitbake elkpi-audio-os-image

Be careful that the process to build an image from scratch can take up to several hours depending on your machine configuration. Following builds are usually much faster, since most of the heavy-weight components change rarely between updates of Elk Audio OS.


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

elkpi-yocto-layers's People

Contributors

knitink avatar shdrmr avatar stez-mind avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

elkpi-yocto-layers's Issues

error when bitbake elkpi-audio-os-image

I am trying to build the image for rpi4 and I got this error while bitbake elkpi-audio-os-image:

tom@ubuntuYJY:~/elkpi/build$ bitbake elkpi-audio-os-image
Traceback (most recent call last):
File "/home/tom/elkpi/layers/bitbake/bin/bitbake", line 19, in
import bb
File "/home/tom/elkpi/layers/bitbake/lib/bb/init.py", line 128, in
from bb import fetch2 as fetch
File "/home/tom/elkpi/layers/bitbake/lib/bb/fetch2/init.py", line 26, in
import bb.persist_data, bb.utils
File "/home/tom/elkpi/layers/bitbake/lib/bb/persist_data.py", line 22, in
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/init.py)

I have other Yocto projects build on this same machine and they seem to be working fine. What should I check for this?

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.