avsm changed the topic of #mirage to: Good news everyone! Mirage 3.0 released!
ubeatlenine has joined #mirage
dudelson has quit [Quit: WeeChat 1.8]
ubeatlenine is now known as dudelson
ubeatlenine has joined #mirage
ubeatlenine has quit [Quit: WeeChat 1.8]
copy` has quit [Quit: Connection closed for inactivity]
aggelos_ has quit [Ping timeout: 245 seconds]
aggelos_ has joined #mirage
aggelos_ has quit [Ping timeout: 245 seconds]
aggelos_ has joined #mirage
mort___ has joined #mirage
argent_smith has joined #mirage
kishore has joined #mirage
<kishore>
if i start to build github.com/mirage/mirage - ocamlfind complains that it can find "mirage-protocols", i assume i have to build them separate.
<kishore>
i poked mirage.io, and github.com/mirage/mirage, i couldn't find instructions on "Building mirage from source"
<kensan>
mato: Since there are version dependencies on solo5-kernel etc it means that a versioned solo5 release must exist before submitting that change, right?
* kensan
is not quite sure about the interactions and dependencies wrt. versioning.
kishore has quit [Quit: Page closed]
<mato>
kensan: Yeah, it's tricky and the Solo5 packages are a bit weird. I need to think about it and possibly write an email to the mirage list.
<mato>
kensan: In theory, if users follow the standard instructions of "mirage configure -t muen; make depend" then with the current setup (what you have in your patches) the depend step will just fail if no solo5-kernel-muen package is available. However, there should be a clearer way of expressing those dependencies. Possibly just adding a versioned dependency on the a release of mirage-solo5 with your changes is
<mato>
enough. Not sure.
<kensan>
mato: Ok, thanks for the info.
<kensan>
mato: I am trying to build for solo5-kernel-muen using mirage but somehow "make depend" craps out on me with the rebased patches.
<kensan>
mato: mirage does not seem to see that solo5-kernel-muen is a viable option as a dependency to ocaml-freestanding besides ukvm and virtio.
<mato>
kensan: Yeah, you need to pin ocaml-freestanding with the updated metadata for that to work (the | dependency on solo5-kernel-muen)
<mato>
kensan: So yes, ocaml-freestanding will need a new release.
<kensan>
mato: I have a pin for ocaml-freestanding. Explicitly installing it seemed to have helped.
<kensan>
mato: Ok, I think I get it now. The chain looks like: Solo5 patches-> new solo5 version/release, ocaml-freestanding patches -> new ocaml-freestanding version/release
<kensan>
mato: mirage patches referencing new versions as min for muen.
<hannes>
the problem afaics is that opam packages pinned/pointing to dev repos still have the same version number... and thus while we can express ">0.2.1", the dev-repo won't suffice (but only a new release will)
<kensan>
hannes: Ah, I see.
<mato>
kensan: Yeah, that chain *should* be enough.
<hannes>
so, atm (released) mirage will bail at -t muen, but once we have that released, the muen backend can depend (in mirage.ml) onto solo5-kernel-ukvm >= 0.3 (or whichever versions are good)
<mato>
kensan: Since mirage-solo5 depends on ocaml-freestanging.
<mato>
hannes: no, Muen uses a separate solo5-kernel-muen package
<hannes>
mato: sounds good to me :)
<mato>
hannes: hannes So, once a solo5-kernel-muen package is released to OPAM I can make a new ocaml-freestanding release (adding "| solo5-kernel-muen" to its dependencies) and that should be all that's required. Once a version of mirage with -t muen is released to opam things will just work.
<mato>
hannes: The proliferation of solo5-kernel-xxx packages is not ideal but i see no straightforward fix for that right now.
djs55 has quit [Ping timeout: 240 seconds]
<mato>
lunch, biab
<hannes>
mato: that sounds good to me... and yes, the exploding solo5-kernel-x is not nice atm.. but we need bits from that (well, compiler+linker flags?) for ocaml-freestanding, don't we?
<mato>
hannes: Yeah. I don't think the exploding kernel packages can be fixed w/o some reconstruction of how the pkg-config flags are passed around.
<mato>
hannes: An unfortunately I don't have enough bandwidth right now to figure out a solution.
<hannes>
mato: i think it is fine for now :)
<hannes>
(I've negative bandwidth and am ear-sick)
djs55 has joined #mirage
indykish has joined #mirage
indykish has quit [Client Quit]
djs55 has quit [Ping timeout: 272 seconds]
mort___ has quit [Quit: Leaving.]
djs55 has joined #mirage
AltGr has joined #mirage
djs55 has quit [Ping timeout: 258 seconds]
djs55 has joined #mirage
<mato>
kensan: So, following the instructions in the Muen PR, is this command still what I want to test a Solo5 unikernel:
<mato>
make SYSTEM=xml/mirage-solo5.xml emulate COMPONENTS="libmutime libdebuglog sm time dbgserver"
<mato>
(adding NO_PROOF=true to that)
djs55 has quit [Ping timeout: 260 seconds]
<mato>
...trying test_hello, it's hard to tell whether bochs is just insanely slow or stuck.
<mato>
kensan: ... so, i think i may just merge the PR without actually testing it since it takes too much time :-(
<mato>
and I don't want to block the PR
<kensan>
mato: Have a look at emulate/serial.out
<kensan>
mato: or try tools/scripts/mulog-subject.py 3 emulate/serial.out
<mato>
kensan: ah, that was not obvious, i was looking for something on the console :)
<kensan>
mato: You should see the log output
<kensan>
mato: No the screen will stay as is :)
<kensan>
mato: only serial output.
<mato>
ok, that seems to work
<kensan>
mato: Sorry, was away for lunch.
<kensan>
mato: time, block and ping cannot be tested with Bochs but the others should be fine.
<kensan>
mato: cool!
<mato>
ok, I just wanted to test "something" to see if things work
mort___ has joined #mirage
<kensan>
mato: When I get some time I will look at setting up Docker image for building Muen.
<mato>
kensan: FYI, randomly tried to boot emulate/muen.iso under nested KVM, does not work (not that I expected it to)
<mato>
kensan: Anyhow, bochs will do, now that I know where to find the output.
<kensan>
mato: Ok, thanks for trying.
<kensan>
mato: What Linux kernel version did you try?
<mato>
kensan: 4.11 on a Broadwell NUC (NUC5i7RYB)
<kensan>
mato: Ah right.
<mato>
kensan: With "qemu-system-x86_64 -machine q35 -enable-kvm -cpu host,+invtsc,migratable=no -m 2048 -smp 2 -nographic -cdrom emulate/muen.iso" gets as far as "I/O APIC RTE 01: ..." and then appears to hang.
<kensan>
mato: ok.
<mato>
Argh.
<mato>
kensan: So I thought for a moment that ocaml-freestanding no longer builds on Debian stretch, but it turns out that adding gnat and spark to my $PATH makes bits of the build pick up some ancient wrong gcc provided by gnat.
<kensan>
mato: Yeah, that's a bit unfortunate and confusing...
<mato>
kensan: Apart from using Docker images, a workaround might be to have some Makefile parameters that can be set to point to GNAT and SPARK w/o having to muck with $PATH....?
<kensan>
mato: will have to think about that.
<mato>
kensan: How did it build for you? Do you just set the $PATH for only the shell you're building Muen in?
<mato>
(the PATH with the wrong gcc in it)
<kensan>
mato: I am building Mirage in a different shell.
<mato>
ok, that explains it
<kensan>
mato: I have an file I source for Muen development.
<mato>
ack
mort___ has quit [Quit: Leaving.]
ansiwen is now known as ansiwen|lunch
<mato>
kensan: Ok, I've rebuilt the various affected OPAM switches, added the pins, however the result of "mirage configure -t muen" in mirage-skeleton/tutorial/hello doesn't build for me. Is that the same for you?
<mato>
(before I go and investigate what's wrong with it...)
<kensan>
mato: let me try again
<kensan>
mato: I just did it for static_website_tls before
<kensan>
mato: It builds for me...
mort___ has joined #mirage
<kensan>
mato: I am on Debian stable
<kensan>
mato: What error do you get?
<mato>
kensan: Does "make depend" work for you?
<kensan>
mato: yes.
<mato>
kensan: Is this with a recently run "opam update"?
<mato>
For me make depend just produces my least favourite opam error "Sorry, no solution found" with no extra information
<kensan>
mato: yes, but let me give it another shot
<kensan>
mato: ah yeah that's because of the timer.
<mato>
kensan: Is that not functional / due to the bochs emulation being slow?
<kensan>
mato: Time passing is very inaccurate
<kensan>
plus emulation is very slow.
<mato>
ok.
<kensan>
mato: Its the same situation as with test_time.
<mato>
kensan: Alright, I think this means we can merge the Muen PR, I'll add some comments to Github about the next steps.
<kensan>
mato: btw, you can filter the log output using tools/scripts/mulog-subject.py 3 emulate/serial.out
<kensan>
mato: This will only show the output from logchannel #3.
<kensan>
mato: Cool! \@/
mort___ has quit [Quit: Leaving.]
mort___ has joined #mirage
<kensan>
mato: I opened a PR for ocaml-freestanding.
<mato>
kensan: thanks. I'll probably move that last comment on #190 into a [meta] tracking issue so as not to have it sitting in a "closed" PR.
<kensan>
mato: Ok, thank you.
<mato>
kensan: Done.
<mato>
kensan: Thx for the PR. Will look at it in $TIME.
<mato>
kensan: Random question, since you already use some NUCs for testing Muen, do you think it'd be hard to get it to boot on a 5i7RYH? Asking since I have one of those spare as a bare metal test box.
<kensan>
mato: No, I think it should be fairly straight forward.
<kensan>
mato: for arbitrary values of $fairly ;)
<mato>
:-)
<kensan>
mato: You would need to generate a hardware config. The easiest way to do this is by running the mugenhwcfg tool from a running Linux system.
<kensan>
mato: Then copy the generated output.xml file to policy/hardware/intel-nuc-5i7ryh.xml
<kensan>
mato: and add a corresponding platform config which is probably the same as for the 5i5MYHE NUC.
<kensan>
mato: So cp policy/platform/intel-nuc-5i5myhe.xml policy/platform/intel-nuc-5i7ryh.xml
<kensan>
mato: Maybe you have to make minor changes to the generated hardware xml.
<kensan>
mato: If all is there: make HARDWARE=hardware/intel-nuc-5i7ryh.xml SYSTEM=xml/mirage-solo5-net.xml NO_PROOF=true iso
yomimono has joined #mirage
<lobo>
hannes: get well soon. looking forward to some interesting blog posts :-)
copy` has joined #mirage
yomimono has quit [Ping timeout: 240 seconds]
yomimono has joined #mirage
ansiwen|lunch is now known as ansiwen
<hannes>
lobo: thx, it's already getting a bit better
<hannes>
(and tomorrow off to germany)
<apache2>
I have some build failing because of xen-gnt.unix /43
<apache2>
oops
<apache2>
xen-gnt.unix missing, does anyone know what this is?
<yomimono>
ocaml-gnt got a jbuilder port earlier this week, which might have caused some carnage
<yomimono>
possibly there's now a xen-gnt-unix
* yomimono
checks `opam search`
<yomimono>
yep
<yomimono>
apache2: can you file an issue on mirage/mirage if these are builds of mirage itself, or `make depend` from a `mirage configure`?
<apache2>
OB[ERROR] The compilation of vchan.2.3.0 failed.
<apache2>
this is the pkg that complains about missing en-gnt.h
<apache2>
xen-gnt.unix sorry
<yomimono>
apache2: yeah, it looks like vchan wasn't ever aware that xen-gnt could be built without unix sublibrary, if I'm inferring correctly from `opam info`
<apache2>
:(
<yomimono>
I need to go AFK for a little bit but I'll have a look at it when I get back - might be quicker to file an issue on ocaml-vchan in case someone else is around to fix
<apache2>
yomimono: thank you!!!
<hannes>
apache2: to get it up and running, you can opam pin xen-gnt 2.2.3 .. and "downgrade" to this known working (before jbuilder split all the packages and broke sth)
yomimono has quit [Ping timeout: 258 seconds]
<apache2>
thank you!
<apache2>
yeah this jbuilder wild west upgrading thing... :(
mort___ has quit [Quit: Leaving.]
yomimono has joined #mirage
<yomimono>
hannes: thanks, I realized two seconds after closing the laptop I should have said that ^_^;
<hannes>
yomimono: nw
yomimono has quit [Ping timeout: 255 seconds]
yomimono has joined #mirage
yomimono has quit [Quit: Leaving]
vbmithr has quit [Quit: leaving]
vbmithr has joined #mirage
AltGr has left #mirage [#mirage]
argent_smith has quit [Quit: Leaving.]
copy` has quit [Quit: Connection closed for inactivity]