FreeBSD は、高度なネットワーク機能と高性能、セキュリティ、および互換性を備えた UNIX 系オペレーティングシステムです。このトピックでは、さまざまなバージョンの FreeBSD オペレーティングシステムと Alibaba Cloud プラットフォームとの互換性について説明します。また、FreeBSD をメジャーリリース間でアップグレードする方法についても説明します。
Elastic Compute Service (ECS) コンソールでの、異なるバージョンの FreeBSD によるパスワードまたはキーペアの設定または変更のサポート
バージョン | イメージ ID | インスタンス作成時のパスワードの設定 | インスタンス作成時のキーペアの設定 | ECS コンソールでのパスワードの変更 | ECS コンソールでのキーペアの変更 | |
FreeBSD 14.1 | freebsd_14_1_x64_30G_alibase_20241209.qcow2 | サポートされていません | サポートされています | サポートされていません | サポートされていません | |
FreeBSD 13.4 | freebsd_13_4_x64_30G_alibase_20241209.qcow2 | サポートされていません | サポートされています | サポートされていません | サポートされていません | |
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 による ECS コンソールでのパスワードまたはキーペアの設定または変更のサポートについて例を示します。
FreeBSD 11.4
このバージョンは、インスタンス作成時のパスワードまたはキーペアの設定をサポートしています。

このバージョンは、インスタンス作成後のパスワードのリセットをサポートしています。

FreeBSD 13.0
このバージョンは、インスタンス作成時のキーペアの設定をサポートしています。この FreeBSD バージョンを実行するインスタンスを作成するときに、パスワードを設定することはできません。

このバージョンは、インスタンス作成後のキーペアの変更をサポートしていません。

FreeBSD 11 および 12
第 5 世代以降の ECS インスタンスで FreeBSD 11 または 12 を実行する場合、オペレーティングシステムに必要なカーネルパッチをインストールする必要があります。そうしないと、システムが起動できません。必要なカーネルパッチは、第 5 世代以降のインスタンスファミリーの起動要件を満たすために、Alibaba Cloud FreeBSD パブリックイメージにインストールされています。DescribeInstanceTypeFamilies オペレーションを呼び出し、Generation パラメーターを構成して、第 5 世代以降のインスタンスファミリーをクエリできます。
FreeBSD カーネルソースコードを使用してカーネルパッチをインストールし、カーネルをコンパイルすることで、以下のシナリオにおけるインスタンスの起動失敗を解決および防止できます。
Alibaba Cloud が提供していない FreeBSD イメージ、または FreeBSD イメージから派生したカスタムイメージを使用して、第 5 世代以降のインスタンスファミリーのインスタンスを作成すると、インスタンスの起動に失敗する可能性があります。
FreeBSD パブリックイメージを使用して第 5 世代以降のインスタンスファミリーのインスタンスを作成し、freebsd-update コマンドを使用して新しいパッチでカーネルを更新すると、インスタンスの起動に失敗する可能性があります。
説明freebsd-update コマンドを使用して、カーネルバージョンを FreeBSD 13 のカーネルバージョンに更新できます。詳細については、このトピックの「メジャーリリース間での FreeBSD のアップグレード」セクションをご参照ください。
次の例は、FreeBSD 12.4 のソースコードをコンパイルすることにより、FreeBSD にパッチをインストールし、カーネルをコンパイルする方法を示しています。
FreeBSD カーネルソースコードパッケージをダウンロードして解凍します。
wget https://mirrors.aliyun.com/freebsd/releases/amd64/12.4-RELEASE/src.txz -O /src.txz cd / tar -zxvf /src.txzパッチをダウンロードします。
この例では、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カーネルファイルをコピーし、カーネルをコンパイルしてインストールします。
make -j<N>コマンドの N は、並列で実行されるジョブの数を指定します。コンパイル環境に基づいて N を指定します。たとえば、単一 vCPU 環境の場合は、-j<N> を-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カーネルのコンパイル後、ソースコードを削除します。
rm -rf /usr/src/* rm -rf /usr/src/.*
FreeBSD 13
FreeBSD 13 には、第 5 世代以降の ECS インスタンスに必要な以下のカーネルパッチが含まれており、手動でカーネルパッチをインストールする必要はありません。
FreeBSD 13 が想定どおりに動作する前に、次のコマンドを実行して kern.maxphys カーネルパラメーターを追加し、パラメーターを 65536 に設定する必要があります。
echo "kern.maxphys=65536" >>/boot/loader.confAlibaba Cloud が提供する FreeBSD 13 のカーネルバージョンは 13.0-Release-p8 で、これはすぐに使用できるバージョンであり、2 つ以上のパッチが含まれており、必要なカーネルパラメーターが構成されています。
メジャーリリース間での FreeBSD のアップグレード
このセクションでは、FreeBSD をメジャーリリース間でアップグレードする方法について説明します。この例では、FreeBSD を 12.3 から 13.1 にアップグレードします。
次の内部アップグレードコマンドを実行します。
freebsd-update upgrade -r 13.1-RELEASE
期待される出力:

プロンプトが表示されたら、次のインストールコマンドを実行します。
/usr/sbin/freebsd-update install
期待される出力:

オペレーティングシステムのパフォーマンスを向上させるために、次のコマンドを実行して loader.conf ファイルを構成します。
echo "kern.maxphys=65536" >>/boot/loader.conf次のコマンドを実行して、インスタンスを再起動します。
警告再起動操作により、インスタンスは短時間停止し、インスタンスで実行されているサービスが中断される可能性があります。オフピーク時にインスタンスを再起動することをお勧めします。
reboot次のコマンドを実行して、FreeBSD のバージョンを確認します。
uname -r
次の情報が返された場合、FreeBSD は 13.1 にアップグレードされています。

参照資料
FreeBSD の詳細については、FreeBSD について をご参照ください。