Skip to content

swift-embedded-linux/meta-swift-examples

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors