Date: Sat, 24 Feb 2024 01:46:09 +0100 From: Mario Marietto <marietto2008@gmail.com> To: Jo Durchholz <jo@durchholz.org> Cc: "freebsd-virtualization@FreeBSD.org" <freebsd-virtualization@freebsd.org> Subject: Re: Best way to have a FreeBSD VM for automated testing? Message-ID: <CA%2B1FSigWWGriyPSB4UGTv9x02ADPnEkLsZq4fQTv7XUi=OKtzw@mail.gmail.com> In-Reply-To: <4073dc47-528e-493b-a28e-a21aff733225@durchholz.org> References: <163e57a9-0b61-414c-a8f7-109f5ac90f69@durchholz.org> <CA%2B1FSijjCLn8sxrjMxT_1j2qW3mk4pjvqMBSytCBBpi0tixNkQ@mail.gmail.com> <4073dc47-528e-493b-a28e-a21aff733225@durchholz.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
I forgot to say that I want to create a different FreeBSD flavour that will
have a lot of virtual machines already embedded and ready to work and that
work transparently.
On Fri, Feb 23, 2024 at 10:37 PM Jo Durchholz <jo@durchholz.org> wrote:
> On 23.02.24 19:41, Mario Marietto wrote:
> > To speed up the booting of a bhyve VM I'm using this method :
> >
> > nohup /usr/sbin/bhyve -S -c sockets=2,cores=2,threads=2 -m 8G -w -H -A \
> > -s 0,hostbridge \
> > -s
> >
> 1,virtio-blk,/mnt/zroot2/zroot2/bhyve/img/Linux/Ubuntu2310.img,bootindex=1 \
> > -s 11,hda,play=/dev/dsp,rec=/dev/dsp \
> > -s 13,virtio-net,tap19 \
> > -s 14,virtio-9p,sharename=/ \
> > -s 30,xhci,tablet \
> > -s 31,lpc \
> > -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \
> > vm0:19</dev/null >/dev/null 2>&1 &
> > if test -f nohup.out; then rm -r nohup.out
> > fi
>
> Hmmm... my knee-jerk reaction was that bhyve runs on FreeBSD and I want
> to use a Linux host, but to my surprise, yeah you can run byhve on Linux.
>
> However, it's an additional layer, which means more potential failure
> modes, and it requires extra configuration on the system level which
> means it's another small entry barrier for new contributors.
>
> So... no bhyve for me.
> (Note that this does not mean that there's no merit in the approach!
> Just that it does not fit my project's priorities.)
>
> Do you know how to translate all these bhyve options to a KVM or Vagrant
> incantation? I know too little about either to be confident in what I'd
> produce.
> Maybe a short explanation of each parameter would help? Why is it there,
> what problem does it solve, that kind of information, just to get me
> started so I can focus on those options that are actually relevant to
> the applicance I'm trying to set up.
>
> > I've installed a ssh server within the vm and I connect to it from
> > FreeBSD using ssh -Y user@IP ; it's faster. But the project is not
> > completed. I want to install VirGL to have the graphic acceleration
> > without using the real GPU of the host inside the VM.
>
> Heh. Yet another rabbit hole. Good luck with that!
> I have to say I'm lucky that my project is just a web server so I don't
> need that.
>
> Anyway: Thanks for the info! Knowing what you're doing tells everybody a
> lot about what's routine and what isn't, and that's valuable.
>
> Regards,
> Jo
>
> > On Fri, Feb 23, 2024 at 8:17 PM Jo Durchholz <jo@durchholz.org
> > <mailto:jo@durchholz.org>> wrote:
> >
> > Hi all,
> >
> > I'm in repeatable build land, working in Linux and developing a
> FreeBSD
> > appliance.
> >
> > For tests, I need to run a FreeBSD VM, put some Python code and test
> > data into it, run the script, and get the test results back.
> >
> > Repeatability means: Everything done with the VM needs to be
> scriptable
> > (using a GUI for exploring is okay but things have to translate).
> > Which in turn means that every setup step for a FreeBSD image comes
> > with
> > a pretty high coding and maintenance cost.
> >
> > So my question is:
> > What's the FreeBSD image that has the least number of steps to get
> the
> > base system up and running? I suppose it's the VM-IMAGES section,
> > but is
> > this correct?
> >
> > Follow-up question:
> > The startup time needs to be as fast as possible. Sub-second would be
> > great ("don't disrupt the developer's thought stream").
> > I see the boot process from a vanilla VM-IMAGES image takes multiple
> > seconds; can this be sped up to just a few seconds, or do I need to
> run
> > the setup and create a VM snapshot at which the VM starts for each
> > test run?
> >
> > Regards,
> > Jo
> >
> >
> >
> > --
> > Mario.
>
>
>
--
Mario.
[-- Attachment #2 --]
<div dir="ltr">I forgot to say that I want to create a different FreeBSD flavour that will have a lot of virtual machines already embedded and ready to work and that work transparently. <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 23, 2024 at 10:37 PM Jo Durchholz <<a href="mailto:jo@durchholz.org">jo@durchholz.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 23.02.24 19:41, Mario Marietto wrote:<br>
> To speed up the booting of a bhyve VM I'm using this method :<br>
> <br>
> nohup /usr/sbin/bhyve -S -c sockets=2,cores=2,threads=2 -m 8G -w -H -A \<br>
> -s 0,hostbridge \<br>
> -s <br>
> 1,virtio-blk,/mnt/zroot2/zroot2/bhyve/img/Linux/Ubuntu2310.img,bootindex=1 \<br>
> -s 11,hda,play=/dev/dsp,rec=/dev/dsp \<br>
> -s 13,virtio-net,tap19 \<br>
> -s 14,virtio-9p,sharename=/ \<br>
> -s 30,xhci,tablet \<br>
> -s 31,lpc \<br>
> -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \<br>
> vm0:19</dev/null >/dev/null 2>&1 &<br>
> if test -f nohup.out; then rm -r nohup.out<br>
> fi<br>
<br>
Hmmm... my knee-jerk reaction was that bhyve runs on FreeBSD and I want <br>
to use a Linux host, but to my surprise, yeah you can run byhve on Linux.<br>
<br>
However, it's an additional layer, which means more potential failure <br>
modes, and it requires extra configuration on the system level which <br>
means it's another small entry barrier for new contributors.<br>
<br>
So... no bhyve for me.<br>
(Note that this does not mean that there's no merit in the approach! <br>
Just that it does not fit my project's priorities.)<br>
<br>
Do you know how to translate all these bhyve options to a KVM or Vagrant <br>
incantation? I know too little about either to be confident in what I'd <br>
produce.<br>
Maybe a short explanation of each parameter would help? Why is it there, <br>
what problem does it solve, that kind of information, just to get me <br>
started so I can focus on those options that are actually relevant to <br>
the applicance I'm trying to set up.<br>
<br>
> I've installed a ssh server within the vm and I connect to it from <br>
> FreeBSD using ssh -Y user@IP ; it's faster. But the project is not <br>
> completed. I want to install VirGL to have the graphic acceleration <br>
> without using the real GPU of the host inside the VM.<br>
<br>
Heh. Yet another rabbit hole. Good luck with that!<br>
I have to say I'm lucky that my project is just a web server so I don't <br>
need that.<br>
<br>
Anyway: Thanks for the info! Knowing what you're doing tells everybody a <br>
lot about what's routine and what isn't, and that's valuable.<br>
<br>
Regards,<br>
Jo<br>
<br>
> On Fri, Feb 23, 2024 at 8:17 PM Jo Durchholz <<a href="mailto:jo@durchholz.org" target="_blank">jo@durchholz.org</a> <br>
> <mailto:<a href="mailto:jo@durchholz.org" target="_blank">jo@durchholz.org</a>>> wrote:<br>
> <br>
> Hi all,<br>
> <br>
> I'm in repeatable build land, working in Linux and developing a FreeBSD<br>
> appliance.<br>
> <br>
> For tests, I need to run a FreeBSD VM, put some Python code and test<br>
> data into it, run the script, and get the test results back.<br>
> <br>
> Repeatability means: Everything done with the VM needs to be scriptable<br>
> (using a GUI for exploring is okay but things have to translate).<br>
> Which in turn means that every setup step for a FreeBSD image comes<br>
> with<br>
> a pretty high coding and maintenance cost.<br>
> <br>
> So my question is:<br>
> What's the FreeBSD image that has the least number of steps to get the<br>
> base system up and running? I suppose it's the VM-IMAGES section,<br>
> but is<br>
> this correct?<br>
> <br>
> Follow-up question:<br>
> The startup time needs to be as fast as possible. Sub-second would be<br>
> great ("don't disrupt the developer's thought stream").<br>
> I see the boot process from a vanilla VM-IMAGES image takes multiple<br>
> seconds; can this be sped up to just a few seconds, or do I need to run<br>
> the setup and create a VM snapshot at which the VM starts for each<br>
> test run?<br>
> <br>
> Regards,<br>
> Jo<br>
> <br>
> <br>
> <br>
> -- <br>
> Mario.<br>
<br>
<br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Mario.<br></div>
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B1FSigWWGriyPSB4UGTv9x02ADPnEkLsZq4fQTv7XUi=OKtzw>
