Maintaining Open Source Singularity Since 2017
Installing SingularityCE on macOS with Apple Silicon, using UTM
By Adam Hughes
Downloading & Installing UTM
In your browser, go to mac.getutm.app, and click on the Download button.Installing an ARM64 Linux VM
From the main UTM application window, choose Browse UTM Gallery to open the page on the UTM website containing pre-built guest operating-system images. For the purposes of this demo, we will use the pre-built Debian 11 (Xfce) image.Increasing the VM’s memory allocation
IMPORTANT:
To ensure that SingularityCE has sufficient resources to run in the virtual machine, it is preferable to adjust the memory settings of the virtual machine before launching it.
The Debian 11 (Xfce) image, as downloaded from the UTM Gallery website, comes with a setting of 1024MB(=1GB) of RAM. Let’s change that to 4096MB(=4GB). Click once on the name of the virtual machine (“Debian 11 (Xfce)”), NOT on the ‘play’ icon that’s to its right.
Booting up the Linux VM for the first time
You can now click on the ‘play’ (▶️) icon to launch the virtual machine. Once it’s done booting up, you will be greeted with a login dialog. If you downloaded this Debian image from the UTM Gallery as suggested above, the login credentials should be:
- username: debian
- password: debian
Installing the prerequisites
Once you have logged in, open a Terminal:sudo apt-get update && \
sudo apt-get install -y \
wget \
build-essential \
libseccomp-dev \
libglib2.0-dev \
pkg-config \
squashfs-tools \
cryptsetup \
runc \
curl
Installing the latest Go release
The next step is to download & install the latest Go release.curl -LO https://go.dev/dl/go1.20.2.linux-arm64.tar.gz
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf go1.20.2.linux-arm64.tar.gz
echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc && \
source ~/.bashrc
$ go version
go version go1.20.2 linux/arm64
Installing SingularityCE
Now it’s time to install SingularityCE itself!curl -LO https://github.com/sylabs/singularity/releases/download/v3.11.0/singularity-ce-3.11.0.tar.gz && \
tar -xf singularity-ce-3.11.0.tar.gz
cd singularity-ce-3.11.0
./mconfig && \
make -C builddir && \
sudo make -C builddir install
$ singularity --version
singularity-ce version 3.11.0
Creating & running your first container
To make sure our installation of SingularityCE was successful, let’s create & run our first container. We can do this as follows:singularity run library://lolcow
$ singularity run library://lolcow
INFO: Downloading library image
86.9MiB / 86.9MiB [=========================================] 100 % 7.5 MiB/s 0s
______________________________
< Fri Mar 10 09:46:31 PST 2023 >
------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Join Our Mailing List
Recent Posts
Related Posts
Ensuring Singularity Enterprise Continuity: Crafting a Disaster Recovery Plan
In the dynamic world of IT operations, disaster recovery procedures stand as the secret weapon, quietly ensuring the resilience and continuity of businesses. Whether it's a natural disaster, a cyberattack, or a hardware failure, having a robust disaster recovery plan...
Sylabs Launches the Singularity Containers Certification
The SingularityCE Platform is Vital for Container Technology ExpertsSylabs, the global leader in providing tools and services for performance-intensive container technology, today announces the launch of a new certification focusing on the Singularity container...
Remote Building with OCI Registries
This blog post will demonstrate how to use a definition file in a remote build that references an Open Container Initiative (OCI) image stored in Singularity Enterprise and Singularity Container Services.First, create an account in Singularity Container Service. To do...










