Hello everyone. Been a while and I have a new blog entry so that I don’t forget how to do this if I ever have to do it again.
I got my girlfriend a new Macbook Pro M1 for Hanukkah and she gave me her old one (It’s a Macbook Pro Mid 2012, or 14,1). I was going to update it to Mac OS 11, but found out that it didn’t support it, so I figured I would try to revive life to it by installing Ubuntu on it. This proved to be harder than I expected, but if you keep reading, I’ll tell you how I finally did it. (I’m actually writing this blog from the laptop running Ubuntu.)
So, the installation was pretty straight forward. I burned Ubuntu 20.04.2 on a DVD (From https://releases.ubuntu.com) and booted up the mac by inserting the DVD in the drive and holding down the “Option” key while booting up and I select the first EFI Partition to boot from by pressing the Up arrow after selecting it. It booted right into Ubuntu no problem.
I managed to install Ubuntu, and everything went smoothly. After installation, I noticed a weird error about MOK and EFI. I found out that Mac’s EFI wants a signed OS. To fix this, all I did was:
sudo su - cd /boot/efi/EFI/ubuntu cp grubx64.efi shimx64.efi
This will clear the black screen and error when booting.
Next, I ran
sudo apt update & sudo apt upgrade -y to make sure I had all the updates to my laptop.
With the 20.04.2 update of Ubuntu, everything works out of the box with the Mid 2012 version of the Mac Book. If you run into any issues during the installation, leave a comment and I will try to help.
Leave a comment if it helps.
16 responses to “Installing Ubuntu 20.04.2 on Macbook Pro Mid 2012”
How is the Performance. Is the Fan running hot?. Is the Wifi Drivers are working well?
I am also thinking PopOS and Lubuntu/Kubuntu on these devices. Any reason you gone with Ubuntu?
I have been using Ubuntu since Dapper Drake, and really like the distribution. I have actually started using Kubuntu 20.04.2 on this mac and it has been pretty solid. I notice it only gets hot when I have it plugged in, and every once in a while, the wifi will drop, but running
sudo dhclient wlp2s0gets it back up and running normally.
Everything works out of the box, and updates work as well. Been pretty happy with it as my daily driver on my mac.
I moved to Kubuntu after a while since I like drag and drop operations. I have noticed that the laptop runs a little warmer than usual, but it doesn’t seem much more than when it ran MacOS. The battery life is much better, which to me means more since I travel a lot and don’t have access to outlet’s or power so I will take that over no power.
One thing I have noticed now that I have had Ubuntu running on my Macbook is that the battery life has nearly doubled. While running MacOS X, the battery would only last about an hour, but since moving to Ubuntu 20.04, it now lasts about 3 hours on the battery.
Question. So I’m doing basically the same thing. But after the install completes all I get is a grey screen that sits there. Do I need to boot into the mac recovery mode to run the commands you’ve listed?
Does the install complete? You should be able to boot into Ubuntu, and then install normally. It does take a while, mainly because of the Broadcom wireless source code build, but even if that doesn’t work, it should still boot. Just no wireless. But and quick “sudo update” fixes those sources and gets you up and running. I’m replying to you on my MacBook Pro 2012 and even when I update to the HWE kernel, it still updates and works. Which Macbook are you trying to run on? I will try to help as best I can.
I had a similar problem. This fixed it for me https://askubuntu.com/a/1358766/840187
Running Ubuntu Studio 20.04.2 on a MBP 9 (late 2011). The only thing it won’t do is resume from suspend. ‘s driving me nuts, because other than that one thing it’s an ironclad joy to use.
That’s awesome and sucks at the same time. Not sure about the resume operation. I would put in a bug on Launchpad about it.
to get the laptop to sleep, add the following line in grub
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash init_on_alloc=0″
I want to do the same thing. Unfortunately my late 2010 Macbook keeps hanging on boot – freezing there. There is no EFI/ubuntu directory / only a /boot/grub directory = that is why your approach doesn’t work. Any ideas on how to fix that?
I haven’t tried this procedure on older Mac’s. However, you should still be able to boot into a legacy BIOS mode by holding down Option with the boot device connected and at least get into Ubuntu. Do you have any error messages or a way to see what the boot screen is displaying?
Just came across this article. Thanks for the info. About to install Ubuntu Server 20.04 LTS on several Mac Mini Late-2012 systems.
One concern I have is that if the power shuts off and restarts OR if it simply reboots will it automatically launch into Linux OR will I have to do anything to get it to boot into Linux again. I want to use it as a server so definitely want it to be able to boot right into Linux just not sure about this Mac EFI and whether it will be a challenge or not.
Lastly, any thoughts/concerns on installing on Mac Mini Late-2012’s?
I haven’t tried installing on Mac Mini, but with Macbook Pro, after installation I had no issues, especially with the latest 20.04.3 release. If you hit something odd, let me know.
Hello! I think I have the exact same MBP: 2012 13″ Retina. I recently installed 20.04 LTS and as you mention, works flawlessly out of the box, but I find some issues with Bluetooth: it says it’s on and it “sees” some of my devices, they appear listed. I can pair with my Bluetooth keyboard and it works, I can type; but when trying to pair with earphones, it says it’s paired, but the audio is chopped, as in it sounds and then goes mute, intermitent.
Anyways, did you have to install additional bluetooth drivers? Does yours work with sound devices?
Sorry, I haven’t ran into this issue. I know that I ran into something similar a while back on an IBM Thinkpad running Ubuntu, and I ended up updating to the HWE kernel and that seemed to fix it. I haven’t tired headphones on my current build.