Run the four machines locally with Multipass
The course needs four machines running Debian 12 (bookworm) on ARM64. You can run all four on a Mac with Apple Silicon using Multipass, which is Canonical’s tool for running small Linux machines on macOS. Multipass uses Apple’s own virtualization framework, so the machines run at native speed with no emulation.
Resource totals across the four machines are 4 CPUs, 6.5GB of RAM, and 70GB of disk. A Mac with 16GB of RAM or more handles this with room to spare.
One thing to know first
The built-in multipass launch debian image tracks Debian 13 (trixie), not the Debian 12
(bookworm) this course uses. So you do not use the short name. You pass the official Debian 12
cloud image URL directly to multipass launch, which accepts a URL in place of an image name.
The Debian Cloud team publishes the ARM64 image at cdimage.debian.org.
Step 1: install Multipass
brew install --cask multipass
If you do not use Homebrew, download the macOS installer from the Multipass releases page on GitHub instead.
Step 2: launch the four machines
Run these four commands. Each one creates a machine with the CPU, memory, and disk the course asks for.
IMG="https://cdimage.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-arm64.qcow2"
multipass launch "$IMG" --name jumpbox --cpus 1 --memory 512M --disk 10G
multipass launch "$IMG" --name server --cpus 1 --memory 2G --disk 20G
multipass launch "$IMG" --name node-0 --cpus 1 --memory 2G --disk 20G
multipass launch "$IMG" --name node-1 --cpus 1 --memory 2G --disk 20G
Step 3: confirm the operating system
Check that each machine runs Debian 12. Repeat for server, node-0, and node-1.
multipass exec jumpbox -- cat /etc/os-release
You should see VERSION_ID="12" and VERSION_CODENAME=bookworm in the output.
Step 4: find each machine’s IP address
The course uses a file called machines.txt that lists each machine’s IP address. Get the
current addresses with:
multipass list
You will use these addresses in lab 03 when you create machines.txt. Multipass assigns these
addresses over DHCP, so they can change if you stop and start a machine. Try not to restart the
machines in the middle of the course. If an address does change, run multipass list again and
update machines.txt.
Step 5: enable root SSH access
Debian disables SSH login for the root user by default. Lab 03 turns it on. You can do it now for the three cluster machines with these commands.
for m in server node-0 node-1; do
multipass exec "$m" -- sudo bash -c \
"sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && systemctl restart ssh"
done
Step 6: open a shell on the jumpbox
From here on, you run the course from inside the jumpbox.
multipass shell jumpbox
Continue with lab 02, which sets up the jumpbox tools.
When you are done
To stop the machines and free memory:
multipass stop jumpbox server node-0 node-1
To delete them completely and reclaim disk:
multipass delete --purge jumpbox server node-0 node-1
Moving to the cloud later
You can run the same course on cloud machines instead. Provision four Debian 12 machines on a provider such as DigitalOcean or AWS, make sure they can reach each other and accept SSH, then follow the labs unchanged from lab 02 onward. The cloud version is a good second pass once you have done it locally.