Tuesday, November 24, 2020

Installing Fedora 33 on Macbook Pro 13 inch (late 2011)

fedora 33This weekend I stumbled on an old Macbook Pro 13 inch from late 2014, with 125GB SSD and 8GB RAM. It's a machine I've taken on trips around the world and back in the day ran many a session, workshop, or demo on sharing all that AppDev goodness you know from JBoss technologies.

Well, after verifying that it's battery works, charging it up, reinstalling a new osX it turns out that the Safari browser version is limited to an old security specification that means you can't connect to a lot of HTTPS sites now. This renders that solution defunct.

What to do with this old thing?

It's been a few years since I was solely working on Linux workstations as a developer, specifically on Fedora so why not try and install the latest on this Macbook Pro?

Below the steps and adjustments needed to get Fedora 33 working on this laptops in just over an hour.

Get Fedora 33

fedora 33
The first step is to find the right way to install Fedora on this laptop. It does have a CD slot so I guess one could opt for burning an ISO to boot from, but I chose to go straight to a bootable USB option.

I got on my other Macbook and visited the Fedora Workstation site where you find a link to Fedora Media Writer. Just click on the icon (in my case, the apple) for your machine type and you get an installation package. 

Install this and start it to see the GUI that guides you through the process. Select the Fedora Workstation 33 option:


fedora 33

Next you can select the top right button to Create Live USB option:


fedora 33

Then you'll see the image start to download and the drop down menu for selecting where to install the image:

fedora 33

If you now plug in an USB stick with the right size available, you can select and install the image once it's completed downloading. Once finished just close this GUI and remove the USB stick. 

Installing on Macbook Pro 13 inch (late 2014)

Insert the USB stick you created above, there is a port on the left side for this, (re-)start your Macbook Pro and be sure to hold down the Option (or alt) key, just to the left of the CMD key. This opens a menu of options to start this machine from and we'll need to use the EFI option as that's our USB image.

Now it's booting from the device and you just can follow the normal Fedora installation. It really helps if you have a network cable connection you can plug your Macbook Pro into as the wifi device (broadcom) does not work out of the box. 


fedora 33

You should get the chance to install to hard drive and put it on your machine permanently. 

fedora 33


Once you've completed the installer, reboot your machine and you should see Fedora 33 as the option to boot from and end up in your new machine.


fedora 33

Now the only thing missing is a wifi driver so there are a few things to be done that require that network cable to be connected as we install the development packages for the kernel we are running and then build the broadcom-wl driver for that kernel.

Let's verify the actual card we need for wifi:

$ lspci -vnn -d 14e4:

The output will be several items, one of which should be listing something like:

Network controller [0280]: Broadcom Inc. and subsidiaries....

Subsystem: Apple Inc. AirPort Extreme...

We now need to install a repository to pull the broadcom stuff as follows:

$ su -c 'dnf install -y http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

The next part is interesting as you look at the running kernel you'll see v5.9.8-200.fc33 but we are going to be using the development kernel packages to build our broadcom wireless driver so you need to install the v5.8.15-301.fc33 (available at the time of this writing). You can check these using 'uname -r' and list the installed kernel packages using 'sudo dnf list kernel':

$ sudo dnf list kernel

kernel.x86_64                     5.8.15-301.fc33

kernel.x86_64                     5.9.8-200.fc33

Install the development packages with the following:

$ sudo dnf install -y akmods kernel-devel-5.8.15-301.fc33


fedora 33


Now install the Broadcom Wireless package:

$ sudo dnf install -y broadcom-wl

Now build the kernel module:

$ sudo akmods


fedora 33

Now reboot your machine and you should be able to view the wireless driver (wl) with the following:

$ lsmod | grep wl

Now setup your wireless connection in Fedora:


fedora 33

It's a bit out of the ordinary for my articles here, but just some fun on the weekend with some old hardware that someone out there might enjoy!