[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Mirage on Raspberry Pi 3



OK! Got a the Mirage website running in Qemu on OSX.

I needed to set up a alias: ifconfig tap0 10.0.0.1 alias

Now for the Pi.

On 9 March 2016 at 13:00, Joel Hughes <rudenoise@xxxxxxxxx> wrote:
Thanks again Dan.

I'm getting a little closer on OSX:

I now see "listening on http://localhost" but still not able to get see the unikernel serving.

https://github.com/rudenoise/solo5-mirage-OSX


I've also got going on the Raspberry Pi:
https://github.com/rudenoise/qemu-solo5-mirage-rpi3

As you can see I've got the Unikernel running but haven't started network setup, yet.

On 8 March 2016 at 23:07, Daniel J Williams <djwillia@xxxxxxxxxx> wrote:

"MirageOS-devel" <mirageos-devel-bounces@xxxxxxxxxxxxxxxxxxxx> wrote on 03/08/2016 05:10:44 PM:

> From: Joel Hughes <rudenoise@xxxxxxxxx>
> I guess the www unikernal is running but my networking knowledge may
> be letting me down.


It does look like that is the case to me too.

> In the example bridge0's inet is 169.254.65.18 is that where I'd
> expect it to be accessible? And I see that qemu has created tap0 and
> attached it to bridge0.

> What I'm unclear about is how I can make http requests to the
> running unikernel from the host/OSX?


There's a lot of different ways to configure networking, which is what makes it so confusing.  I can tell you how I'm doing it in the containers if that helps.  Are you trying to set up networking on your rPi3 or OSX?  I do have access to OSX, so I can try things out there in the next couple of days, but I'm not as familiar with the OSX networking vs. Linux.

The Solo5/Mirage unikernel's network stack is configured to either use DHCP or a static IP address.  The example is using the default MirageOS static IP address, which is hardcoded somewhere to 10.0.0.2.  So that's the address that the unikernel will think it is.

I normally set up a local bridge (virbr0) where I tell QEMU to put the tap device and I also add a virtual NIC pair with 10.0.0.1, so that I can access the unikernel from the host directly (e.g., ping 10.0.0.2, wget 10.0.0.2, etc.)

The script that QEMU uses to know that it should add to virbr0 is here:

https://github.com/djwillia/solo5/blob/mirage/kvm-br.bash

The script that I use to configure the host to have its virtual NIC pair is here:

https://github.com/djwillia/solo5/blob/mirage/config_net.bash

The `iptables` commands at the bottom of that script are how I normally expose a port to the outside world (e.g., port 80). After that, I can access the web server on the host's IP address.

Dan



_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.