Powered by SmartDoc

3.2 とりあえずチュートリアル

  1. sysutils/vm-bhyveのインストール
    # cd /var/ports/bhykx/sysutils/vm-bhyve/
    # make install
    
  2. vmを立ち上げる
    # vm init
    # ll -R /vm
    total 2
    drwxr-xr-x  2 root  wheel  4 Nov 27 05:59 .config/
    drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .iso/
    drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .templates/
    
    /vm/.config:
    total 1
    -rw-r--r--  1 root  wheel  0 Nov 27 05:59 null.iso
    -rw-r--r--  1 root  wheel  0 Nov 27 05:59 system.conf
    
    /vm/.iso:
    total 0
    
    /vm/.templates:
    total 0
    root@bhyve:~ # 
    
  3. とりあえずVMを作ってみる

     vm(8) の QUICKSTART にしたがって...

    1. `vm switch create public'
      # vm switch create public
      # ll -R /vm
      total 2
      drwxr-xr-x  2 root  wheel  4 Nov 27 05:59 .config/
      drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .iso/
      drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .templates/
      
      /vm/.config:
      total 5
      -rw-r--r--  1 root  wheel   0 Nov 27 05:59 null.iso
      -rw-r--r--  1 root  wheel  21 Nov 27 22:12 system.conf
      
      /vm/.iso:
      total 0
      
      /vm/.templates:
      total 0
      # cat /vm/.config/system.conf 
      switch_list="public"
      # ifconfig
      em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
          mtu 1500
      options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:58
      inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
          mtu 1500
      options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:59
      inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
      options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
      inet6 ::1 prefixlen 128 
      inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
      inet 127.0.0.1 netmask 0xff000000 
      nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
      groups: lo 
      bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      description: vm-public
      ether 02:89:ea:c6:b2:00
      nd6 options=1<PERFORMNUD>
      groups: bridge 
      id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
      maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
      root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
      # 
      
      • /vm/.configにsystem.confとnull.isoが作られる
        • system.confの中身は`switch_list="public"'
          • これはswitchの識別名
        • null.isoはISOイメージのテンプレートか?
      • bridge0インターフェースが`vm-public'という名前で作られる
    2. `vm switch add public em0'
      # vm switch add public em0
      # ifconfig 
      em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:58
      inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
          mtu 1500
      options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:59
      inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
      options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
      inet6 ::1 prefixlen 128 
      inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
      inet 127.0.0.1 netmask 0xff000000 
      nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
      groups: lo 
      bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      description: vm-public
      ether 02:89:ea:c6:b2:00
      nd6 options=1<PERFORMNUD>
      groups: bridge 
      id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
      maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
      root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
      member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
      ifmaxaddr 0 port 1 priority 128 path cost 20000
      # ll -R /vm
      total 2
      drwxr-xr-x  2 root  wheel  4 Nov 27 05:59 .config/
      drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .iso/
      drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .templates/
      
      /vm/.config:
      total 5
      -rw-r--r--  1 root  wheel   0 Nov 27 05:59 null.iso
      -rw-r--r--  1 root  wheel  40 Nov 27 22:31 system.conf
      
      /vm/.iso:
      total 0
      
      /vm/.templates:
      total 0
      # cat /vm/.config/system.conf
      switch_list="public"
      ports_public="em0"
      # 
      
      • 外(em0)とbridgeを継げる
        • 外部ポートがem0であることがsystem.confに書込まれる
    3. ISOイメージをダウンロード
      # vm iso \
          ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-disc1.iso \
      /vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso 100% of 696 MB 4668 \
          kBps 02m33s
      # ll -R /vm
      total 2
      drwxr-xr-x  2 root  wheel  4 Nov 27 05:59 .config/
      drwxr-xr-x  2 root  wheel  3 Nov 27 22:48 .iso/
      drwxr-xr-x  2 root  wheel  2 Nov 27 05:59 .templates/
      
      /vm/.config:
      total 5
      -rw-r--r--  1 root  wheel   0 Nov 27 05:59 null.iso
      -rw-r--r--  1 root  wheel  40 Nov 27 22:31 system.conf
      
      /vm/.iso:
      total 713321
      -rw-r--r-- 1 root wheel 729845760 Mar 25 2016 \
          FreeBSD-10.3-RELEASE-amd64-disc1.iso
      
      /vm/.templates:
      total 0
      # 
      
      • ダウンロードしたファイルは/vm/.isoに入る
    4. `vm create my-guest'
      # vm create my-guest
      /usr/local/sbin/vm: ERROR: unable to find template \
          /vm/.templates/default.conf
      # ll /vm/.templates/
      total 0
      # cp /usr/local/share/examples/vm-bhyve/default.conf \
          /vm/.templates/
      # cat /vm/.templates/default.conf 
      loader="bhyveload"
      cpu=1
      memory=256M
      network0_type="virtio-net"
      network0_switch="public"
      disk0_type="virtio-blk"
      disk0_name="disk0.img"
      # vm create my-guest
      # ll -Rh /vm
      total 2
      drwxr-xr-x  2 root  wheel     4B Nov 27 05:59 .config/
      drwxr-xr-x  2 root  wheel     3B Nov 27 22:48 .iso/
      drwxr-xr-x  2 root  wheel     3B Nov 28 00:22 .templates/
      drwxr-xr-x  2 root  wheel     4B Nov 28 00:25 my-guest/
      
      /vm/.config:
      total 5
      -rw-r--r--  1 root  wheel     0B Nov 27 05:59 null.iso
      -rw-r--r--  1 root  wheel    40B Nov 27 22:31 system.conf
      
      /vm/.iso:
      total 713321
      -rw-r--r-- 1 root wheel 696M Mar 25 2016 \
          FreeBSD-10.3-RELEASE-amd64-disc1.iso
      
      /vm/.templates:
      total 5
      -rw-r--r--  1 root  wheel   136B Nov 28 00:25 default.conf
      
      /vm/my-guest:
      total 5
      -rw-r--r--  1 root  wheel    20G Nov 28 00:25 disk0.img
      -rw-r--r--  1 root  wheel   180B Nov 28 00:25 my-guest.conf
      # cat /vm/my-guest/my-guest.conf 
      loader="bhyveload"
      cpu=1
      memory=256M
      network0_type="virtio-net"
      network0_switch="public"
      disk0_type="virtio-blk"
      disk0_name="disk0.img"
      uuid="c368152e-b4b5-11e6-b621-003048dcbe58"
      # mdconfig -a -t vnode -f /vm/my-guest/disk0.img 
      md0
      # gpart show md0
      gpart: No such geom: md0.
      # mdconfig -l
      md0 
      # mdconfig -d -u md0
      # mdconfig -l
      # 
      
      • 指定したVMの雛型が作成される
        • default.confにしたがって空のVMイメージを作成
          • /vm/.templates/default.confは予め作っておかないといけない
            • とりあえず/usr/local/share/examples/vm-bhyve/default.confをコピー
          • ネットワーク名: public
          • VMファイル名(disk0_name): disk0.img
            • /vm/my-guestにVMイメージ(disk0.img)が作成される
              • デフォルトは20GB (変えたいときは`-s'で指定)
              • `truncate -s 20g disk0.img'しただけ
            • /vm/my-guest/my-guest.confが作成される
              • /vm/.templates/default.conf + "VMのUUID"
    5. `vm install my-guest FreeBSD-10.3-RELEASE-amd64-disc1.iso'
      # vm install my-guest FreeBSD-10.3-RELEASE-amd64-disc1.iso
      # ll -Rh /vm
      total 10
      drwxr-xr-x  2 root  wheel     4B Dec  1 01:54 .config/
      drwxr-xr-x  2 root  wheel     3B Dec  1 05:38 .iso/
      drwxr-xr-x  2 root  wheel     3B Dec  1 05:40 .templates/
      drwxr-xr-x  2 root  wheel     7B Dec  1 05:42 my-guest/
      
      /vm/.config:
      total 5
      -rw-r--r--  1 root  wheel     0B Dec  1 01:54 null.iso
      -rw-r--r--  1 root  wheel    40B Dec  1 05:37 system.conf
      
      /vm/.iso:
      total 713321
      -rw-r--r-- 1 root wheel 696M Mar 25 2016 \
          FreeBSD-10.3-RELEASE-amd64-disc1.iso
      
      /vm/.templates:
      total 5
      -r--r--r--  1 root  wheel   136B Dec  1 05:40 default.conf
      
      /vm/my-guest:
      total 19
      -rw-r--r--  1 root  wheel    17B Dec  1 05:42 console
      -rw-r--r--  1 root  wheel    20G Dec  1 05:41 disk0.img
      -r--r--r--  1 root  wheel   213B Dec  1 05:42 my-guest.conf
      -rw-r--r--  1 root  wheel    15B Dec  1 05:42 run.lock
      -rw-r--r--  1 root  wheel   1.2K Dec  1 05:42 vm-bhyve.log
      # cat /vm/my-guest/console
      com1=/dev/nmdm0B
      # cat /vm/my-guest/my-guest.conf
      loader="bhyveload"
      cpu=1
      memory=256M
      network0_type="virtio-net"
      network0_switch="public"
      disk0_type="virtio-blk"
      disk0_name="disk0.img"
      uuid="5717debc-b73d-11e6-8a34-003048dcbe58"
      network0_mac="58:9c:fc:01:9b:e7"
      # 
      # cat /vm/my-guest/run.lock
      vm.openedu.org
      # cat /vm/my-guest/vm-bhyve.log 
      Dec 01 05:42:41: initialising
      Dec 01 05:42:41:  [loader: bhyveload]
      Dec 01 05:42:41:  [uefi: no]
      Dec 01 05:42:41:  [cpu: 1]
      Dec 01 05:42:41:  [memory: 256M]
      Dec 01 05:42:41:  [hostbridge: standard]
      Dec 01 05:42:41:  [com ports: com1]
      Dec 01 05:42:41:  [uuid: 5717debc-b73d-11e6-8a34-003048dcbe58]
      Dec 01 05:42:41:  [utctime: no]
      Dec 01 05:42:41:  [debug mode: no]
      Dec 01 05:42:41:  [primary disk: disk0.img]
      Dec 01 05:42:41:  [primary disk dev: file]
      Dec 01 05:42:41: generated static mac 58:9c:fc:01:9b:e7 (based on \
          'my-guest:0:1480538561:0')
      Dec 01 05:42:41: initialising network device tap0
      Dec 01 05:42:41: adding tap0 -> bridge0 (public)
      Dec 01 05:42:41: booting
      Dec 01 05:42:41: bhyveload -c /dev/nmdm0A -m 256M -e \
          autoboot_delay=3 -d \
          /vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso my-guest
      Dec 01 05:42:45: [bhyve options: -c 1 -m 256M -AHP -U \
          5717debc-b73d-11e6-8a34-003048dcbe58]
      Dec 01 05:42:45: [bhyve devices: -s 0,hostbridge -s 31,lpc -s \
          4:0,virtio-blk,/vm/my-guest/disk0.img -s \
          5:0,virtio-net,tap0,mac=58:9c:fc:01:9b:e7]
      Dec 01 05:42:45:  [bhyve console: -l com1,/dev/nmdm0A]
      Dec 01 05:42:45: [bhyve iso device: -s \
          3:0,ahci-cd,/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso]
      Dec 01 05:42:45: starting bhyve (run 1)
      # ifconfig 
      em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      options=42098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:58
      inet 202.216.24.28 netmask 0xfffffff8 broadcast 202.216.24.31 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 \
          mtu 1500
      options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
      ether 00:30:48:dc:be:59
      inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255 
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect (1000baseT <full-duplex>)
      status: active
      lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
      options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
      inet6 ::1 prefixlen 128 
      inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
      inet 127.0.0.1 netmask 0xff000000 
      nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
      groups: lo 
      bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      description: vm-public
      ether 02:b1:83:00:a0:00
      nd6 options=1<PERFORMNUD>
      groups: bridge 
      id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
      maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
      root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
      member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
      ifmaxaddr 0 port 5 priority 128 path cost 2000000
      member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
      ifmaxaddr 0 port 1 priority 128 path cost 20000
      tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> \
          metric 0 mtu 1500
      description: vmnet-my-guest-0-public
      options=80000<LINKSTATE>
      ether 00:bd:04:74:8f:00
      nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      media: Ethernet autoselect
      status: active
      groups: tap 
      Opened by PID 25218
      # ps -ax
      PID TT  STAT       TIME COMMAND
      0  -  DLs     0:05.48 [kernel]
      1  -  ILs     0:00.10 /sbin/init --
      2  -  DL      0:00.00 [crypto]
      3  -  DL      0:00.00 [crypto returns]
      4  -  DL      0:00.01 [cam]
      5  -  DL      0:00.00 [aac0aif]
      6  -  DL      0:00.00 [fdc0]
      7  -  DL      0:01.63 [zfskern]
      8  -  DL      0:00.00 [sctp_iterator]
      9  -  DL      0:00.58 [rand_harvestq]
      10  -  DL      0:00.00 [audit]
      11  -  RL   7156:51.53 [idle]
      12  -  WL      0:15.59 [intr]
      13  -  DL      0:00.19 [geom]
      14  -  DL      0:00.95 [usb]
      15  -  DL      0:00.00 [soaiod1]
      16  -  DL      0:00.00 [soaiod2]
      17  -  DL      0:00.00 [soaiod3]
      18  -  DL      0:00.00 [soaiod4]
      19  -  DL      0:00.39 [enc_daemon0]
      20  -  DL      0:00.23 [pagedaemon]
      21  -  DL      0:00.00 [vmdaemon]
      22  -  DL      0:00.07 [bufdaemon]
      23  -  DL      0:00.06 [bufspacedaemon]
      24  -  DL      0:00.54 [syncer]
      25  -  DL      0:00.06 [vnlru]
      128  -  Is      0:00.00 adjkerntz -i
      382 - Is 0:00.00 /usr/sbin/moused -p /dev/ums0 -t auto -I \
          /var/run/moused.ums0.pid
      399  -  Is      0:00.01 /sbin/devd
      446 - Is 0:00.06 /usr/sbin/unbound -c /var/unbound/unbound.conf
      480  -  Ss      0:00.07 /usr/sbin/syslogd -s
      673  -  Is      0:00.00 /usr/sbin/sshd
      677  -  Ss      0:00.08 /usr/sbin/cron -s
      693  -  Is      0:00.00 /usr/sbin/moused -p /dev/psm0 -t auto
      754  -  Is      0:00.02 sshd: admin [priv] (sshd)
      756  -  S       0:00.19 sshd: admin@pts/0 (sshd)
      24865  -  Is      0:00.02 sshd: admin [priv] (sshd)
      24867  -  I       0:00.01 sshd: admin@pts/1 (sshd)
      737 v0  Is+     0:00.00 /usr/libexec/getty Pc ttyv0
      738 v1  Is+     0:00.00 /usr/libexec/getty Pc ttyv1
      739 v2  Is+     0:00.00 /usr/libexec/getty Pc ttyv2
      740 v3  Is+     0:00.00 /usr/libexec/getty Pc ttyv3
      741 v4  Is+     0:00.00 /usr/libexec/getty Pc ttyv4
      742 v5  Is+     0:00.00 /usr/libexec/getty Pc ttyv5
      743 v6  Is+     0:00.00 /usr/libexec/getty Pc ttyv6
      744 v7  Is+     0:00.00 /usr/libexec/getty Pc ttyv7
      757  0  Is      0:00.04 -tcsh (tcsh)
      6670  0  I       0:00.01 su
      6671  0  S       0:00.06 _su (csh)
      25034 0 I 0:00.02 /bin/sh /usr/local/sbin/vm _run my-guest \
          FreeBSD-10.3-RELEASE-amd64-disc1.iso
      25218  0  I       0:06.48 bhyve: my-guest (bhyve)
      25245  0  R+      0:00.00 ps -ax
      24868  1  Is      0:00.01 -tcsh (tcsh)
      24871  1  I+      0:00.01 /bin/sh /usr/bin/man vm
      24882  1  I+      0:00.01 more
      # 
      
      • VM起動環境の生成
        • 初期化
          • ローダー: bhyveload (my-guest.conf)
          • UEFI:無し
          • CPU: 1個(my-guest.conf)
          • メモリ: 256MB (my-guest.conf)
          • ホストブリッジ:標準
          • シリアルポート: COM1
          • UUID: 5717debc-b73d-11e6-8a34-003048dcbe58 (my-guest.conf)
          • UTC時間:使用しない
          • デバッグモード:使用しない
          • ディスク: disk0.img (my-guest.conf)
          • ディスクデバイス:ファイル
        • イーサアドレス(static MAC address)の生成
          • "58:9c:fc:01:9b:e7"
        • ネットワークデバイスの生成
          • tapデバイス(/dev/tap0)を生成
          • ブリッジに接続(tap0 -> bridge0)
      • VMの起動
        • VMを生成し,指定したISOイメージをロード(bhyveload)
          • シリアルコンソール: /dev/nmdmA
          • メモリ: 256MB (my-guest.conf)
          • ロード待ち時間: 3秒(autoboot_delay=3(loader(8))
          • ゲストブートイメージ: FreeBSD-10.3-RELEASE-amd64-disc1.iso
          • VM名: my-guest
        • ゲストOSの起動(bhyve)
          • CPU: 1個(my-guest.conf)
          • メモリ: 256MB (my-guest.conf)
          • ACPIを生成(`-A')
          • HLT時仮想スレッドを生成(`-H')
          • PAUSE時強制停止(`-P')
          • UUID: 5717debc-b73d-11e6-8a34-003048dcbe58 (my-guest.conf)
          • 仮想PCIスロットの設定
            • スロット0:ホストブリッジ(`-s 0,hostbridge')
            • スロット3:ブートISOイメージ起動用ATAPI CD/DVD AHCI(`-s 3:0,ahci-cd,/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso')
            • スロット4: disk0.imgの仮想ブロックデバイス(`-s 4:0,virtio-blk,/vm/my-guest/disk0.img') (my-guest.conf)
            • スロット5: /dev/tap0でMACアドレス"58:9c:fc:01:9b:e7"の仮想ネットワーク(`-s 5:0,virtio-net,tap0,mac=58:9c:fc:01:9b:e7')
            • スロット31: COM1,COM2用LPC PCI-ISAブリッジ(`-s 31,lpc')
          • 仮想コンソールの設定
            • COM1として/dev/nmdm0Aを使用(`-l com1,/dev/nmdm0A')
      • bhyveプロセスは`bhyve: my-guest (bhyve)'として表示
    6. `vm console my-guest'
      • ISOイメージが立ち上がり,FreeBSDのインストールが始まる
        • uxtermで起動すること
        • コンソールから抜け出るには常に[~C-d]
      • `shutdown -p now'するとVMは停止する
      • 基本的なvmコマンド
        • VMの一覧: `vm list'
        • VMの停止: `vm stop VM名'
        • VMの起動: `vm start VM名'
      • VMホストの起動時には,`vm init'->`vm startall'が実行
        • 必要なカーネルモジュールのロード(init)
        • tapデバイスの初期化(init)
        • 仮想スィッチの生成(init)
          • スィッチ(switch)とは,VMが繋がるネットワークのこと
        • 指定された全てのVMの起動(vm startall)
          • ホスト起動時に自動的に起動するVMはvm_listで指定(rc.conf)
          • 起動間隔はvm_delayで指定.デフォルト: 5秒(rc.conf)