Hi Mark,
the Docker setup is currently only really supported on Intel. We've tried to get M1 working, but have so far only succeeded for the base sel4 image, not for the larger containers on top (e.g. CamkES), although Ivan has make some progress here: https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles/pull/65 which might be worth trying.
I believe there is an option to make Docker emulate x64 on M1, but it is slow (it uses qemu).
We'd be quite interested in a proper multi-arch image that does both x64 and aarch64, so if you have any success in making progress, please do let us know.
Cheers,
Gerwin
On 12 Apr 2024, at 04:48, Mark Jones wrote:
[Some people who received this message don't often get email from mpj@pdx.edu. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
Dear All,
I’m trying to use the instructions on https://docs.sel4.systems/projects/dockerfiles/ to set up an seL4 docker build environment on an Apple Silicon Mac. I’ve actually tried this on two different machines (with small variations in the versions of macOS Sonoma, Apple Silicon, and Docker between each of the machines), but get the same result on each one. I’m hoping that other folks on this list might know how to fix this.
I start by running:
git clone https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles.git
cd seL4-CAmkES-L4v-dockerfiles
make user
But the make command fails with the output appended below.
Any hints (including other places to post this question) would be much appreciated!
Best wishes,
Mark
______________
scripts/utils/check_for_old_docker_imgs.sh
WARNING: Unable to check if your trustworthysystems docker images are getting a bit old!
The date command did not behave as expected. Skipping the check.
docker build --force-rm=true \
--build-arg=USER_BASE_IMG=trustworthysystems/camkes \
-f dockerfiles/extras.Dockerfile \
-t extras \
.
[+] Building 109.7s (6/6) FINISHED docker:desktop-linux
=> [internal] load build definition from extras.Dockerfile 0.0s
=> => transferring dockerfile: 602B 0.0s
=> [internal] load metadata for docker.io/trustworthysystems/camkes:latest 1.4s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 153B 0.0s
=> [1/2] FROM docker.io/trustworthysystems/camkes:latest@sha256:29206d51ef1d09bb5e1934b11a1946a13d13333ab0ff7c2ff2645ea 96.3s
=> => resolve docker.io/trustworthysystems/camkes:latest@sha256:29206d51ef1d09bb5e1934b11a1946a13d13333ab0ff7c2ff2645ea2 0.0s
=> => sha256:e943b5afb84223c55b5dfdbe2f383970021765c345c51b08fa8b9b0d4d69ccd7 9.97kB / 9.97kB 0.3s
=> => sha256:46cbb6e89f5727950fb43b0c4b18a28073c18ad928ccf16c6e2a9f6d708ccb35 80.82MB / 80.82MB 6.9s
=> => sha256:29206d51ef1d09bb5e1934b11a1946a13d13333ab0ff7c2ff2645ea2e12c65f2 1.79kB / 1.79kB 0.0s
=> => sha256:678186f76064904e561bbec5cc0fb200e1c7d0435dbeeaf2433d050631a132ab 6.82kB / 6.82kB 0.0s
=> => sha256:99046ad9247f8a1cbd1048d9099d026191ad9cda63c08aadeb704b7000a51717 31.36MB / 31.36MB 3.0s
=> => sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.8s
=> => sha256:be52171dda4a5d045a589cf92b25fe60ac5b74dac75bb03997d5a049d47b361e 1.15GB / 1.15GB 53.1s
=> => extracting sha256:99046ad9247f8a1cbd1048d9099d026191ad9cda63c08aadeb704b7000a51717 1.2s
=> => sha256:460c68d68ad3efcc4c324e3da3ea9a8d7ebee818d87643e78fa551c90106c218 1.19GB / 1.19GB 65.4s
=> => extracting sha256:e943b5afb84223c55b5dfdbe2f383970021765c345c51b08fa8b9b0d4d69ccd7 0.0s
=> => extracting sha256:46cbb6e89f5727950fb43b0c4b18a28073c18ad928ccf16c6e2a9f6d708ccb35 3.0s
=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.0s
=> => extracting sha256:be52171dda4a5d045a589cf92b25fe60ac5b74dac75bb03997d5a049d47b361e 20.1s
=> => extracting sha256:460c68d68ad3efcc4c324e3da3ea9a8d7ebee818d87643e78fa551c90106c218 22.7s
=> [2/2] RUN apt-get update -q && apt-get install -y --no-install-recommends cowsay sudo 11.8s
=> exporting to image 0.1s
=> => exporting layers 0.1s
=> => writing image sha256:29bf5499ec09fe5c0398c5023deb519373d25d2c8ea0d3d0d964759317511415 0.0s
=> => naming to docker.io/library/extras 0.0s
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/ohi6vc8w1dj06hmvvu5ocypjs
What's Next?
1. Sign in to your Docker account → docker login
2. View a summary of image vulnerabilities and recommendations → docker scout quickview
docker build --force-rm=true \
--build-arg=EXTRAS_IMG=extras \
--build-arg=UNAME=user \
--build-arg=UID=502 \
--build-arg=GID=20 \
--build-arg=GROUP=staff \
-f dockerfiles/user.Dockerfile \
-t user_img-user .
[+] Building 0.7s (2/2) FINISHED docker:desktop-linux
=> [internal] load build definition from user.Dockerfile 0.0s
=> => transferring dockerfile: 353B 0.0s
=> ERROR [internal] load metadata for docker.io/library/extras:latest 0.6s
------
[internal] load metadata for docker.io/library/extras:latest:
------
user.Dockerfile:9
--------------------
7 | ARG EXTRAS_IMG=extras
8 | # hadolint ignore=DL3006
9 | >>> FROM $EXTRAS_IMG
10 |
11 | # Get user UID and username
--------------------
ERROR: failed to solve: extras: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/q25mw2voldchjfgf3ybhy2q0d
make: *** [build_user] Error 1
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems