This repository provides the necessary configuration and git submodules required to build the NI Linux Embedded distribution.
The initial implementation sets up the OpenEmbedded build system with meta-xilinx and other layers required to build images for Xilinx development boards and some vendor boards.
OpenEmbedded allows the creation of custom Linux distributions for embedded systems. It is a collection of git repositories known as layers each of which provides recipes to build software packages as well as configuration information.
Information about the branch names is available at https://wiki.yoctoproject.org/wiki/Releases.
This layer contains recipes that depend on NI-internal repositories.
These require git to be aware of authentication credentials.
- Create an AzDO Personal Access Token
- Create the following file at
$HOME/.netrcwith the generated token:machine dev.azure.com login api password <azdo access token>
-
Clone the git repository:
$ git clone https://github.com/ni/nile.git
-
Check out the appropriate branch (default scarthgap based branch is OK for now):
$ cd nile
-
Update the submodules:
$ git submodule update --init --recursive
-
Build docker image for pyrex
$ bash ./docker/create-build-nile.sh
Verify the image was created: $ docker images build-nile
-
Initialize the build system:
$ source ./nile-oe-init-build-env
-
Build an image:
$ bitbake nile-image-dev
-
Test it in qemu with:
$ runqemu nile-image-dev
-
Build an sdk:
$ bitbake -c populate_sdk nile-image-dev
-
Clone the git repository:
$ git clone https://github.com/ni/nile.git -
Check out the appropriate branch (default scarthgap based branch is OK for now):
$ cd nile -
Build docker image for kas
$ bash ./docker/create-build-nile.sh --base kas
Verify the image was created: $ docker images build-nile
-
Build an image:
$ ./kas-container build kas/kula.yml -
Test it in qemu with:
$ ./kas-runqemu kas/kula.yml -
Build an sdk:
$ ./kas-container build kas/default-sdk.yml