Commit Graph

19 Commits

Author SHA1 Message Date
Jan Kiszka
f502f92afe Dockerfile.isar: Improve binfmt_misc setup
The init script is a bit noisy, so replace it with a direct call of
update-binfmts. That tool unfortunately fails to report missing kernel
support via a proper error code. Catch that by doing an extra check on
the mounted filesystem.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-11-15 10:03:56 +01:00
Claudius Heine
bb303ced8c rename docker-entrypoint to container-entrypoint
Signed-off-by: Claudius Heine <ch@denx.de>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-09-29 08:32:57 +02:00
Jan Kiszka
0f779e6577 Switch to github workflow
Add the github/ghcr equivalent to travis/dockerhub. With this in place,
we can also deploy the next and latest images to ghcr. Adjust
Dockerfile.isar accordingly. Also update the badge shown in the README.

We model the workflow with github a bit differently than so far: next
and master branch are different workflows. The former includes testing,
the latter just updates the container image. This is based on the
(offline) workflow to push changes to next first and have no commits
in master that haven't been in next before, except for release commits.

The master workflow also triggers on tags in which case it additionally
tags the container images accordingly and pushed that as well.

Travis is removed in the same run to avoid pushing differently built
images to the different registries.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-09-24 13:13:12 +02:00
Jan Kiszka
c7e15bdbd6 Dockerfile.isar: Pull qemu-user-static from buster-backports
This is needed for running fakeroot from bullseye and sid which triggers
an unimplemented syscall with the current version.

Due to changes in the new qemu-user-static package, the current approach
to activate its binfmt settings no longer works. Instead, switch to an
explicit call of the binfmt-support in init script.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-09-24 12:56:00 +02:00
Henning Schild
63f8a28321 Docker: move on to buster
buster is the new stable, use it

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-10-01 16:57:20 +02:00
Jan Kiszka
dbde2a75fc Revert "Docker: move on to buster"
This reverts commit 97942197bc.

This is only temporarily in order to release another 1.x version that is
based on stretch. Older Yocto versions, maybe up to 2.4 or 2.5, require
stretch due to incompatibilities with host tools such as git.

After that release, this commit will be restored, and we will roll out a
2.x series that shall use buster in its images.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-09-11 12:51:39 +02:00
Matteo Facchinetti
1dfb4ebb06 Dockerfile.isar: preserve /var/tmp directory from an unwanted removal
Fix a bug in the Docker image build process
that delete /var/tmp directory.
Desired is only delete its content.

Signed-off-by: Matteo Facchinetti <matteo.facchinetti@sirius-es.it>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-08-29 18:55:37 +02:00
Jan Kiszka
e9659cd19b Docker: Add quilt to kas-isar
Will become a hard dependency when switching the (currently broken)
patch class of Isar to one derived from OE. Prepare for that.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-08-13 18:41:08 +02:00
Henning Schild
97942197bc Docker: move on to buster
buster is the new stable, use it

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-08-08 14:39:40 +02:00
Jan Kiszka
2fc711a459 Dockerfile.isar: Adjust binfmt setup for qemu-user-static
It turned out [1] that our current way of setting up binfmt_misc during
container start does not reliably work, namely does not overwrite
incompatible host settings. Running dpkg-reconfigure solves this.

To avoid confusing warnings of the kind

update-binfmts: warning: qemu-aarch64 already enabled in kernel.

we filter them out. That will continue to flood the console with
warnings in case the container is started without privileges.

[1] https://groups.google.com/forum/#!msg/isar-users/2G-Diz0BR1Y/Y0X6eHggCgAJ

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Daniel Wagner <daniel.wagner@siemens.com>
2019-03-20 09:49:34 +01:00
Henning Schild
6fdbe299a4 docker: Take qemu-user-static from buster for Isar image
Doing that will allow building arm64 buster images with Isar. The new
qemu works just fine for all older suites like stretch.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Daniel Wagner <daniel.wagner@siemens.com>
2019-02-26 10:24:38 +01:00
Jan Kiszka
3bada55d30 Docker: Update to Debian stretch
Time to move forward, buster is almost in sight. We may break some older
Yocto versions this way, but they can always use older images.

Along this update, this migrates the locale setup towards the
recommendation on https://docs.docker.com/samples/library/debian/#locales.
Furthermore, DEBIAN_FRONTEND=noninteractive is moved to the top-level
Dockerfile - it's generic.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2018-07-19 09:25:34 +02:00
Henning Schild
03ad285919 docker: Take debootstrap from stretch for Isar image
The jessie version has a bug which prevents it from building debian
"buster" and above.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
2018-04-19 12:06:26 +02:00
Jan Kiszka
57f0ed85b9 docker: Add debootstrap to Isar image
Needed due to upcoming switch from multistrap to debootstrap. The former
can eventually be removed in a later release.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2018-03-07 09:22:27 +01:00
Jan Kiszka
b2180899b8 docker: Take qemu-user-static from stretch for Isar image
The jessie version easily crashes, e.g. during kernel build over
dpkg-deb.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2018-03-07 09:22:27 +01:00
Jan Kiszka
37cd2f42d5 Docker: Install xz-utils from stretch
The stretch version supports multi-thread compression, allowing to
accelerate e.g. artifact compression tasks. The newer version of xz also
seem to resolve mysterious compression failures that created too short
output images.

As we install the stretch source in the base image now, we can remove
that port from the isar image and align both regarding the setup.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2018-01-24 10:44:50 +01:00
[ext] Henning Schild
9370bd6267 docker: isar: configure sudo to keep proxy env variables
Keep proxy related env variables when running commands with sudo.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
2017-11-02 16:16:34 +01:00
Jan Kiszka
aa3d109f0b docker: Add binfmt-support for Isar cross-building
Additionally requires to run the container with --privileged - not nice but
unavoidable right now, see also
https://groups.google.com/forum/#!topic/isar-users/Un75m49InjY

Also note that running containers with different binfmt settings
concurrently will cause troubles. Same for the case that the host
requires deviating settings. Use carefully.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2017-09-06 17:25:41 +02:00
Jan Kiszka
1e405f155d Add Dockerfile for Isar image builder
Isar requires a number of extra packages compared to a Yocto build. It
also needs a newer e2fsprogs version which can be taken from backports.
Last but not least, its keystone multistrap contains a nasty bug [1]
under in jessie so that we need to pull the updated version from
stretch.

The value of having this image still based on jessie is that it can be
used for both purposes: Yocto (2.1/2.2) and Isar builds. We push it
along the kas core image as kas-isar during the CI run.

Isar still requires some raised privileges. Therefore, the image has to
be started with the additional switches "--cap-add=SYS_ADMIN
--cap-add=MKNOD --device $(/sbin/losetup -f)".

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774698

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2017-06-29 09:09:08 +02:00