MTE unikernel with Mkernel+Mnet+Vifu
This commit is contained in:
parent
76662bf23c
commit
a23e59dfca
31 changed files with 535 additions and 376 deletions
61
GNUmakefile
Normal file
61
GNUmakefile
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
vendor_list := \
|
||||
mkernel zarith bstr mnet mirage-crypto-rng-mkernel gmp digestif \
|
||||
kdf utcp flux h1 httpcats mhttp multipart_form-miou prettym tls \
|
||||
x509 vifu cachet mfat caqti \
|
||||
base32 cohttp mirage-mtime mirage-ptime
|
||||
|
||||
secmod_fat=assets/secmod.fat
|
||||
tap_device=tap0
|
||||
|
||||
check-kvm:
|
||||
$(if $(wildcard /dev/kvm),,$(error KVM support not enabled))
|
||||
|
||||
# todo: just opam install . --deps-only?
|
||||
installs:
|
||||
opam install --yes dune utop merlin ocp-browser ocamlformat
|
||||
# opam install --yes mcrunch
|
||||
opam install --yes crunch
|
||||
opam install --yes sqlite3 # needed for caqti even if not used
|
||||
opam install --yes caqti-driver-pgx
|
||||
opam install --yes $(vendor_list)
|
||||
|
||||
pins:
|
||||
opam pin --no-action --yes "git+https://github.com/robur-coop/mcrunch.git#682ed63c03e3be5664f96c469a260e1d9e9df011"
|
||||
opam pin --no-action --yes "git+https://github.com/mirage/Zarith.git#zarith-1.14"
|
||||
opam pin --no-action --yes "git+https://github.com/swrup/mirage-mtime.git#6a6bb4dd25624a3c43e6417dcdf73f3c689946a7"
|
||||
opam pin --no-action --yes "git+https://github.com/robur-coop/vif.git#8c6ac3fb97cb9a31bf6ad8ec63c942336dcfd03e"
|
||||
opam pin --no-action --yes add caqti "git+https://github.com/swrup/ocaml-caqti.git#7838c29ffa9095d32b95affee26b22ef2ad302fd"
|
||||
opam pin --no-action --yes add caqti-miou "git+https://github.com/swrup/ocaml-caqti.git#7838c29ffa9095d32b95affee26b22ef2ad302fd"
|
||||
opam pin --no-action --yes add caqti-mnet "git+https://github.com/swrup/ocaml-caqti.git#7838c29ffa9095d32b95affee26b22ef2ad302fd"
|
||||
opam pin --no-action --yes add caqti-driver-pgx "git+https://github.com/swrup/ocaml-caqti.git#7838c29ffa9095d32b95affee26b22ef2ad302fd"
|
||||
opam pin --no-action --yes "git+https://github.com/swrup/mfat.git#40afdb419df56d4932928a61906e012a3c534549"
|
||||
|
||||
|
||||
.PHONY: vendors
|
||||
vendors:
|
||||
@mkdir -p vendors
|
||||
@for v in $(vendor_list); do \
|
||||
[ -d vendors/$$v ] || opam source $$v --dir vendors/$$v ; \
|
||||
done
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf _build/
|
||||
rm -rf vendors/
|
||||
|
||||
# todo: don't erase already existing
|
||||
secmod.fat:
|
||||
@mkdir -p assets
|
||||
mfat make --sectors=2048 $(secmod_fat)
|
||||
|
||||
assets:
|
||||
cp default/assets ./
|
||||
|
||||
manifest:
|
||||
dune exec src/mte.exe > src/manifest.json
|
||||
|
||||
build:
|
||||
dune build src/mte.exe
|
||||
|
||||
run: build
|
||||
solo5-hvt --block:storage=$(secmod_fat) --net:service=$(tap_device) -- ./_build/solo5/src/mte.exe --solo5:quiet
|
||||
Loading…
Add table
Add a link
Reference in a new issue