In this guide, I will show how to build your own Microsoft CBL-Mariner Linux ISO image.

CBL-Mariner is an internal Linux distribution for Microsoft’s cloud infrastructure and edge products and services. CBL-Mariner is designed to provide a consistent platform for these devices and services and will enhance Microsoft’s ability to stay current on Linux updates. 

Microsoft made CBL-Mariner available on GitHub under an MIT License – link
The source code is available, there are no ISO images, but you can build your own. 

You need a server with Ubuntu preinstalled to build ISO image.

Build ISO image

Install prerequisites you will need for building the ISO image

apt install git make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk

Obtain the code from CBL-Mariner

git clone https://github.com/microsoft/CBL-Mariner.git

Create the installation ISO image

cd CBL-Mariner/toolkit

make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

The ISO file will be placed in the directory ../out/images/full/

In my case the name will be – full-1.0.20210721.0855.iso

Install Microsoft CBL-Mariner Linux

Now boot your server from the created ISO image.

I will choose Graphical Installer option and follow simple steps to install the OS. 

At the end, you should remove ISO image and make a reboot.

You have successfully installed Microsoft CBL-Mariner Linux on your server.

CBL-Mariner package system is RPM-based. It uses tdnf (Tiny DNF). CBL-Mariner feels very similar to other Linux distros like Fedora.