Skip to content

Repository files navigation

meta-swift examples

This repo provides a simple workspace to compile the meta-swift layer for a sizeable set of supported Yocto machines for the purpose of evalulation and testing.

The following machines are supported and have been tested:

  • qemuarm
  • qemuarm64
  • qemux86-64
  • beaglebone-yocto
  • raspberrypi-armv7
  • raspberrypi-armv8

Others will likely also work, but have not been tested.

Clone

git clone https://github.com/swift-embedded-linux/meta-swift-examples.git --recurse-submodules

Build

It is recommended to build and run the included container for a working environment for building Yocto:

./build-container.sh
./run-container.sh

The scripts support either Docker or Podman, so make sure either one is installed.

Build the core-image-minimal for the default architecture (qemuarm):

./build.sh

You may also customize the ./build.sh invocation by adding MACHINE= and/or EXTRA_IMAGE_INSTALL=:

MACHINE=beaglebone-yocto EXTRA_IMAGE_INSTALL="openssh" ./build.sh

Builds will be found under poky/build-$MACHINE. Downloads and sstate-cache are shared between builds to keep disk size down as much as possible.

Execution

Execute hello-world for the default qemuarm machine. This is an easy way to confirm that the meta-swift build worked correctly:

./execute.exp

If you built for a different machine, prefix the command with MACHINE= like this:

MACHINE=beaglebone-yocto ./build.sh

Github Actions

Start runner and trigger job via Github API:

https://github.com/xavgru12/github-self-hosted-runner

Bisecting with Git

Git provides the possibility to bisect commits. Start bisect by: git bisect start in the submodule/repository. Use git bisect good/bad to select one commit each with known outcome. Build and run with:

cd sources/meta-swift
git bisect run ../../scripts/bisect.sh

This will mark failed builds as skipped. For a successful build it will run the executable hello-world and mark the commit good/bad accordingly. This is repeated until the first bad commit is found or only skipped commits(due to build failures) are left.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages