Skip to content
Peter edited this page May 15, 2018 · 6 revisions

Welcome to the linux-build wiki!

How to get started with the linix-build system

To use this system as intended, you will need a Jenkins install to manage the build, one or more machines or slaves to do the actual builds. The build slaves will need to be running docker (make sure the jenkins user is in the docker group) and be bin_fmt enabled in order to run armhf/aarch64 code on a x86/64 platform. There are also a few things you need to configure on Jenkins.

Configuring Jenkins

Plugins

  • AnsiColor

Environment

  • GITHUB_TOKEN

Pipeline Settings

  • Parameters as noted at the top of the Jenkinsfile

Ensure your server/system has Java for Jenkins, and you will need git and docker installed also. Add user jenkins to the docker group after docker is installed. Make sure you restart the jenkins service before running your build task for the first time else you will get an error like

Troubleshooting

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/images/create?fromImage=pfeerick%2Frock64-dockerfiles&tag=x86_64: dial unix /var/run/docker.sock: connect: permission denied

Solution: Add the jenkins user to the docker group (i.e. sudo usermod -aG docker jenkins) and restart the jenkins service (i.e. sudo systemctl restart jenkins)


invalid argument "=" for --env: invalid environment variable: =
See 'docker exec --help'.

Solution: Check your Jenkins system environment - there is most likely an empty environment variable.


/bin/sh: 1: scripts/basic/fixdep: Exec format error
scripts/Makefile.host:91: recipe for target 'scripts/basic/fixdep' failed
make[2]: *** [scripts/basic/fixdep] Error 2
Makefile:470: recipe for target 'scripts_basic' failed

Solution: install sudo apt-get install qemu binfmt-support qemu-user-static