This article describes the compatibility of different FreeBSD versions on Alibaba Cloud and explains how to perform a major version upgrade.
Support in the Alibaba Cloud console
|
Operating system |
Image id |
Password creation |
Key pair creation |
Console password change |
Console key pair change |
|
FreeBSD 15.0 |
freebsd_15_0_x64_30G_alibase_20260320.qcow2 |
No |
Yes |
Yes |
Yes |
|
FreeBSD 14.4 |
freebsd_14_4_x64_30G_alibase_20260320.qcow2 |
No |
Yes |
Yes |
Yes |
|
FreeBSD 14.3 |
freebsd_14_3_x64_30G_alibase_20260320.qcow2 |
No |
Yes |
Yes |
Yes |
|
FreeBSD 14.1 |
freebsd_14_1_x64_30G_alibase_20241209.qcow2 |
No |
Yes |
No |
No |
|
FreeBSD 13.5 |
freebsd_13_5_x64_30G_alibase_20260320.qcow2 |
No |
Yes |
Yes |
Yes |
|
FreeBSD 13.4 |
freebsd_13_4_x64_30G_alibase_20241209.qcow2 |
No |
Yes |
No |
No |
|
FreeBSD 13.0 |
freebsd_13_0_x86_30G_alibase_20220324.vhd |
No |
Yes |
No |
No |
|
FreeBSD 12.3 |
freebsd_12_3_x64_30G_alibase_20220331.vhd |
No |
Yes |
No |
No |
|
FreeBSD 12.1 |
freebsd_12_1_x64_30G_alibase_20201022.vhd |
No |
Yes |
No |
No |
|
FreeBSD 11.4 |
freebsd_11_4_x64_30G_alibase_20210319.vhd |
Yes |
Yes |
Yes |
Yes |
|
FreeBSD 11.3 |
freebsd_11_3_x64_30G_alibase_20200803.vhd |
Yes |
Yes |
Yes |
Yes |
|
FreeBSD 11.2 |
freebsd_11_02_64_30G_alibase_20190806.vhd |
Yes |
Yes |
Yes |
Yes |
The following examples illustrate the support differences for FreeBSD in the Alibaba Cloud console:
FreeBSD 11.4
-
When you create an ECS instance, you can set a password or a key pair as the login credential.
The login credential options are Key Pair, Custom Password, and Set After Creation. If you select Key Pair, the default username is
root. From the Key Pair drop-down list, select an existing key pair or click Create Key Pair. -
After the ECS instance is created, you can change the password.
On the instance details page, click Reset Instance Password in the upper-right corner.
FreeBSD 13.0
-
When you create an ECS instance, you can only use a key pair as the login credential. You cannot set a password.
The default username is root.
-
After the ECS instance is created, the key pair cannot be changed.
For this version, changing the key pair or resetting the password from the console is not supported.
FreeBSD 11/12 on Alibaba Cloud
FreeBSD 11 and 12 require kernel patches to run on fifth-generation or later instance families. Without these patches, the operating system cannot start. The public images for FreeBSD on Alibaba Cloud include these patches and support fifth-generation and later instances. You can query the instance family generation by calling the DescribeInstanceTypeFamilies API operation and checking the Generation parameter.
The operating system may fail to start in the following scenarios. To avoid or resolve this issue, you can patch and compile the FreeBSD kernel source code.
-
If you create an ECS instance from a non-Alibaba Cloud FreeBSD image or a related custom image, the instance may fail to start if it belongs to a fifth-generation or later instance family.
-
If you create an ECS instance from a FreeBSD public image and then use a tool such as freebsd-update to apply system updates, the instance may fail to start because the required kernel patches may be overwritten.
NoteYou can use freebsd-update to upgrade the system to a FreeBSD 13 version. For details, see Upgrade FreeBSD across major versions.
This example shows how to patch and compile the kernel by using FreeBSD 12.4 source code.
-
Download and extract the FreeBSD kernel source code.
wget https://mirrors.aliyun.com/freebsd/releases/amd64/12.4-RELEASE/src.txz -O /src.txz cd / tar -zxvf /src.txz -
Download the patch.
In this example, we apply the
0001-virtio.patchfile to the virtio driver.cd /usr/src/sys/dev/virtio/ wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/0001-virtio.patch patch -p4 < 0001-virtio.patch -
Copy the kernel configuration file, then compile and install the kernel.
The
make -j<N>command sets the number of parallel compilation jobs. Set N based on the configuration of your compilation environment. For example, in a 1-vCPU environment, we recommend setting-j2. We recommend setting N to twice the number of vCPUs (a1:2ratio).cd /usr/src/ cp ./sys/amd64/conf/GENERIC . make -j2 buildworld KERNCONF=GENERIC make -j2 buildkernel KERNCONF=GENERIC make -j2 installkernel KERNCONF=GENERIC -
After compilation is complete, delete the source code.
rm -rf /usr/src/* rm -rf /usr/src/.*
FreeBSD 13 on Alibaba Cloud
FreeBSD 13 and later versions have already incorporated the kernel patches required to run on fifth-generation and later Alibaba Cloud instance families. You do not need to install additional patches. The relevant patches are:
In addition, you must add the kern.maxphys=65536 kernel parameter for the system to run correctly. To do this, run the following command:
echo "kern.maxphys=65536" >>/boot/loader.conf
The Alibaba Cloud public image for FreeBSD 13 uses kernel version 13.0-Release-p8, which includes both patches and the required kernel parameter. You can use it directly.
Upgrade FreeBSD across major versions
This example shows how to upgrade a FreeBSD system from version 12.3 to 13.1.
-
Run the upgrade command.
freebsd-update upgrade -r 13.1-RELEASE
After the command completes, the system prompts you to run the /usr/sbin/freebsd-update install command to finish the installation.
-
As prompted, run the installation command.
/usr/sbin/freebsd-update install
The command output is as follows:
root@freebsd123:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
root@freebsd123:~ #
-
Run the following command to configure loader.conf to ensure the system runs correctly after the upgrade.
echo "kern.maxphys=65536" >>/boot/loader.conf -
Run the following command to restart the instance.
WarningRestarting the instance stops its services, which can cause business interruptions. We recommend performing this operation during off-peak hours.
reboot -
Run the following command to check the version.
uname -r
The following output indicates that the FreeBSD system has been successfully upgraded to version 13.1.
root@freebsd123:~ # uname -r
13.1-RELEASE-p6
Related documents
For more information about FreeBSD, see the official FreeBSD documentation.