Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 Jan 2015 13:58:48 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        John Baldwin <jhb@FreeBSD.org>, Craig Rodrigues <rodrigc@FreeBSD.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        freebsd-current Current <freebsd-current@freebsd.org>, Neel Natu <neel@freebsd.org>
Subject:   Re: any primer on running bhyve guests sharing disk with host ?
Message-ID:  <54ACCB18.4060107@freebsd.org>
In-Reply-To: <54ABF75D.5060302@FreeBSD.org>
References:  <20150103161511.GA94237@onelab2.iet.unipi.it> <CAG=rPVeix6%2BewNcDPL9YPe_ZciFMjOkOuFbXR2V_-3Y3qrujJw@mail.gmail.com> <54ABF75D.5060302@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1/6/15 10:55 PM, John Baldwin wrote:
> On 1/3/15 1:43 PM, Craig Rodrigues wrote:
>> On Sat, Jan 3, 2015 at 8:15 AM, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
>>
>>> Hi,
>>> in order to do some kernel testing, I would like to run bhyve guests
>>> using (through NFS, probably) the host's file system.
>>> diskless(8) is probably one way to go, i was wondering if
>>> someone has instructions for that.
>>> Specifically:
>>> - how to "bhyveload" a kernel (rather than the full disk image);
>>>    as an alternative, given a kernel, something to build an image
>>>    that can be passed to bhyveload
>>>
>>> - how to pass the necessary config (rootpath) to the client
>>>    without having to rely on a specialized dhcp server
>>>
>>> I used to be familiar with diskless configs, so i can probably sort
>>> out the server side myself.
>>>
> < Neel already covered -h with bhyveload which you can also use with -H
> to vmrun.sh, though the other way I do this is to NFS export my work
> tree from the host to the guest so I can run kgdb on the host but do the
> build / install in the guest itself. >
>
>> I don't think there is a way to do exactly what you want.
>> I would recommend doing the following:
>>
>> (1)  Enable bvmdebug in your kernel config:
>> https://wiki.freebsd.org/BHyVe/gdb
>>        This allows you to do kgdb remote debugging into a bhyve VM.
> At this point it is probably simpler to use the serial port instead.  I
> have hacked up vmrun.sh locally to always create a /dev/nmdm<vmname>2B
> device hooked up to com2 and to add 0x80 to the flags for uart1 in
> device.hints in all my VMs.  You can then use kgdb from the host and
> 'target remote /dev/nmdm<vmname>2A'.

I've found the main good part of using bvmdebug is the ability to 
attach to it from a different machine using tcp.
I think bhyve should offer the opportunity to make ALL serial ports or 
similar be attached to sockets..
>
> --- /usr/share/examples/bhyve/vmrun.sh	2014-11-20 18:38:34.000000000 -0500
> +++ /home/john/bhyve/vmrun.sh	2015-01-06 09:54:47.000000000 -0500
> @@ -230,6 +230,9 @@
>   	    nextslot=$(($nextslot + 1))
>   	    i=$(($i + 1))
>   	done
> +	if kldstat -qm nmdm; then
> +	    devargs="$devargs -l com2,/dev/nmdm${vmname}2B"
> +	fi
>
>   	${FBSDRUN} -c ${cpus} -m ${memsize} ${apic_opt} -A -H -P	\
>   		-g ${gdbport}						\
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54ACCB18.4060107>