Reviving a 2009 MacBook Pro with Lubuntu

Andrew J. Thom
5 min readFeb 24, 2022

--

Lubuntu 21.10 running on a 2009 MacBook Pro
Neofetch output, showing Lubuntu running on a MacBook Pro

In 2009, when I headed off to college, I purchased a then-top-of-the-line MacBook Pro. 15" screen, 2.8GHz Intel Core 2 Duo, 7200 RPM 500GB hard drive, 4GB of RAM. I bought it the day that it was announced at WWDC in 2009, and this thing was loaded! I used it as my daily-driver laptop for approximately six years, but I have kept it running, even after buying a new MacBook Pro in 2015.

Since then, I have upgraded the main hard drive to use a 500GB SanDisk SATA SSD, removed the non-functioning SuperDrive to keep the old hard disk in there (using a kit from iFixit), replaced the battery, and upgraded to 8GB of RAM. When running Mac OS X Lion, it runs great. I also have OS X El Capitan running, but that runs quite slowly on the older machine. While Lion is very snappy running on the machine, I run into issues when trying to access the internet. With Lion unsupported by any modern browser, running into HTTPS/SSL issues is common. I decided to investigate running a Linux operating system on the machine in order to give it a modern web browsing experience and to run some more modern applications.

Choosing a Distribution

I looked at a few distributions before installing. I checked out Linux Mint and Ubuntu. I even installed Debian first, but ran into some issues with it crashing pretty quickly. I knew Ubuntu supports a lot of older Apple hardware quite well, but I didn’t want to run the full version of Ubuntu due to the heavier hardware requirements. So I took a look at the different Ubuntu “flavors,” and I came upon Lubuntu. Lubuntu is based on Ubuntu, but instead of shipping with the standard GNOME desktop environment, Lubuntu uses the LXQt desktop. LXQt was written to perform well on lower-powered machines. I decided to give it a try.

Preparing the SSD

With my 500GB SSD already dual-booting Lion and El Capitan, I needed to create partitions in order to create space for Lubuntu. I created three partitions using Disk Utility in Lion: a 150GB partition for the root (OS install and data), 15GB for swap, and 1GB for the bootloader. This then shrunk the existing Lion and El Capitan partitions, and created the new partitions, which I named to help identify them when installing Lubuntu.

Installing Lubuntu

I downloaded Lubuntu 21.10 and flashed it using balenaEtcher to an 8GB USB drive. I shut down the laptop, rebooting it while holding down the option key in order to get into the boot menu. The MacBook picked up the USB drive, listed as EFI Boot. It then booted into a “live” instance of Lubuntu. Note that Lubuntu will not use the WiFi card by default. I was able to plug in directly to an ethernet cable, and my network connection was automatically configured.

Once booted, on the desktop is an icon titled Install Lubuntu. I accepted most of the default settings, until it got to the point where I needed to manually configure where to install the operating system. Using the three partitions I created with Disk Utility, I was able to set where to install everything. The 150GB partition was formatted using ext4, and mounted on /. The 15GB partition was formatted as “swap”. No mount point is needed. And then the 1GB partition was formatted as FAT32, and the mount point was set to /boot. Also, the bootable flag was set. After that, I continued through the setup and waited for it to install. Once it was done, I removed the USB drive when prompted and rebooted.

Installing rEFInd

While I could choose to boot directly from the EFI Boot partition using the standard Mac boot menu, with this machine now running three operating systems, I wanted to have an option automatically show up every time that I booted the machine. In order to install, I booted back into Lion. I then downloaded rEFInd and ran the script as described on the website. rEFInd quickly installed. I then rebooted and was greeted by the rEFInd boot menu, and was able to boot right into Lubuntu.

Using Lubuntu

Upon booting into Lubuntu, I found the system very responsive, especially considering that this machine is almost 13 years old. In order to use the WiFi card, I just had to enable the driver by opening the menu (the LXQt equivalent of the Start Menu in the bottom left), going to Preferences, and selecting Additional Drivers. I then was just able to enable the driver and the WiFi worked.

I haven’t done too much other testing. I installed Brave (my current browser of choice), and was able to do some updates. I installed IntelliJ IDEA and was able to do some simple Kotlin development. Lubuntu also comes with a basic package manager that acts as a GUI frontend for apt. Snap support is built-in as well.

I did try streaming some video on YouTube TV this morning, and the 720p60 video appeared to stream without stuttering. Downloading files from the internet was smooth and at the speed I expected with my 200mbps internet connection.

Conclusion

Overall, the process of installing Lubuntu was very easy. Everything that I tested just worked. Even running Java 17 and doing development through IntelliJ worked flawlessly (even if a little slow when compared to the 10-core Intel i9 iMac that I’m used to). Installing Lubuntu revived this machine from being a nice-to-have to a usable computer that can access modern websites, consume content, and modify files. I will continue using it in the coming days, and will update with anything else that I find. Feel free to add comments with any questions, and I’ll be happy to try and answer them. You can also email me at pasha.berets-0o@icloud.com (this is an iCloud “Hide My Email” address).

--

--

Andrew J. Thom
Andrew J. Thom

Written by Andrew J. Thom

Java engineer. Minnesota. SJU ’13. Conservative.

Responses (2)