I’m gonna keep it real with you here, the ARM-based Macbook was and is a game changer when it comes to laptops. The battery life is excellent, it’s fast and efficient. However, for many in Information Security, there was one thing that held us back from looking at it as a solid daily driver.
The ARM architecture.
ARM has revolutionized computing in mobile and IoT devices for its speed and effectiveness with the hardware it interfaces with. But we may need to do things like use gcc to compile an executable for a target system running a different architecture from our ARM version of Kali.
Below are the steps you can take to set your ARM-based Macbook and Kali VM up to overcome this issue.
On your Macbook
We’re going to get MacOS ready to support and run software and tools that use the x86 architecture.
Step 1: Install Rosetta 2, software that assists in translating instructions from x86 to the ARM architecture. Do this by running the below command in a terminal on your MacBook
softwareupdate –install-rosetta
Optional Step: Installing Homebrew under x86. Homebrew is a popular command line tool to install software tools on macOS. Installing Homebrew under x86 allows you to install x86 tools. This is not required for what we are doing, but it’s helpful to have that functionality. Run the below command to install.
arch -x86_64 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
On your Kali ARM VM
Now we prime our Kali ARM VM to be able to compile and run x86 executables
Step 1: Update and Upgrade your Kali OS
sudo apt update && sudo apt upgrade -y
Step 2: Install some necessary libraries
sudo apt install -y qemu-user-static binfmt-support
Step 3: Add the amd64 architecture
sudo dpkg –add-architecture amd64
Step 4: Update again but this time without the upgrade command
sudo apt update
Step 5: Install the amd64 library
sudo apt install libc6:amd64
Step 6: Test your setup by installing and running PowerShell. On the first line we run the installation. After we run file on the installation so you can see it is an x86 executable. The output should look something like this:
Press enter or click to view image in full size

Then finally, we run the command pwsh to spawn ==a== PowerShell session
sudo apt install -y powershell
file /opt/microsoft/powershell/7/pwsh
pwsh
Congrats! You’ve now overcome a limitation and are on your way to profit and fame! Well maybe not the last part but…you get it :)
Thanks for reading!