Introduction: The Why
After upgrading to a new Apple Silicon Mac, I was left with a powerful 2018 Intel Mac Mini. Having previously upgraded its memory to a hefty 64GB, I didn’t want to just discard it. It seemed like the perfect candidate to become the cornerstone of my first homelab server.
My goal was to install Proxmox VE, a powerful open-source hypervisor. However, Apple’s hardware is well-known for its controlled environment, and the T2 security chip adds another layer of complexity. This guide is the detailed documentation of my journey.
This entire process was only possible thanks to the incredible, hard work of the t2linux wiki and AdityaGarg8. This post is a big shout-out to them for their detailed documentation and custom repositories.
A Quick Note: What is the T2 Chip?
The Apple T2 Security Chip is Apple’s second-generation, custom silicon for Intel-based Macs. It handles security features like encrypted storage and Secure Boot, which is the main reason we have to perform some extra steps to get Linux running. You can see a full list of T2-equipped machines on Apple’s support page.
Prerequisites
Before we begin, make sure you have the following:
- Hardware: An Intel-based Mac Mini with the T2 chip, a spare USB drive (16GB or larger), and a keyboard/monitor for the initial setup.
- Software: The latest Proxmox VE ISO image.
Part 1: The Installation
Step 1: Disable Secure Boot
The first hurdle is Apple’s Secure Boot, which prevents booting from non-Apple-signed operating systems. You must disable it first.
- Reboot your Mac and hold down Command + R to enter the macOS Recovery environment.
- Once in Recovery, go to the Utilities menu at the top of the screen and open the Terminal.
- Type the following command and press Enter:
csrutil disable
- Reboot your machine.
Step 2: Booting and Installing Proxmox
- Use a tool like BalenaEtcher to flash the Proxmox ISO onto your USB drive.
- Plug the USB drive into your Mac Mini.
- Reboot the Mac and immediately press and hold the Option (Alt) key.
- From the boot menu, select the orange icon labeled “EFI Boot”.
- The Proxmox installer will load. Follow the on-screen prompts.
- Crucial Step: When you get to the network configuration screen, you need to select the correct management interface. For a wired connection, look for the interface name that has a green dot next to it, indicating an active link.
Part 2: Post-Installation Configuration
Once Proxmox is installed, the base system is running, but none of the Mac-specific hardware will work correctly yet. We’ll fix that now.
First, log in to the Proxmox shell, either directly or via SSH.
You can check your Debian and Proxmox versions with these commands:
cat /etc/os-release # Shows Debian version
pveversion # Shows Proxmox VE version
Step 1: Install Sudo
The sudo
package isn’t installed by default, so let’s add it.
apt-get install sudo -y
Step 2: Install the T2-Specific Edge Kernel
This is the most important step. A custom kernel is required to get hardware like the audio, fan, Wi-Fi, and Bluetooth working. We’ll use the fantastic work done by AdityaGarg8.
Follow the instructions at the pve-edge-kernel-t2 repository to install the kernel. After adding the repository, you can install the necessary packages:
sudo apt update
sudo apt install linux-t2 apple-t2-audio-config
Step 3: Install Wi-Fi & Bluetooth Firmware
The kernel provides the drivers, but you still need the proprietary firmware files from Apple.
- Follow the instructions on the t2linux wiki.
- The easiest method is to use the Apple-Firmware repository scripts to fetch and install the correct firmware blobs.
Step 4: Configure Fan Control
Without proper fan control, your Mac Mini might run hot and loud.
- Refer to the fan control guide on the t2linux wiki.
- This typically involves installing and configuring a daemon that can read the Mac’s temperature sensors and adjust fan speeds accordingly.
Part 3: Setting Up Your First VM (Kali Linux)
With the host system stable, let’s create a guest virtual machine.
There are two ways to get an OS ISO into Proxmox:
- Command Line: SSH into the Proxmox host and download the ISO directly.
cd /var/lib/vz/template/iso wget <URL_TO_YOUR_ISO_FILE>
- Web Interface: In the Proxmox UI, navigate to
Datacenter -> [Your Node Name] -> local (pve) -> ISO Images
. From there, you can either upload an ISO from your computer or use the “Download from URL” button.
For a detailed walkthrough on installing Kali Linux as a guest, the official Kali documentation is excellent.
Important: After installing the OS in your VM, remember to install the QEMU Guest Agent for better performance and management.
# Inside your Debian/Ubuntu-based VM
sudo apt update
sudo apt install qemu-guest-agent
Troubleshooting & Common Issues
This is where I share the problems I ran into and how I solved them.
- Can’t connect to the internet after install: I found that my Ethernet cable wasn’t working initially. The IP address was manually assigned and wasn’t negotiating with my router. I had to double-check my physical connection and review the network settings in
/etc/network/interfaces
. - Wi-Fi Firmware installation failed: My first attempt using
apple-firmware-script
failed because theget-wifi-firmware
command was not found. I then tried thefirmware.sh
script from the t2linux wiki, but it couldn’t locate the kernel headers, even after I re-installed them. The final, successful method was using the scripts from the AdityaGarg8/Apple-Firmware repository. - Keyboard Layout Issues: Be careful when choosing your language during the Proxmox installation! This setting directly affects your keyboard layout in the console.
- Bluetooth Keyboard Switching: I noticed my Bluetooth keyboard would automatically switch its connection away from the Mac Mini if the charging cable was disconnected. Something to be aware of if you lose input suddenly.
Useful Notes & Commands
- A Note on Local-LVM: You might see advice online to delete the
local-lvm
storage. I recommend against this. Using LVM for your VMs provides better performance and enables features like live snapshots. It’s best to keep it unless you have extreme storage limitations. - Controlling VMs from the CLI: The
qm
command is incredibly powerful for managing your VMs from the Proxmox host’s command line.qm list # list all virtual machines qm start <vmid> # start vm qm shutdown <vmid> # gracefully stop vm qm stop <vmid> # kill vm process qm destroy <vmid> # destroy vm and delete all its files
Conclusion
The journey was a bit bumpy, but the end result is a powerful and stable Proxmox server running silently on my Mac Mini. This machine is now the core of my homelab, ready to host everything from network security tools to development containers.