Linux on BHyVe in 10.0-RELEASE

Jonas Bülow jonas.bulow at gmail.com
Thu Jan 23 22:20:53 UTC 2014


Hi,

I managed to get it working again. I did the last grub step wrong. So, the
step-by-step instructions how to install ubuntu 13.10 are:

kldload vmm
kldload if_tap
kldload bridgestp
kldload if_bridge
ifconfig tap0 create
ifconfig bridge0 create
ifconfig bridge0 up
ifconfig bridge0 addm tap0 addm em0

mkdir ubuntu
...fetch ubuntu13.10 iso image and put it in ubuntu/ubuntu.iso
create the file ubuntu/device.map with the following content (2 lines):
(hd0) ./ubuntu/ubuntu.img
(cd0) ./ubuntu/ubuntu.iso

truncate -s 8G ubuntu/ubuntu.img

grub-bhyve -r cd0 -m ./ubuntu/device.map -M 2048 ubuntu
/usr/sbin/bhyve -c 1 -m 2048 -A -I -H -s 0,hostbridge -s
2,virtio-blk,./ubuntu/ubuntu.img -s 3,virtio-net,tap0 -s
4,ahci-cd,./ubuntu/ubuntu.iso -S 31,uart,stdio ubuntu

...install ubuntu.

bhyvectl --destroy --vm=ubuntu

grub-bhyve -r hd0,msdos1 -m ./ubuntu/device.map -M 2048 ubuntu
...select ubuntu
...see some errors:

error: file `/boot/grub/x86_64-emu/all_video.mod' not found.

error: file `/boot/grub/x86_64-emu/gzio.mod' not found.

error: file `/boot/grub/x86_64-emu/part_msdos.mod' not found.

error: file `/boot/grub/x86_64-emu/ext2.mod' not found.

/usr/sbin/bhyve -c 1 -m 2048 -A -I -H -s 0,hostbridge -s
2,virtio-blk,./ubuntu/ubuntu.img -s 3,virtio-net,tap0 -s
4,ahci-cd,./ubuntu/ubuntu.iso -S 31,uart,stdio ubuntu
...boots
...login

jonas at ubuntu:~$ lsb_release  -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 13.10

Release: 13.10

Codename: saucy

jonas at ubuntu:~$ uname -a

Linux ubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
x86_64 x86_64 x86_64 GNU/Linux


Note: there is no clean way of exiting a bhyve vm other than killing it
(after halt or shutdown in the guest). The vm must be destroyed before
starting it again. Trying to run the same bhyve command line again just
hangs (vmidle, high CPU). procstat gives:

  PID    TID COMM             TDNAME           KSTACK

 2381 100531 bhyve            mevent           <running>

 2381 100532 bhyve            vtnet-3:0 tx     mi_switch
sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_wait
__umtx_op_wait_uint_private amd64_syscall Xfast_syscall

 2381 100533 bhyve            vcpu 0           mi_switch sleepq_timedwait
msleep_spin_sbt vm_run vmmdev_ioctl devfs_ioctl_f kern_ioctl sys_ioctl
amd64_syscall Xfast_syscall



/J




On Thu, Jan 23, 2014 at 10:45 PM, Neel Natu <neelnatu at gmail.com> wrote:

