FreeBSD操作系统兼容性说明

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

FreeBSD是一款类Unix操作系统,提供了先进的网络、性能、安全和兼容性等功能。本文主要介绍FreeBSD操作系统各个版本在阿里云平台上的兼容性和支持情况,以及如何跨大版本升级FreeBSD系统。

FreeBSD在阿里云控制台的支持情况

操作系统

镜像ID

是否支持密码创建实例

是否支持密钥创建实例

是否支持控制台修改密码

是否支持控制台修改密钥

FreeBSD 13.0

freebsd_13_0_x86_30G_alibase_20220324.vhd

FreeBSD 12.3

freebsd_12_3_x64_30G_alibase_20220331.vhd

FreeBSD 12.1

freebsd_12_1_x64_30G_alibase_20201022.vhd

FreeBSD 11.4

freebsd_11_4_x64_30G_alibase_20210319.vhd

FreeBSD 11.3

freebsd_11_3_x64_30G_alibase_20200803.vhd

FreeBSD 11.2

freebsd_11_02_64_30G_alibase_20190806.vhd

FreeBSD在阿里云控制台的支持情况示例说明:

FreeBSD 11.4

  • 创建ECS实例时,登录凭证支持设置密码和密钥对。

    image..png

  • ECS实例创建完成后,支持修改密码。

    image..png

FreeBSD 13.0

  • 创建ECS实例时,登录凭证仅支持选择密钥对,不支持设置密码。

    image..png

  • ECS实例创建完成后,不支持修改密钥。

    image..png

FreeBSD 11/12在阿里云运行的支持情况

FreeBSD 11/12系统在阿里云V代以上机型运行需要内核相关补丁的支持,否则无法找到系统盘导致系统无法正常启动。阿里云的FreeBSD公共镜像已为内核添加了补丁,满足系列V及以上的实例规格族的启动需求。具体的实例规格族可通过DescribeInstanceTypeFamilies接口的Generation参数查询。

以下情况可能导致系统无法正常启动,您可以通过FreeBSD内核源码打补丁编译内核的方式,避免或解决系统无法启动的问题。

  • 使用非阿里云提供的FreeBSD镜像及相关自定义镜像创建ECS实例时,系列V及以上实例规格族的ECS实例可能出现无法正常启动的情况。

  • 使用FreeBSD公共镜像创建ECS实例,并使用了freebsd-update等更新内核补丁,可能会导致系列V及以上实例规格族的ECS实例无法正常启动。

    说明

    您可以使用freebsd-update将内核升级到FreeBSD 13的内核版本。具体操作,请参见跨大版本升级FreeBSD系统

本示例以编译FreeBSD 12.4源码为例,介绍如何使用FreeBSD内核源码打补丁并编译内核。

  1. 下载并解压FreeBSD内核源码。

    wget https://mirrors.aliyun.com/freebsd/releases/amd64/12.4-RELEASE/src.txz -O /src.txz
    cd /
    tar -zxvf /src.txz
  2. 下载补丁包。

    本示例中,为virtio驱动打补丁包0001-virtio.patch

    cd /usr/src/sys/dev/virtio/
    wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/0001-virtio.patch
    patch -p4 < 0001-virtio.patch
  3. 复制内核文件,并编译安装内核。

    make -j<N>表示指定编译时的并行数,需要根据您执行编译的环境配置来决定。例如,1 vCPU环境建议设置-j2,即vCPU核数与变量N的比值为1:2

    cd /usr/src/
    cp ./sys/amd64/conf/GENERIC .
    make -j2 buildworld KERNCONF=GENERIC
    make -j2 buildkernel KERNCONF=GENERIC
    make -j2 installkernel KERNCONF=GENERIC
  4. 编译完成后,删除源码。

    rm -rf /usr/src/*
    rm -rf /usr/src/.*

FreeBSD 13在阿里云运行的支持情况

FreeBSD 13及以上系统不需要安装补丁。FreeBSD 13系统已经合入了支持阿里云V代以上机型运行需要的内核相关补丁,相关内核补丁如下:

FreeBSD 13系统合入以上补丁后,还需要添加kern.maxphys=65536内核参数,即可正常运行。具体操作如下:

echo "kern.maxphys=65536" >>/boot/loader.conf

阿里云官方FreeBSD 13系统的内核版本为13.0-Release-p8,已包含以上2个补丁,并配置了相关的内核参数,您可以直接使用。

跨大版本升级FreeBSD系统

本示例以FreeBSD 12.3升级为FreeBSD 13.1为例,介绍如何跨大版本升级FreeBSD系统。

  1. 执行内部升级命令。

    freebsd-update upgrade -r 13.1-RELEASE

命令执行完成如下图所示:

image.png

  1. 按照提示执行安装命令。

    /usr/sbin/freebsd-update install

命令执行完成如下图所示:

image.png

  1. 执行以下命令,配置loader.conf。

    echo "kern.maxphys=65536" >>/boot/loader.conf
  2. 执行以下命令,重启实例。

    警告

    重启实例会造成您的实例停止工作,可能导致业务中断,建议您在非业务高峰期时执行该操作。

    reboot
  3. 执行以下命令,查看版本。

    uname -r

回显信息如下,表示FreeBSD系统已成功升级为13.1版本。

image..png

相关文档

有关FreeBSD的更多信息,请参见FreeBSD官方文档