Git Product home page Git Product logo

iot-lab-yocto's Introduction

Build IoT-LAB images and packages

Yocto Project aim to develop embedded Linux images and user-space applications that run on targeted devices like IoT-LAB Open A8 and RPI3 hardware.

The process of building images and packages has been wrapped in a Makefile for easier use. This will setup you environment if it hasn't been set before, update the configuration for your machine and build the images or packages.

System Requirements

For Ubuntu and Debian Linux distributions

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat libsdl1.2-dev xterm

For others distributions view the Yocto official documentation.

Build images

To build images you can run:

$ make build-all 
# or one by one
$ make iotlab-image

By default the Makefile builds an image for IoT-LAB A8 hardware. If you want to build image for RPI3 hardware you should specify the target as follows:

$ make TARGET=rpi3 iotlab-image

Build packages

To build package you can run:

$ make build-pkg-<pkg_name>

Build Linux kernel/U-boot

$ make build-kernel
$ make build-uboot

Manual process

$ git submodule update --init (eg. only the first time)
$ source ./poky/oe-init-build-env build
$ bitbake -k iotlab-image-open-a8
$ bitbake -k <pkg_name>

If you want to build for RPI3 hardware:

$ source ./poky/oe-init-build-env build-rpi3
$ bitbake -k iotlab-image-rpi3

Yocto and OpenEmbedded

At the top of the directory you can find a local copy of Yocto project (eg. poky directory) and a collection of OpenEmbedded layers (eg. meta-openembedded).

The build system uses sub-modules and were initialized as follows:

$ git submodule add -b krogoth git://git.yoctoproject.org/poky
$ git submodule add -b krogoth git://git.openembedded.org/meta-openembedded
$ git submodule add -b krogoth git://git.yoctoproject.org/meta-java
$ git commit -m "Add submodules meta-openembedded/poky/meta-java "

Use git submodule status and/or check file .gitmodules for details.

$ git submodule status
67e48693501bddb80745b9735b7b3d4d28dce9a1 meta-java (heads/krogoth)
851a064b53dca3b14dd33eaaaca9573b1a36bf0e meta-openembedded (851a064)
cca8dd15c8096626052f6d8d25ff1e9a606104a3 poky (yocto-2.1.2)

The sub-modules are set to allow for tracking of upstream updates on branch krogoth, current release of yocto as of Feb. 2017. You may update the sub-modules to use the latest upstream version using:

$ git submodule update --remote

Should you need to update either of the sub-modules to a specific version, simply cd to it, git pull, inspect changes, then git checkout the desired version or tag. Then cd .. and git commit the new sub-module(s) setup. If switching to another branch, update .gitmodules accordingly.

iot-lab-yocto's People

Contributors

aabadie avatar fsaintma 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.