CubicLouve

Spring_MTの技術ブログ

MacでMirageOSを動かしてみる

OCamlと仮想化の勉強のためMirageOSを触ってみることにしました。

setup

mirage.io 通りにやってみる

brew install opam
opam init
opam install mirage

Hello World

mirage.io

git clone https://github.com/mirage/mirage-skeleton.git

noopをやってみる

% cd tutorial/noop
% mirage configure -t unix
% make depend 
% make
% ls -l noop
lrwxr-xr-x  1 foo  1522739515  18  4 28 01:29 noop -> _build/main.native
% ./noop
% echo $?
0

Hello Worldやってみる

% cd tutorial/hello
% mirage configure -t unix
% make depend
% make
%  ./hello
2021-04-28 01:39:04 +09:00: INF [application] hello
2021-04-28 01:39:05 +09:00: INF [application] hello
2021-04-28 01:39:06 +09:00: INF [application] hello
2021-04-28 01:39:07 +09:00: INF [application] hello
%

4回helloがでるのは単純に loopが4回回ったら止まるからですね

github.com

参考

blog.ojisan.io

dev.realworldocaml.org

https://www.eurosys2020.org/wp-content/uploads/2020/04/slides/159_kuo_slides.pdf