After updating my Nix packages today, I noticed that podman must have been updated as well. It showed since my default machine was no longer present and I could not start the database container that I needed.
I’m using a MacBook Pro with ARM processor, more specifically the M1 model. It needed some special treatment in the past already, but I found a way for my environment. Okay, so recreating the Podman machine is as simple as:
podman machine init --now --cpus=4 --disk-size 150 --memory 8192 -v $HOME:$HOME
That did download the new machine image and also tried to start the VM automatically:
Looking up Podman Machine image at quay.io/podman/machine-os:5.1 to create VM
Getting image source signatures
Copying blob e56a099bcd6f done
Copying config 44136fa355 done
Writing manifest to image destination
e56a099bcd6f8893d25fc6925a9a88b83ebee4820f76edf4c5e7c717099dc7fe
Extracting compressed file: podman-machine-default-arm64.raw: done
Machine init complete
Starting machine "podman-machine-default"
ERRO[0049] process 28540 has not ended
Error: exec: "vfkit": executable file not found in $PATH
What is vfkit
and why doesn’t it exist? I was thinking it is something specific to me using Nix on my Mac,
so I tried to add the vfkit
package to my Nix installation. However, at the time of writing,
this package does not exist.
Googling around I found the following GitHub Issue which gave the final hint on how to solve this problem.
To install vfkit
, just head over to their GitHub Project and download the latest version.
After the download finished, I moved it in place:
sudo mv ~/Downloads/vfkit /usr/local/bin/
chmod +x /usr/local/bin/vfkit
xattr -dr com.apple.quarantine /usr/local/bin/vfkit
Tada :party:, podman machine is working again.