> Hi Jonas,
>
> On Thu, Jan 23, 2014 at 1:02 PM, Jonas Bülow <jonas.bulow at gmail.com>
> wrote:
> > I had one working ubuntu13.10 vm instance but I'm unable to reproduce it.
> > When I try to start the vm I get:
> >
> > /usr/sbin/bhyve -c 1 -m 2048 -A -I -H -s 0,hostbridge -s
> > 2,virtio-blk,./vm/vm1/vm1.img -s 3,virtio-net,tap1 -s
> > 4,ahci-cd,./vm/vm1/vm1.iso -S 31,uart,stdio vm1
> >
> > vm exit[0]
> >
> >           reason VMX
> >
> >                                    rip 0x0000000000000000
> >
> >
> > inst_length 0
> >
> >
> >                       error 0
> >
> >
> >                                               exit_reason 33
> >
> >
> >
> > qualification 0x0000000000000000
> >
>
> Looks like you are running into every possible problem there is :-)
>
> Anyways, could you confirm that you are loading the guest kernel into
> 'vm1' using grub-bhyve before executing the command above?
>
> best
> Neel
>
> >
> >
> >
> >
> > /J
> >
> >
> > On Thu, Jan 23, 2014 at 5:00 PM, Jonas Bülow <jonas.bulow at gmail.com>
> wrote:
> >
> >> I will describe the steps when I manage to reproduce the installation.
> >> Right now I get stuck with undestroyable vm instances:
> >>
> >> root at bulow:/mnt/bhyve-script # ls /dev/vmm/
> >>
> >> lin0
> >>
> >> root at bulow:/mnt/bhyve-script # bhyvectl --destroy --vm=lin0
> >>
> >> errno = 22
> >>
> >>
> >> On Thu, Jan 23, 2014 at 3:44 PM, Matthias Gamsjager <
> mgamsjager at gmail.com>wrote:
> >>
> >>> Could you elaborate what you did to get it working?
> >>>
> >>>
> >>> On Thu, Jan 23, 2014 at 3:41 PM, Jonas Bülow <jonas.bulow at gmail.com
> >wrote:
> >>>
> >>>> Success. I have a working ubuntu 13.10 running under bhyve on FreeBSD
> >>>> 10.0-RELEASE.
> >>>>
> >>>>
> >>>>
> >>>> /J
> >>>>
> >>>>
> >>>> On Thu, Jan 23, 2014 at 11:37 AM, Aryeh Friedman
> >>>> <aryeh.friedman at gmail.com>wrote:
> >>>>
> >>>> >
> >>>> >
> >>>> >
> >>>> > On Thu, Jan 23, 2014 at 5:05 AM, Jonas Bülow <jonas.bulow at gmail.com
> >>>> >wrote:
> >>>> >
> >>>> >> I do use the precanned bhyve-script "vm0" (if that is what you
> mean).
> >>>> It
> >>>> >> explicitly mentions linux support. bhyveload can't be user for
> other
> >>>> images
> >>>> >> than FreeBSD so I don't know how to use your script for a linux OS
> >>>> >>
> >>>> >
> >>>> > Since I have not used bhyve-grub personally yet I can not recommend
> >>>> what
> >>>> > the correct loader command line but if bhyve-script is in anyway
> >>>> related to
> >>>> > vmrun.sh I would be highly suspicious of any command lines you
> manage
> >>>> to
> >>>> > extract from it since they are often not the ones actual called.
> >>>> >
> >>>> >
> >>>> >>
> >>>> >> I assume the image is file backed as I have not assigned a
> dedicated
> >>>> >> partition to the vm (and I don't know how to do that).
> >>>> >>
> >>>> >
> >>>> > You can keep them anywhere no need for a special volume (mater of
> fact
> >>>> I
> >>>> > was just reusing the name of one of the diretoriess that PC creates
> >>>> during
> >>>> > install even without it being a different vol [just assumes any FS
> >>>> > boundaries are the host OS's problem)... you can put the disk image
> any
> >>>> > where (your home directory would be fine for example)
> >>>> >
> >>>> _______________________________________________
> >>>> freebsd-virtualization at freebsd.org mailing list
> >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> >>>> To unsubscribe, send any mail to "
> >>>> freebsd-virtualization-unsubscribe at freebsd.org"
> >>>>
> >>>
> >>>
> >>
> > _______________________________________________
> > freebsd-virtualization at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> > To unsubscribe, send any mail to "
> freebsd-virtualization-unsubscribe at freebsd.org"
>


More information about the freebsd-virtualization mailing list