mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 01:59:07 +00:00
miragesdk: fix the build after the switch from mirage tool to jbuilder
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
This commit is contained in:
parent
e976a6c4aa
commit
e3939e03c0
@ -17,16 +17,6 @@ system:
|
||||
- /proc/sys/fs/binfmt_misc:/binfmt_misc
|
||||
read_only: true
|
||||
command: [/usr/bin/binfmt, -dir, /etc/binfmt.d/, -mount, /binfmt_misc]
|
||||
- name: dhcp-client
|
||||
network_mode: host
|
||||
image: "mobylinux/dhcp-client:aaf811d77ff8d8b2e16ca4dd9d0a2849ef8977b6"
|
||||
capabilities:
|
||||
- CAP_NET_ADMIN # to bring eth0 up
|
||||
- CAP_NET_RAW # to read /dev/eth0
|
||||
binds:
|
||||
- /var/run/dhcp-client:/data
|
||||
command: [/dhcp-client, -vv]
|
||||
read_only: true
|
||||
daemon:
|
||||
- name: rngd
|
||||
image: "mobylinux/rngd:3dad6dd43270fa632ac031e99d1947f20b22eec9@sha256:1c93c1db7196f6f71f8e300bc1d15f0376dd18e8891c8789d77c8ff19f3a9a92"
|
||||
@ -35,6 +25,16 @@ daemon:
|
||||
oom_score_adj: -800
|
||||
read_only: true
|
||||
command: [/bin/tini, /usr/sbin/rngd, -f]
|
||||
- name: dhcp-client
|
||||
network_mode: host
|
||||
image: "mobylinux/dhcp-client:f40cafe2ade4b115704750a85d21eb35b1116b91"
|
||||
capabilities:
|
||||
- CAP_NET_ADMIN # to bring eth0 up
|
||||
- CAP_NET_RAW # to read /dev/eth0
|
||||
binds:
|
||||
- /var/run/dhcp-client:/data
|
||||
command: [/dhcp-client, -vv]
|
||||
read_only: true
|
||||
files:
|
||||
- path: /var/run/dhcp-client/README
|
||||
contents: 'data for dhcp-client'
|
||||
|
1
projects/miragesdk/src/.gitignore
vendored
1
projects/miragesdk/src/.gitignore
vendored
@ -5,6 +5,7 @@ obj/
|
||||
hash
|
||||
|
||||
# Generated by jbuilder
|
||||
dhcp-client/calf/.merlin
|
||||
dhcp-client/bpf/.merlin
|
||||
dhcp-client/.merlin
|
||||
sdk/.merlin
|
||||
|
@ -7,6 +7,14 @@ RUN opam pin -n add mirage-net-unix https://github.com/samoht/mirage-net-unix.gi
|
||||
RUN opam depext -iy mirage-net-unix logs-syslog irmin-unix cohttp decompress
|
||||
RUN opam depext -iy rawlink tuntap.1.0.0 jbuilder irmin-watcher inotify
|
||||
RUN opam install rresult
|
||||
RUN opam pin add cstruct --dev # for ppx/jbuilder
|
||||
RUN opam pin add tuntap 1.0.0
|
||||
|
||||
# TMP: to compile the calf
|
||||
RUN opam pin add -n charrua-client https://github.com/yomimono/charrua-client.git#state-halfway
|
||||
RUN opam depext -uiy ocamlfind topkg-care ocamlbuild lwt mirage-types-lwt mirage
|
||||
RUN opam depext -uiy charrua-client cohttp conduit mirage-unix
|
||||
RUN opam depext -uiy mirage-net-fd ptime mirage-logs
|
||||
|
||||
RUN sudo mkdir -p /src
|
||||
COPY ./sdk /src/sdk
|
||||
@ -16,7 +24,8 @@ RUN sudo chown opam -R /src
|
||||
USER opam
|
||||
WORKDIR /src
|
||||
|
||||
RUN opam pin add cstruct --dev # for ppx/jbuilder
|
||||
|
||||
RUN opam config exec -- jbuilder build dhcp-client/main.exe
|
||||
RUN sudo cp /src/_build/default/dhcp-client/main.exe /dhcp-client
|
||||
|
||||
RUN opam config exec -- jbuilder build dhcp-client/calf/unikernel.exe
|
||||
RUN sudo cp /src/_build/default/dhcp-client/calf/unikernel.exe /dhcp-client-calf
|
||||
|
@ -8,7 +8,8 @@ OBJS=obj/dhcp-client
|
||||
|
||||
MIRAGE_COMPILE=mobylinux/mirage-compile:f903b0e1b4328271364cc63f123ac49d56739cef@sha256:a54d9ca84d3f5998dba92ce83d60d49289cee8908a8b0f6ec280d30ab8edf46c
|
||||
CALF_OBJS=obj/dhcp-client-calf
|
||||
CALF_FILES=dhcp-client/calf/config.ml dhcp-client/calf/unikernel.ml
|
||||
CALF_FILES=dhcp-client/calf/config.ml dhcp-client/calf/unikernel.ml \
|
||||
dhcp-client/calf/jbuild
|
||||
|
||||
default: push
|
||||
@
|
||||
@ -34,18 +35,18 @@ enter-build: .build
|
||||
enter-dev: .dev
|
||||
docker run --privileged -it -v `pwd`:/src $(shell cat .dev)
|
||||
|
||||
$(CALF_OBJS): $(CALF_FILES)
|
||||
mkdir -p obj/bin
|
||||
( cd obj && \
|
||||
tar -C ../dhcp-client/calf -cf - $(CALF_FILES:dhcp-client/calf/%=%) | \
|
||||
docker run --rm -i --log-driver=none $(MIRAGE_COMPILE) -o dhcp-client-calf | \
|
||||
tar xf - || exit 1) && \
|
||||
touch $@
|
||||
#$(CALF_OBJS): $(CALF_FILES)
|
||||
# mkdir -p obj/bin
|
||||
# ( cd obj && \
|
||||
# tar -C ../dhcp-client/calf -cf - $(CALF_FILES:dhcp-client/calf/%=%) | \
|
||||
# docker run --rm -i --log-driver=none $(MIRAGE_COMPILE) -o dhcp-client-calf | \
|
||||
# tar xf - || exit 1) && \
|
||||
# touch $@
|
||||
|
||||
$(OBJS): .build $(FILES)
|
||||
$(OBJS) $(CALF_OBJS): .build $(FILES) $(CALF_FILES)
|
||||
mkdir -p obj/usr/lib obj/bin
|
||||
( cd obj && \
|
||||
docker run --rm --net=none --log-driver=none -i $(IMAGE):build tar -cf - $(OBJS:obj/%=/%) | tar xf - ) && \
|
||||
docker run --rm --net=none --log-driver=none -i $(IMAGE):build tar -cf - $(OBJS:obj/%=/%) $(CALF_OBJS:obj/%=/%) | tar xf - ) && \
|
||||
touch $@
|
||||
|
||||
hash: Makefile Dockerfile.build Dockerfile.pkg $(FILES) $(CALF_FILES) .build
|
||||
@ -77,7 +78,8 @@ dev-clean:
|
||||
rm -rf _build dhcp-client/calf/_build
|
||||
|
||||
dev:
|
||||
cd dhcp-client/calf && mirage configure && make
|
||||
jbuilder build dhcp-client/main.exe --dev
|
||||
jbuilder build dhcp-client/calf/unikernel.exe --dev
|
||||
# cd dhcp-client/calf && mirage configure && make
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
|
Loading…
Reference in New Issue
Block a user