GitHub - microsoft/azurelinux: General purpose Linux OS for Azure (original) (raw)

An open-source Linux distribution built and optimized for Azure, with sources derived from Fedora Linux. Azure Linux provides a secured, reliable operating system for virtual machines, containers, and bare-metal platforms.

Azure Linux is built on a robust open-source foundation from the Fedora ecosystem and enhanced with Azure-specific innovations. This provides the familiarity of the RPM package ecosystem, while adding Azure-native security, compliance, and operational capabilities.

Key features of Azure Linux include: hardened security posture, an Azure-optimized kernel, supply chain security, native Azure integration, and a predictable lifecycle.

This branch holds the in-development sources for Azure Linux 4. For Azure Linux 3, see the 3.0 branch.

Getting started

The links below will help you get started with Azure Linux:

Product documentation https://aka.ms/azurelinux
Release information GitHub Releases
File a bug / feedback GitHub Issues
Ask a question / get help SUPPORT.md
Get started as a distro developer DEVELOPING.md
Contribution guidelines CONTRIBUTING.md
Report a security issue SECURITY.md

Using Azure Linux

Note: Azure Linux 4 is still in development

🖥️ Azure VM

To try Azure Linux in an Azure VM, please visit our Azure Linux 4.0 page on the Microsoft Marketplace.

📦 Container

To try Azure Linux base container, please use the following image reference: mcr.microsoft.com/azurelinux-beta/base/core:4.0

💿 ISO Installer

To try Azure Linux in a local VM, please download the ISO Installer: x86_64 / ARM64

Before using a downloaded ISO, verify the checksum and signature of the ISO.

After downloading and verifying the ISO, follow the ISO installer instructions to install and use Azure Linux in a local VM (Hyper-V on Windows or QEMU/KVM on Linux). The ISO runs the Anaconda installer.

Note: Support for the ISO is community based. Before filing a new bug or feature request, please search the list of Github Issues. If you are unable to find a matching issue, please report new bugs by clicking here. For additional information, refer to the SUPPORT.md file.

What's in this branch?

Azure Linux 4 is an RPM-based distribution optimized for Azure and modern cloud workloads. It is defined by a set of TOML configuration files and targeted overlays applied to Fedora Linux, its upstream base.

Deviations from upstream are declaratively defined and scoped to avoid unnecessary divergence or forking. This repository contains a mechanically rendered set of RPM package spec files derived from applying this layer to Fedora's upstream packaging sources.

How Azure Linux is defined

The distro is described almost entirely in TOML-based configuration files. Our open-source development tool, azldev, is used to apply this configuration to upstream Fedora spec files and packaging sources.

azldev.toml        # Top-level entry point
├── distro/        # Distro-wide configs (e.g., sources, mock configs)
└── base/          # The "base" project: components, images, tests
    └── comps/     # Component definitions (one per source package)
    └── images/    # Base image definitions

Concepts/terms

For a deeper tour of the tooling, the overlay system, and how to get started developing within this distro, please seeDEVELOPING.md.

Repository layout

Path What's there
azldev.toml Top-level config — includes distro/ and base/.
distro/ Distro definitions (Azure Linux + upstream Fedora), shared mock configs.
base/ The base project: components, images, tests.
base/comps/ Component definitions — the heart of the distro.
base/images/ Image definitions (VM, container, etc.) built from the component set using KIWI NG.
specs/ Rendered specs — generated .spec files after overlays are applied. Checked in for visibility; do not hand-edit.
locks/ Per-component lock files pinning upstream commits + input fingerprints; do not hand-edit.
external/schemas/ Cached copy of the JSON Schema for TOML config files; mirrored from azldev.
.github/ CI workflows, plus Copilot prompts, skills, and agent instructions used by AI-assisted development.

Getting started as a distro developer

If you want to build or develop within the distro, start with DEVELOPING.md. Don't worry about this if you're primarily looking to use the distro.

Engagement & support

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third parties' policies.

Acknowledgments

Any Linux distribution, including Azure Linux, benefits from contributions by the open-source software community. We gratefully acknowledge all contributions made from the broader community.

We specifically want to thank the Fedora Project for providing us with a strong foundation across components, spec files, tools, services, and community. We are proud to participate and contribute to this community.

The Azure Linux penguin icon is inspired by the Linux mascot ("Tux"), created by Larry Ewing.

License

Unless otherwise specified, the content of the Azure Linux distribution and this repository are distributed under an MIT license.

Individual packages within the distribution are distributed under licenses specified in their package spec files and sources.

This repository contains files derived from Fedora Linux. For details on the licensing terms for the Fedora Project, please consult fedoraproject.org.