Hi All

As some of you know i have been working at making MirageOS work on OpenBSD,
It now works.

If you don't know what it is, please see [1],
if you don't care, please stop reading.

I have built and tested all applications, device-usage and tutorials in
mirage-skeleton.

You maybe asking how do i do this myself? The following script works
from a fresh install of OpenBSD current (soon to be 6.4)and builds
the 'static_website_tls'

<start of script>
#!/bin/sh -e

# Please ensure doas is setup for the current user

# tweak the environment, so things can be a little cleaner
PREFIX=$HOME/.local
if [ ! -d "$PREFIX" ]; then
  mkdir $PREFIX
fi
export PATH=$PREFIX/bin:$PATH
export AUTOCONF_VERSION=2.69

# required packages
doas pkg_add autoconf%2.69 bash bzip2 curl git gmake gpatch gtar--\
ocaml pkgconf unzip-- xz

# build opam
# waiting on OPAM PR#3538 - https://github.com/ocaml/opam/pull/3538
ulimit -s 32768
git clone https://github.com/adamsteen/opam.git
cd opam
./configure --prefix $PREFIX
gmake lib-ext
gmake
gmake install
cd ..

# setup the 2.0.0 repository
# there was an issue with the auto conversion process
# opam-repo PR#12605 - https://github.com/ocaml/opam-repository/pull/12605
git clone https://github.com/ocaml/opam-repository.git
cd opam-repository
git checkout 2.0.0
cd ..

# setup opam and mirage
opam init --comp 4.06.1 -n default opam-repository
eval $(opam env)
opam install mirage -y
# waiting on the next release of Solo5
opam pin add solo5-kernel-ukvm git://github.com/Solo5/solo5 -y


# mirage-skeleton tutorials
git clone https://github.com/mirage/mirage-skeleton.git
cd mirage-skeleton/applications/static_website_tls
mirage configure -t ukvm
gmake depends
gmake
<end of script>

the script can also be viewed/downloaded from [2].

If you have a OpenBSD current machine, please test this and let me know how
you go!

Hopefully with time its should be as simple as

doas pkg_add <required packages>
opam init
opam install mirage -y
mirage configure -t ukvm
gmake depends
gmake

Cheers
Adam

[1] https://mirage.io/
[2]
github: https://gist.github.com/adamsteen/6bdae8dc93d8f91f9eb6cf1dbbbbe4b5
raw: 
https://gist.githubusercontent.com/adamsteen/6bdae8dc93d8f91f9eb6cf1dbbbbe4b5/raw/3619c6f3e42756b11bb3788b2226dc3be67d7913/setup.sh

Reply via email to