Metal-published Operating System Images¶
Equinix Metal™ provides a range of operating systems available for you to deploy on our platform. Metal's operating system images are lightly modified versions of the upstream cloud images tailored to be compatible with our server hardware and network configurations.
We offer Linux and open-source operating systems at no extra cost, licensed operating systems billed by either a usage or bring-your-own license model, or you can bring-your-own operating system with Custom iPXE.
About Our Images¶
Changes to our operating system images are tracked in equinixmetal-images/changelog
. Images are kept as close to upstream releases as possible.
The changelog aims to show what packages have changed since the last published image, the kernel used in the image, and what deviations from the upstream cloud image (if any) are in the new published image.
When you provision a server using one of our images, you get the most recent image we have published. Once you have provisioned your server, we no longer have access to the system; it is your responsibility to keep the operating system up to date.
If we do not offer an operating system or a version of an operating system that meets your use-case, you can bring your own images using Custom iPXE.
Image Lifecycle¶
Equinix Metal publishes the dates of our images' lifecycle in the API.
To find the lifecycle dates for a specific operating system and version, send a GET
request to the /operating-systems endpoint, filtering on the operating system slug in the path.
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
https://api.equinix.com/metal/v1/operating-systems?slug=<os_slug>
Response Parameters:
“release_date”
- The date the upstream operating system maintainer released this version."build date"
- The date Metal built and released the current operating system image.“deprecation_date”
- The date set by the upstream operating system maintainer indicating the end of feature updates and bug fixes, and the beginning of security-only updates for this operating system version.“end_of_service_date”
- A Metal-specific date, typically 30 days before end-of-life, when you should for prepare any new provisions to use the newest version of the operating system.“end_of_life_date”
- The operating system image no longer receives any updates and can be disabled at any time. Metal typically matches the end-of-life date to the deprecation date set by the operating system maintainer.
The API response also includes a "lifecycle_state"
parameter to indicate where the operating system image is in the lifecycle. Possible states are:
"testing"
"pre_release"
"active"
"deprecated"
"end_of_service"
"end_of_life"
Note that images in "testing"
and "pre_release"
states might not be in a provisionable or operable state. Trying to provision a server with a "testing"
or "pre_release"
image can result in an error, and should only be used for testing and evaluation.
End-of-Life Images¶
When an operating system image is end-of-life, you will no longer be available to provision it on new servers through the console or the API. End-of-life images are eventually de-listed from the Metal API entirely, and their changelogs removed from the changelog repository.
Servers running end-of-life operating systems will continue to run normally, but you will not be able to provision new servers with that same operating system image or version through the Metal console or API.
Operating Systems Reference¶
AlmaLinux¶
Info
On January 5, 2025 Equinix Metal is retiring AlmaLinux. We will no longer be maintaining our AlmaLinux images, and AlmaLinux will no longer be an option when provisioning from the console or API. If you are still interested in running AlmaLinux after this date, please use Custom iPXE.
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
AlmaLinux 9 | alma_9 | 2027-05-31 | 2024-12-05 | 2025-01-05 | x86_64 arm64 |
AlmaLinux 8 | alma_8 | 2024-05-31 | 2024-12-05 | 2025-01-05 | x86_64 arm64 |
Alpine Linux¶
Info
On January 5th, 2025 Equinix Metal is retiring Alpine Linux. We will no longer be maintaining our Alpine Linux images, and Alpine Linux will no longer be an option when provisioning from the console or API. If you are still interested in running Alpine Linux after this date, please use Custom iPXE.
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
Alpine 3 | alpine_3 | 2025-02-09 | 2024-12-05 | 2025-01-05 | x86_64 arm64 |
CentOS¶
Red Hat has set the CentOS 7 End of Life date to June 30, 2024.
On August 31, 2024 Equinix Metal is retiring CentOS 7. We will no longer be maintaining our CentOS 7 images, and CentOS 7 will no longer be an option when provisioning from the console or API.
Debian¶
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
Debian 12 | debian_12 | 2026-06-30 | 2028-05-10 | 2028-06-10 | x86_64 arm64 |
Debian 11 | debian_11 | 2024-08-14 | 2026-05-31 | 2026-06-31 | x86_64 arm64 |
Flatcar Linux¶
Default user: core
Operating System | Slug | Releases |
---|---|---|
Flatcar Linux - Stable | flatcar_stable | rolling |
For more information on the Flatcar release strategy, see the Flatcar Releases page.
FreeBSD¶
Info
On January 5th, 2025 Equinix Metal is retiring FreeBSD. We will no longer be maintaining our FreeBSD images, and FreeBSD will no longer be an option when provisioning from the console or API. If you are still interested in running FreeBSD after this date, please use Custom iPXE.
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
FreeBSD 14 | freebsd_14 | 2024-12-05 | 2025-01-05 | x86_64 arm64 | |
FreeBSD 13 | freebsd_13 | 2025-11-30 | 2024-12-05 | 2025-01-05 | x86_64 arm64 |
Rocky Linux¶
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
Rocky Linux 9 | rocky_9 | 2027-05-31 | 2032-04-30 | 2032-05-31 | x86_64 arm64 |
Rocky Linux 8 | rocky_8 | 2024-05-31 | 2029-04-29 | 2029-05-31 | x86_64 arm64 |
Ubuntu¶
Default user: root
Operating System | Slug | Deprecation | End of Service | End of Life | Changelog |
---|---|---|---|---|---|
Ubuntu 24.04 LTS | ubuntu_24_04 | 2024-09-30 | 2029-03-01 | 2029-04-01 | x86_64 arm64 |
Ubuntu 22.04 LTS | ubuntu_22_04 | 2024-09-30 | 2027-03-01 | 2027-04-01 | x86_64 arm64 |
Ubuntu 20.04 LTS | ubuntu_20_04 | 2024-11-01 | 2025-03-01 | 2025-04-01 | x86_64 arm64 |
Server Compatibility¶
If you would like to check whether an operating system is currently available on a specific server plan, use the Operating System Compatibility page.
All of our operating system images go through a validation process in order to be provisionable on our server plans. Not all operating systems are available on every server.
Which operating systems are available on a specific server is listed on its product page and on the OS Compatibility page.
To get a list of which operating systems are available on which servers, use the metal operating-systems get
command, and specify the output as JSON.
metal operating-systems get -o json
The response contains a "provisionable_on"
object, which is an array of servers that operating system is provisionable on. (The example response is truncated.)
{
"name": "AlmaLinux OS 8",
"slug": "alma_8",
"distro": "alma",
"version": "8",
"provisionable_on": [
"a3.large.x86",
"c2.medium.x86",
"c3.large.arm64",
"c3.medium.x86",
"c3.small.x86",
....
]
},
To get a list of which operating systems are available on which servers, send a GET
request to the /operating-systems
endpoint.
curl -X GET \
-H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/operating-systems"
The response will contain the operating system name, ID, and slug, which is useful if you are provisioning servers through the API or CLI. It will also contain "provisionable_on"
, which is an array of servers that operating system is provisionable on. (The example response is truncated.)
{
"name": "AlmaLinux OS 8",
"slug": "alma_8",
"distro": "alma",
"version": "8",
"provisionable_on": [
"a3.large.x86",
"c2.medium.x86",
"c3.large.arm64",
"c3.medium.x86",
"c3.small.x86",
....
]
},
Provisioning with a Metal-published Image¶
When you provision a server through the Equinix Metal console, the available operating systems are filtered by the server you choose.
Your OS options are similarly filtered if you are provisioning from your Reserved Servers or through the Spot Market.
When provisioning servers in the CLI with the metal device create
command, the required --operating-system
or -O
parameter is how you specify which operating system to install on the server.
metal device create -p $METAL_PROJECT_ID -m <metro> -P <plan_slug> -O <os_slug>
If you attempt to provision a server with an OS that is not compatible with the hardware, you will receive an ... is not a valid operating system
error in response.
If you are provisioning servers in the API, the operating_systems
field is where you specify which OS to install on your server. It is also a required field.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro>",
"plan": "<plan_slug>",
"operating_system": "<os_slug>"
}'
If you attempt to provision a server with an OS that is not compatible with the hardware, you will receive an ... is not a valid operating system
error in response.