Background

Kali 2.0 has been released for a while. Most people install Kali on the hard drive through a usb drive. I’ve seen a lot of people having problems of “black screen after booting from EFI”, “got a very small freezing menu in the top left corner” and “Legacy bootloader not found” when trying installing on a Mac. After a few days exploring, I found a solution to the booting issue (and network driver), and now it runs perfectly on my MBP 2015.

Problems and Solutions

1. Booting problem

Installation drive boot options screen freezes on Macbook pro 2015 when booting from usb.

Step 1. Prepare 1 USB sticks and a free partition on your hard disk.
Step 2. Make a Kali live USB stick following the steps.
Step 3. On Mac, open folders EFI - BOOT in your usb drive. Open syslinux.cfg with a text editor.
Step 4. Change “vesamenu.c32” to “menu.c32”. Save the file.
Step 5. Restart the computer, with the option key pressed.
Step 6. Choose the EFI option, which is your usb stick.
Step 7. Now the boot options should not be freezing any more. Graphical install and install options should work. If this does not work for you, you may stop reading further.

2. Network device not detected

The installation wizard can’t identify ethernet card, so just continue without network configured. We will install the network driver later.

3. Network driver missing

Once you finish installing, boot into Kali, and you will see network device is missing. Type in terminal

ifconfig

There is no interface for ethernet or WLAN.

If you are using macbook pro 2015 original wifi adapter

Download the firmware from here.
Copy the file into /lib/firmware/brcm

root@kali:~# cp /folder/file /lib/firmware/brcm

Reboot and you will see WiFi is working, but still has no network access.
Start the network manager by modifying configuration file.

root@kali:~# nano /etc/NetworkManager/NetworkManager.conf

Turn false to true, and restart network manager.

root@kali:~# /etc/init.d/network-manager restart

Reboot and WiFi should work. This may not work on Thunderbolt-Ethernet wired network.

If you are using other network card
lspci

lspci is a tool that prints the information about PCI buses and devices in the system. Using this command, find the network controller or ethernet controller model. Try downloading the linux wireless/ethernet firmware that matches the network controller model and put it into the corresponding folder in /lib/firmware/

4. Cannot boot into OSX

Step 1. Hold option when booting, and boot from Mac HD.
Step 2. Reinstall your rEFInd.
Step 3. Restart.