Skip to content

Commit 51115ac

Browse files
committed
Changes for Bob
Summary: This revision contains all the adjustments to build the Muen SK toolchain (arm64, x86_64) with bob. The most important changes are as follows. Remove relative paths from library with clauses and use external GENERATED_DIR instead of hardcoded value. This allows the specification of the directory for generated sources via the GENERATED_DIR project/environment variable. Make Object_Dir settable in gnattest*_.gpr files. When building the test out of tree the object_dir must be in the build-directory. Otherwise "cannot relocate deeper then object directory" error is thrown. Adapt mucheckstack-test to lower stack usage. Unify PT ending in Mucfgexpand SMMU expander: use _pt instead of .pt like in the kernel and subject PT expanders. Set unit.engine to GNATtestEngineBob in arcconfig and switch from pep8 to black linter/formatter in arclint. Remove strange character in vcpu.xsd documentation. Make solo5-muen-gencspec.py work with bob and lief 0.17.1. Docker: Pin solo5 to current version. Contains sinfo update to version 0x4. Also build https.muen and unipi unikernels during docker image build. Drop now obsolete Dockerfile.muen-dev-env. System images are built by bob now. Remove sbs submodule. Publish docker container if branch is devel and also tag image with branch-shortref. Finally, delete all Makefiles. Reviewers: ken Reviewed By: ken Differential Revision: https://dev.codelabs.ch/D1225
2 parents 59e3fac + e89b0af commit 51115ac

File tree

121 files changed

+243
-865
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+243
-865
lines changed

.arcconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"arc.land.onto" : [ "devel" ],
55
"arc.land.onto.default": "devel",
66
"arc.land.strategy" : "merge",
7-
"unit.engine" : "GNATtestEngine",
7+
"unit.engine" : "GNATtestEngineBob",
88
"repository.callsign" : "MTO",
99
"history.immutable" : true
1010
}

.arclint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"script-and-regex.regex": "/^(?P<message>.*)$/m"
1717
},
1818

19-
"pep8": {
20-
"type": "pep8",
19+
"black": {
20+
"type": "black",
2121
"include": "(\\.py$)"
2222
}
2323
}

.github/workflows/mirageos.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,21 @@ jobs:
2828
registry: ghcr.io
2929
username: ${{ github.actor }}
3030
password: ${{ secrets.GITHUB_TOKEN }}
31+
32+
- name: Setup env
33+
run: echo "SHORTREF=$(echo $GITHUB_SHA | cut -c1-12)" >> $GITHUB_ENV
34+
3135
- name: Build Docker image
3236
id: docker_build
33-
uses: docker/build-push-action@v5
37+
uses: docker/build-push-action@v6
3438
with:
3539
context: .
3640
file: ./docker/Dockerfile.muen-mirageos
3741
platforms: linux/amd64
3842
push: ${{ github.ref == 'refs/heads/devel' }}
3943
cache-from: type=local,src=/tmp/.buildx-cache
4044
cache-to: type=local,dest=/tmp/.buildx-cache
41-
tags: ghcr.io/codelabs-ch/muen-mirageos:latest
45+
tags: |
46+
ghcr.io/codelabs-ch/muen-mirageos:latest
47+
ghcr.io/codelabs-ch/muen-mirageos:${{ github.ref_name }}
48+
ghcr.io/codelabs-ch/muen-mirageos:${{ github.ref_name }}-${{ env.SHORTREF }}

Makefile

Lines changed: 0 additions & 99 deletions
This file was deleted.

component.mk

Lines changed: 0 additions & 15 deletions
This file was deleted.

coverage.mk

Lines changed: 0 additions & 8 deletions
This file was deleted.

docker/Dockerfile.muen-dev-env

Lines changed: 0 additions & 99 deletions
This file was deleted.

docker/Dockerfile.muen-mirageos

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,32 @@ RUN curl -SL https://github.com/ocaml/opam/releases/download/2.1.5/opam-2.1.5-x8
88
&& chmod 755 $(which opam)
99
USER opam
1010

11+
RUN git clone https://github.com/Solo5/solo5.git \
12+
&& git -C solo5 reset --hard dabc69fd89b8119449ec4088c54b458d4ccc851b
13+
1114
RUN cd /home/opam/opam-repository \
1215
&& git fetch origin master \
1316
&& git reset --hard 6d17c11f6930230daaef6a30d13bc23c1597fc9f \
1417
&& opam update \
18+
&& opam pin add solo5 $HOME/solo5 \
1519
&& opam install -y mirage.4.4.2
1620

17-
RUN git clone https://github.com/mirage/mirage-skeleton
21+
# clone mirage-skeleton and prepare dependencies.
22+
# the settings are as described in the muen.sk article.
23+
RUN git clone https://github.com/mirage/mirage-skeleton \
24+
&& cd mirage-skeleton/applications/static_website_tls \
25+
&& git reset --hard c7841e2796270c3114cbff932e3f7a0ff86b62c4 \
26+
&& eval $(opam env) \
27+
&& mirage configure -t muen --ipv4=192.168.254.10/24 --ipv4-gateway=192.168.254.1 \
28+
&& make \
29+
&& mv dist/https.muen $HOME/
30+
31+
# clone unipi and perpare dependencies.
1832
RUN git clone -b with-kv-mirage4 https://github.com/roburio/unipi.git \
1933
&& cd unipi \
20-
&& git reset --hard 90dd597b41aee0162cdc75d87a1ce3ca415bef55
34+
&& git reset --hard 90dd597b41aee0162cdc75d87a1ce3ca415bef55 \
35+
&& eval $(opam env) \
36+
&& mirage configure -t muen --ipv4=192.168.254.10/24 --ipv4-gateway=192.168.254.1 \
37+
&& make
2138

2239
CMD [ "bash" ]

docker/entrypoint.muen-dev-env

Lines changed: 0 additions & 3 deletions
This file was deleted.

docker/run.muen-dev-env

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)