Giter Site home page Giter Site logo

meta-ecm's Introduction

meta-ecm

Yocto BSP layer for the Edge Compute Modules.

This README file contains information on building and booting the meta-ecm BSP layers.

Please see the corresponding sections below for details.

Required Packages for the Build Host

To install the required packages on a Debian based distribution (Ubuntu etc) run

sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential \
    chrpath socat cpio python3 python3-pip python3-pexpect xz-utils \
    debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
    libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool

Dependencies

This layer depends on:

* URI: git://git.openembedded.org/bitbake
* branch: master
* URI: git://git.openembedded.org/openembedded-core
* layers: meta
* branch: matched branches (e.g. kirkstone, ...)
* URI: git://git.yoctoproject.org/meta-arm
* layers: meta-arm, meta-arm-toolchain
* branch: matched branches (e.g. kirkstone, ...)
* URI: git clone git://git.openembedded.org/meta-openembedded
* layers: meta-oe, meta-python, meta-networking
* branch: matched branches (e.g. kirkstone, ...)

Table of Contents

I. Configure yocto/oe Environment

II. Building meta-ecm BSP Layers

III. Booting your Device

IV. Tested Hardwares

I. Configure yocto/oe Environment

In order to build an image with BSP support for a given release, you need to download the corresponding layers described in the "Dependencies" section. Be sure that everything is in the same directory.

~ $ mkdir yocto; cd yocto
~/yocto $ git clone git://git.openembedded.org/bitbake -b master
~/yocto $ git clone git://git.openembedded.org/openembedded-core -b kirkstone
~/yocto $ git clone git://git.yoctoproject.org/meta-arm -b kirkstone
~/yocto $ git clone git://git.openembedded.org/meta-openembedded -b kirkstone

And put the meta-ecm layer here too.

Then you need to source the configuration script:

~/yocto $ source openembedded-core/oe-init-build-env

Having done that, you can build a image for a ecm boards by adding the location of the meta-ecm layer to bblayers.conf, along with any other layers needed.

For example:

# build/conf/bblayers.conf
BBLAYERS ?= " \
  ${TOPDIR}/../openembedded-core/meta\
  ${TOPDIR}/../meta-arm/meta-arm \
  ${TOPDIR}/../meta-arm/meta-arm-toolchain \
  ${TOPDIR}/../meta-ecm \
  ${TOPDIR}/../meta-openembedded/meta-oe \
  ${TOPDIR}/../meta-openembedded/meta-python \
  ${TOPDIR}/../meta-openembedded/meta-networking \

To enable a particular machine, you need to add a MACHINE line naming the BSP to the local.conf file:

  MACHINE = "ecm0-carrier"

Enable systemd in your Yocto configuration by adding the following to your local.conf file

INIT_MANAGER = "systemd"

Enable disto features needed to support the pacakges by adding the following to your local.conf file

DISTRO_FEATURES:append = " bluetooth wifi"

To enable Wifi using wpa_supplicant

Create the wpa_supplicant configuration file by running the following command on your desktop. This will prompt you for the passphrase for your WiFi. You may want to then edit the file to remove the clear-text passphrase:

wpa_passphrase 'YOUR_SSID' >  ../meta-ecm/recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf

All supported machines can be found in meta-ecm/conf/machine.

II. Building meta- BSP Layers

You should then be able to build a image as such:

$ bitbake core-image-full-cmdline

At the end of a successful build, you should have an .wic image in /path/to/yocto/build/tmp-glibc/deploy/<MACHINE>/

III. Booting your Device

SD Boot

  1. Plug debug uart at 1500000 baudrate.

  2. Program SD card (assume card detected at /dev/sdX)

$ cd tmp-glibc/deploy/images/\<MACHINE\>
$ sudo bmaptool copy --bmap core-image-full-cmdline-ecm0-carrier.wic.bmap core-image-full-cmdline-ecm0-carrier.wic.xz /dev/sdX
  1. Turn On the board.

eMMC Boot

IV. Tested Hardwares

The following undergo regular basic testing with their respective MACHINE types.

  • Edge Compute Module 0 Carrier board

Maintainers

meta-ecm's People

Contributors

twoerner avatar rperier avatar julienchauveau avatar jpewdev avatar kraj avatar moonlinux avatar openedev avatar jin-eld avatar markusvolk avatar florentrevest avatar qschulz avatar

Watchers

James Cloos avatar

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.