Ubuntu 无法在 FreeBSD/Bhyve 中安装

标签 ubuntu virtualization freebsd

FreeBSD 虚拟化专家的问题。我发现一些教程解释了如何在 bhyve(FreeBSD 的虚拟化引擎)中安装 Ubuntu,但在格式化虚拟磁盘后它失败了。有人在 Ubuntu 16.04 LTS 上成功了吗?这是我的启动脚本:

#!/bin/sh
LOADER=/usr/sbin/bhyveload
BHYVECTL=/usr/sbin/bhyvectl
FBSDRUN=/usr/sbin/bhyve
DEFAULT_MEMSIZE=2048M
DEFAULT_CPUS=2
DEFAULT_TAPDEV=tap5
DEFAULT_CONSOLE=/dev/nmdm5A
DPY="w=1024,h=768"
UEFI=/usr/local/share/uefi-firmware/BHYVE_UEFI.fd
DEVICESMAP="/home/bhyve/ubuweb/devices.map"
DEFAULT_VIRTIO_DISK="/home/bhyve/ubuweb/ubuweb.img"
DEFAULT_ISOFILE="/home/bhyve/ISO/ubuntu-16.04-server-amd64.iso"

case $1 in
  install)
    bhyvectl --vm=ubuntu --destroy
    grub-bhyve -r cd0 -m ${DEVICESMAP} -M 2048 ubuntu
    bhyve -c ${DEFAULT_CPUS} -m ${DEFAULT_MEMSIZE} -H -P -A \
        -l com1,${DEFAULT_CONSOLE} \
        -s 0:0,hostbridge \
        -s 1:0,lpc \
        -s 2:0,virtio-net,${DEFAULT_TAPDEV} \
        -s 3,ahci-cd,${DEFAULT_ISOFILE} \
        -s 4,virtio-blk,${DEFAULT_VIRTIO_DISK} \
        -s 5,fbuf,tcp=0.0.0.0:5900,$DPY \
        ubuntu
    ;;

  *)
    bhyvectl --vm=ubuntu --destroy
    grub-bhyve -r hd0,msdos1 -m ${DEVICESMAP} -M ${DEFAULT_MEMSIZE} \
            -d /grub ubuntu -n -c /dev/null
    bhyve -c ${DEFAULT_CPUS} -m ${DEFAULT_MEMSIZE} -H -P -A \
            -l com1,${DEFAULT_CONSOLE} \
            -s 0:0,hostbridge \
            -s 1:0,lpc \
            -s 2:0,virtio-net,${DEFAULT_TAPDEV} \
            -s 3,ahci-cd,${DEFAULT_ISOFILE} \
            -s 4,virtio-blk,${DEFAULT_VIRTIO_DISK} \
            -s 5,fbuf,tcp=0.0.0.0:5900,${DPY} \
            ubuntu
    ;;
esac

安装程序顺利启动,因此我预计此脚本不会出现重大问题。我使用类似的脚本启动并运行了 OpenSuse,没有任何问题。如果相关,CPU 是 AMD FX(tm)-6300。提前致谢。

最佳答案

我刚刚使用 vm-bhyve 运行了 16.04.3 LTS(服务器) (bhyve 之上的包装器,可作为端口/安装使用 pkg install vm-bhyve grub2-bhyve)及其基本的 Ubuntu 模板。从那里,您可以查看 vm 的目录(无论您在配置期间指定 vm_dir 的位置)并找到 vm 的日志。在该日志中,您将看到使用了哪些 bhyve 选项。不过,看起来大多数选项都包含在 vm-bhyve 的配置中;也许没有必要直接使用 bhyve。

我发现在 Ubuntu 安装分区过程中,选择 LVM 选项会导致 VM 启动到 grub 控制台。但当我选择引导式非 LVM 选项时,它终于奏效了。

关于Ubuntu 无法在 FreeBSD/Bhyve 中安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44104015/

相关文章:

c - FreeBSD的namei()调用的LOOKUP操作及其错误

freebsd - 修复容易出现 CVE-2018-16868 的 gnutls

linux - 如何在Linux(Debian/Ubuntu)中正确注册特定的GCC版本?

linux - mongodb 将数据保存在两个地方

Python docker sdk如何在container.run中设置cpu计数

virtualization - 如何确定 xen DomU 是 HVM 还是 PV

x86 - INTEL VT-D 根表和上下文表关系

freebsd - 是否有访问 ZFS 文件系统的 API

node.js - 构建 Knockout.js 时出现 fatal error

php - 我怎样才能启用moodle?