Last updated on 30 December 2019.
Ubuntu 18.10 (4.19 linux kernel) image release for MacBook Pro with Touch Bar. ISO/image download: ubuntu-18.10-mbr-fooctrl-desktop-amd64.iso. Compared to Ubuntu 18.04 image release, unfortunately not a lot changed. Big improvement is that now bluetooth also works out of box and everything works great except for. Oct 17, 2017 Download the Ubuntu Linux installation file. Go to the Ubuntu website. Click Ubuntu Desktop. Select the Ubuntu Linux version your prefer. If you want longterm support and stability, select Ubuntu LTS (recommended). If you prefer the latest software bells and whistles, select the non LTS Ubuntu. Download the file. Prepare your USB key to run.
Intro
Here you will know how to install Linux on MacBook. There are many known Linux distributions available but Ubuntu runs flawlessly on the MacBook. So here in this guide, we will share different methods to install Ubuntu on MacBook. We can also install Windows OS on MacBook but it doesn't work very well because of unsupported hardware.
- Connect your bootable USB drive into the Macbook Pro and reboot - you should see the USB stick as an option in the rEFInd boot menu, so boot from that. In the Ubuntu installer, select the Try Ubuntu option and it will take you to the Ubuntu desktop at a resolution of 2880x1800 - you may need a magnifying glass handy to read the text.
- Download Free Ubuntu Unleashed 2017 Edition Includes Content Update Program Covering 16 10 17 04 17 10. Macbook pro 13 service guide, learning semantic hierarchies.
This article describes how to install Ubuntu Linux on your MacBookPro.
Hardware
Apple MacBook Pro 'Core i7 2.9 15' Touch/Mid-2017 with AMD Radeon Pro 560
Target OS/Distro
Linux <=4.15, >=4.20 or >=5.0 on Ubuntu 18.04/19.04
Not working but can be worked around
- Audio input & output
I am using a USB Wi-Fi adapter TP-LINK TL-WN722N for $15 and for audio any bluetooth headphones/speakers is working fine.
Update: It appears that setting ccode and regrev to 0 in the firmware partially fixes the WiFi, seehttps://bugzilla.kernel.org/show_bug.cgi?id=193121#c25 (See Update 6 below!)
Update 2: As many have been asking, here is a ready ISO with Ubuntu 18.04 for MacBook (Linux 5.0.0-15), touchbar and keyboard are working.
(See Update 7 below - I've added new links there.)
Update 3 If you are experiencing a 'black screen on boot' issue with the Linux kernels v4.18, v4.19 then try booting with amdgpu.dc=0
kernel argument.
Update 4 The 'black screen' issue was related to this commit https://github.com/torvalds/linux/commit/e03fd3f300f6184c1264186a4c815e93bf658abb
Having it reverted has solved the issue. https://github.com/Dunedan/mbp-2016-linux/issues/73#issuecomment-422397681
Update 5 I've updated the ISO with the latest Ubuntu version, SW, drivers.
Article has been updated to target Ubuntu 18.04.2 with the Linux kernel 5.0.0-15.
Update 6 Finally, there is a way of having your MBP's Broadcom wifi adapter working! All that needs to be done is placing the right brcmfmac43602-pcie.txt
file into a /lib/firmware/brcm/
directory. Then, reloading the brcmfmac
driver. You can find the brcmfmac43602-pcie.txt
file here https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52 Make sure you set the macaddr
in the brcmfmac43602-pcie.txt
file to the same value that brcmfmac43602-pcie.bin
has inside or you can see it using this command ip address show dev wlp3s0
Update 7 (30 Dec 2019) I've updated the ISO with the latest Ubuntu version, SW, drivers.
Article has been updated to target Ubuntu 18.04.3 with the Linux kernel 5.3.0-24 (the kernel is coming from the future Ubuntu Focal 20.04 LTS distro).
I added MacBookPro15,4
line to the /etc/udev/hwdb.d/61-evdev-local.hwdb
file of this image as an attempt to see whether the touchpad will start working in new MacBookPro 2019 https://github.com/cb22/macbook12-spi-driver/issues/77
The /lib/firmware/brcm/brcmfmac43602-pcie.txt
file from https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52 was added to the image so that WiFi will be working out of a box.
Download 2.8G: https://files.nixaid.com/ubuntu4mac.iso
SHA256:
a77086a4aadbfd5b29e86232a9e24aba
0f3a963af064e3c961adae8e9f8d2682
Preparing the disk
Partition for your Linux installation
You would need 10 GB minimum or 25 GB recommended space for the Ubuntu 18.04 installation.
All you need to do is to reduce your Macintosh HD
partition from macOS by using Disk Utility
. The freed space will be used by the Ubuntu Linux installer.
Remastering Ubuntu distro
I used another laptop running Ubuntu to apply the steps described in this section.
There are two drivers which you need to add to your Linux in order to avoid the unnecessary hassle with connecting external USB keyboard/mouse/stick as most of the howto's suggest.
By creating your own remastered Ubuntu Linux distribution, you will have a handy recovery tool you can use at any time.
Get Ubuntu
You can download it from its official website https://www.ubuntu.com/download/desktop
Extract the image
You need to extract the Ubuntu image before you can start remastering it.
Chroot to the image
Once the image is extracted, you will need to continue remastering it from inside. To do so, you will need to use chroot.
Update the image
It is a good idea to keep the software updated.
HWE
Since MacBookPro mid-2017 is a pretty new hardware, it makes sense to ensure you are running it on the newest Linux kernel (except for v4.18,v4.19 due to a 'black screen' bug) and the display server (Xorg).
In Ubuntu you can use the LTS Enablement Stack which is achieved simply by running the following command:
I've excluded the linux-generic-hwe-18.04
since it brings v4.18
kernel with the 'black screen' bug.
Use Linux kernel 5.3 from Ubuntu Focal release
Since there is a black screen issue
with the Linux kernels between v4.18-rc1 and v4.20-rc4.
We will install newer Linux v5.3 from Ubuntu Focal 20.04 LTS.
For this, we will use APT Pinning.
Install Linux 5.3 from Focal release
Cleanup old kernels
DKMS: Keyboard, touchpad and touchbar
To avoid hassle with plugging the external keyboard/mouse, you can already build in the keyboard, touchpad and touchbar drivers.
Note though, that Linux kernels higher than 4.15 have their touchbar driver refactored,
you can find upgrading notes here
For the Linux kernels before 4.16, please use this legacy driver branch
Before kernel 4.16
Do not follow this if you are using Linux kernel higher than 4.16.
If you want the F-keys to be always on by default and the Fn button for switching from F-keys to special keys, then use the following command:
After Linux kernel 4.15
Do not follow this if you are using Linux kernel lower than 4.16.
If you want the F-keys to be always on by default and the Fn button for switching from F-keys to special keys, then use the following command:
Common
This section is common to wheher you are using legacy monolithic driver or not.
You can also swap fn
and a control
keys:
Or remap it to any other key:
Kazaa Media Desktop mac software, free downloads and reviews at WinSite. Free Mac Kazaa Media Desktop Shareware and Freeware. Download Kazaa Lite for Windows now from Softonic: 100% safe and virus free. More than 371 downloads this month. Download Kazaa Lite latest version 2020. Kazaa free download for mac. Download free Kazaa: alternative P2P Free DownloadSafe Download. Kazaa is ideal for multimedia file sharers, always under the protocol peer to peer (Peer to Peer or P2P). With this software you have at your fingertips all the movies and music you want, as long as the user activity improves commonly available files on the Web. Free Downloads: Kazaa For Mac. License: All 1 2 Free. Parallels Desktop for Mac. Parallels Desktop 4.0 for Mac provides the complete essentials for an easy, fast and powerful way to run Windows on a Mac. Get Parallels Desktop 4.0 for Mac and make Windows programs run seamlessly, safer and more Mac-like with 50+ new features! Download Download Kazaa Mac Software Advertisement Limewire Pro Free Download v.4.10.5 Limewire Pro Free Download is an open source, peer to peer program.
Touchpad configuration
Next, you need to set the proper dpi for the touchpad:
DKMS: USB WiFi TP-LINK TL-WN722N
Hypercam free download mac. FROM UPDATE 6: You can skip this section! There is a way to get your MBP's wifi adapter working (see Update 6 in the beginning of this article)
TP-Link TL-WN722N v2 support has been added to the Linux kernel starting v4.13-rc2 https://github.com/torvalds/linux/commit/5a1d4c5dd4eb2f1f8a9b30e61762f3b3b564df70
So you can skip this section entirely if you happened to be using a recent kernel.
In order to enable the external TP-LINK TL-WN722N USB WiFi adapter, you need to make sure the Ubuntu image has the necessary driver.
Exit chroot environment
Exit the chroot environment when you are done modifying the Ubuntu image.
Update the kernel
To ensure the remastered Ubuntu boots the latest Linux kernel which you have installed in the chrooted system.
Build remastered Ubuntu image
The following steps are to build the remastered Ubuntu image.
When running xorriso
, keep in mind the order of arguments is important.
Test the new image
Make sure your remastered image boots, before writing the it to your USB stick.
Out of the following methods, you would likely only need UEFI -> USB
.
Install the UEFI firmware and qemu for running virtual machines:
Legacy (BIOS)
CDROM: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -cdrom ubuntu4mac.iso
USB: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -device nec-usb-xhci,id=xhci -drive if=none,id=stick,file=ubuntu4mac.iso,format=raw -device usb-storage,bus=xhci.0,drive=stick
UEFI
CDROM: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -bios /usr/share/ovmf/OVMF.fd -cdrom ubuntu4mac.iso
USB: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -bios /usr/share/ovmf/OVMF.fd -device nec-usb-xhci,id=xhci -drive if=none,id=stick,file=ubuntu4mac.iso,format=raw -device usb-storage,bus=xhci.0,drive=stick
Installing the Linux
Boot your MacBookPro from your newly remastered Ubuntu - ubuntu4mac.iso
and create the following partitions:
/dev/nvme0n1p4
EFI 1024 MB/dev/nvme0n1p5
/boot ext4 1024 MB/dev/nvme0n1p6
physical volume for encryption (all free space)
on top of /dev/mapper/nvme0n1p6_crypt
set ext4 and /
as a mountpoint
Make sure you have set /dev/nvme0n1p5
as a 'Device for boot loader installation'.
Include your DKMS modules
Repeat the steps from the DKMS: Keyboard, touchpad and touchbar
and DKMS: USB WiFi TP-LINK TL-WN722N
sections, but only in the /target
mountpoint, so you will have to be chrooted. To chroot into the /target
, see the commands below under Chrooting to your system
section.
Get the Ubuntu EFI files back to their place
When the Ubuntu Linux installation finishes, do not restart your MacBookPro yet.
The Ubuntu installer mounted /dev/nvme0n1p1
instead of /dev/nvme0n1p4
as an EFI partition and put Ubuntu EFI files in there.
To fix this, apply the following steps.
Move Ubuntu EFI files to a correct partition
Tell the future system to use a proper EFI partition
Get UUID of your EFI partition by running blkid /dev/nvme0n1p4
and set it in the /target/etc/fstab
file for the /boot/efi
mountpoint.
Set proper EFI boot record
Without this record your MacBookPro will not boot into the installed Ubuntu Linux.
Boot your Linux
Now you can reboot your system without the remastered Ubuntu image.
In order to boot back into macOS, just hold 'option' button while your laptop is booting and select 'Macintosh HD'.
Recovery
Having the remastered Ubuntu Linux USB stick handy, you can boot off it, mount your partitions where Ubuntu is installed, chroot into it and fix the issues.
Mounting your system
Chrooting to your system
Now you can fix things like EFI boot records, changing Linux kernel, updating drivers and so on.
Exitting chroot
Unmounting your system
Extra hints
Swap command
and option
keys
Once you have logged-in under your user in the Gnome/Unity session, run the following command to permanently swap command
and option
keys:
Windows in QEMU/KVM
You can download Windows 10 for free and install/use it in QEMU/KVM.
https://www.microsoft.com/software-download/windows10
Steam in Docker
Macbook Drivers For Ubuntu
As a great surprise for some, you can play games in Linux on your MacBookPro using AMD Radeon Pro 560.
For that you can either install Steam on your own or use my Steam image which is much simpler https://hub.docker.com/r/andrey01/steam/
Grub to show options
This is important as one day you may get a Linux kernel that won't boot due to some problem. To prevent this, make sure you are able to choose the kernel when your MBP starts.
To do this, remove the GRUB_HIDDEN_TIMEOUT*
lines from the /etc/default/grub
file and make sure GRUB_TIMEOUT
is set to some reasonable value, e.g. 5
(without quotes).
Then regenerate grub config by running sudo grub-mkconfig -o /boot/grub/grub.cfg
command.
This will allow you to see the grub loader options on boot and let you pick a different kernel in case if the last one was having troubles to boot/or any other troubles.
Download Ubuntu 17.10 Macbook Pro Download
Grub to show macOS High Sierra option
Add the following code to /etc/grub.d/40_custom
file:
Then regenerate grub config by running sudo grub-mkconfig -o /boot/grub/grub.cfg
command.
After that you do not need to hold the 'option' button to load macOS when restarting your MBP.
When upgrading a Linux kernel
Make sure your kernel drivers have been compiled each time you are getting a Linux kernel upgrade. For that, run dkms status
command and see whether the module has installed
status there.
Troubleshooting
macOS got update and GRUB is not booting anymore
One day you may find yourself in a situation when only macOS is booting, while GRUB boot loader is being completely skipped.
Do not worry, you can set your Linux boot option back from macOS itself.
You can do this by using the bootoption tool
- Install Xcode from the App Store.
- Install bootoption:
- List your UEFI boot preferences:
CDROM: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -cdrom ubuntu4mac.iso
USB: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -device nec-usb-xhci,id=xhci -drive if=none,id=stick,file=ubuntu4mac.iso,format=raw -device usb-storage,bus=xhci.0,drive=stick
UEFI
CDROM: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -bios /usr/share/ovmf/OVMF.fd -cdrom ubuntu4mac.iso
USB: qemu-system-x86_64 -enable-kvm -m 1G -k en-us -bios /usr/share/ovmf/OVMF.fd -device nec-usb-xhci,id=xhci -drive if=none,id=stick,file=ubuntu4mac.iso,format=raw -device usb-storage,bus=xhci.0,drive=stick
Installing the Linux
Boot your MacBookPro from your newly remastered Ubuntu - ubuntu4mac.iso
and create the following partitions:
/dev/nvme0n1p4
EFI 1024 MB/dev/nvme0n1p5
/boot ext4 1024 MB/dev/nvme0n1p6
physical volume for encryption (all free space)
on top of /dev/mapper/nvme0n1p6_crypt
set ext4 and /
as a mountpoint
Make sure you have set /dev/nvme0n1p5
as a 'Device for boot loader installation'.
Include your DKMS modules
Repeat the steps from the DKMS: Keyboard, touchpad and touchbar
and DKMS: USB WiFi TP-LINK TL-WN722N
sections, but only in the /target
mountpoint, so you will have to be chrooted. To chroot into the /target
, see the commands below under Chrooting to your system
section.
Get the Ubuntu EFI files back to their place
When the Ubuntu Linux installation finishes, do not restart your MacBookPro yet.
The Ubuntu installer mounted /dev/nvme0n1p1
instead of /dev/nvme0n1p4
as an EFI partition and put Ubuntu EFI files in there.
To fix this, apply the following steps.
Move Ubuntu EFI files to a correct partition
Tell the future system to use a proper EFI partition
Get UUID of your EFI partition by running blkid /dev/nvme0n1p4
and set it in the /target/etc/fstab
file for the /boot/efi
mountpoint.
Set proper EFI boot record
Without this record your MacBookPro will not boot into the installed Ubuntu Linux.
Boot your Linux
Now you can reboot your system without the remastered Ubuntu image.
In order to boot back into macOS, just hold 'option' button while your laptop is booting and select 'Macintosh HD'.
Recovery
Having the remastered Ubuntu Linux USB stick handy, you can boot off it, mount your partitions where Ubuntu is installed, chroot into it and fix the issues.
Mounting your system
Chrooting to your system
Now you can fix things like EFI boot records, changing Linux kernel, updating drivers and so on.
Exitting chroot
Unmounting your system
Extra hints
Swap command
and option
keys
Once you have logged-in under your user in the Gnome/Unity session, run the following command to permanently swap command
and option
keys:
Windows in QEMU/KVM
You can download Windows 10 for free and install/use it in QEMU/KVM.
https://www.microsoft.com/software-download/windows10
Steam in Docker
Macbook Drivers For Ubuntu
As a great surprise for some, you can play games in Linux on your MacBookPro using AMD Radeon Pro 560.
For that you can either install Steam on your own or use my Steam image which is much simpler https://hub.docker.com/r/andrey01/steam/
Grub to show options
This is important as one day you may get a Linux kernel that won't boot due to some problem. To prevent this, make sure you are able to choose the kernel when your MBP starts.
To do this, remove the GRUB_HIDDEN_TIMEOUT*
lines from the /etc/default/grub
file and make sure GRUB_TIMEOUT
is set to some reasonable value, e.g. 5
(without quotes).
Then regenerate grub config by running sudo grub-mkconfig -o /boot/grub/grub.cfg
command.
This will allow you to see the grub loader options on boot and let you pick a different kernel in case if the last one was having troubles to boot/or any other troubles.
Download Ubuntu 17.10 Macbook Pro Download
Grub to show macOS High Sierra option
Add the following code to /etc/grub.d/40_custom
file:
Then regenerate grub config by running sudo grub-mkconfig -o /boot/grub/grub.cfg
command.
After that you do not need to hold the 'option' button to load macOS when restarting your MBP.
When upgrading a Linux kernel
Make sure your kernel drivers have been compiled each time you are getting a Linux kernel upgrade. For that, run dkms status
command and see whether the module has installed
status there.
Troubleshooting
macOS got update and GRUB is not booting anymore
One day you may find yourself in a situation when only macOS is booting, while GRUB boot loader is being completely skipped.
Do not worry, you can set your Linux boot option back from macOS itself.
You can do this by using the bootoption tool
- Install Xcode from the App Store.
- Install bootoption:
- List your UEFI boot preferences:
You can also see more info for each option:
- Set ubuntu to be 1st in your boot order:
If you get this error, do not worry, this is due to the SIP (System Integrity Protection). All you need is just to disable it (you can enable it later):
After that the commands will work as expected:
You can also use sudo bootoption set --bootnext 0000
command for one-time boot.
References
- Linux On MBP Late 2016
- MBP 2016 Linux
I had an old 17 inch MacBook Pro from 2009 (college) lying around and I figured it'd be a fun challenge to install Linux on it. I had never installed or even used Linux before (to my knowledge). I also, confusingly, hadn't found a clean, step-by-step guide for doing this, so I promised I'd write my process out as thoroughly but simply as I could once I got it done.
I now realize, I think, that the reason the process of installing even a popular Linux distribution on a common (if old) model computer isn't written out or easily findable is that the process is a bit different for everyone, depending on the distro, the version, and the hardware you're starting with. Note that I didn't want to partition my hard drive to allow myself to dual-boot either in OS X or Ubuntu– I was going for a full replacement, and thus would and did lose all the files on applications I had on the old Mac.
But regardless, here is the process I took.
About This Mac
How I Got Ubuntu 16 Installed
Again, note, this worked for me and my machine but may not for you. For example I believe I had to do steps 4, 5, 8, 9, 10, and 11 only because I have a MBP with an Intel chip.
Also, WARNING, this procedure completely wiped my OS X and all the files and applications on that installation, as I intended. There are ways to dual-boot both, but I wasn't interested in that as Mavericks was running super slow on this computer. Furthermore I think all the data I had on my USB stick is lost due to it being formatted in a certain way at some point in the procedure.
UPDATE (February 2017): Before moving ahead, you may want to consider the following. A helpful commenter, Brian Moran, writes that, when installing Ubuntu on an older Mac with a NVIDIA graphics card, it may be better to 'boot in ‘Legacy BIOS mode', not in ‘EFI' mode':
Apparently what is happening is that both the open source and Nvidia drivers are buggy when doing an 'EFI Install' on Mac machines. If full graphics performance is desired, a 'Legacy BIOS Install' is needed.
From the forum post that the commenter cites, which is concerned with a MacBook Air 3,2:
The core problem with the [generic] installation is this. The graphic driver that Ubuntu installs by default (Nouveau) has bugs with the MacBook Air 3 graphic processor, the nvidia GeForce 320M (G320M). You can do a default install, it will boot normally, but you'll soon see little glitches here and there and the computer will normally crash after a few minutes of use (especially when transparency or shadow effects are used, it seems). The problem exists with Raring and I expect it arises with Precise (though see ‘‘alternative solutions' below).
To avoid that, you need to install the proprietary nvidia driver. But here is the catch: the driver requires the computer to boot in 'Legacy BIOS mode', not in 'EFI' mode (see here or here). If you install the nvidia drivers while Ubuntu is in EFI mode, you'll get a blank/black screen at the beginning of the boot. (If you got to that stage, see the ‘‘recovery for nvidia drivers EFI crash'' below). On a PC you can force Ubuntu to install in BIOS Legacy mode by selecting that mode in the computer BIOS. But on a Mac you can't (easily) do that, and if you install from a USB key by default you will be in EFI mode.
So summing up, if you do a default installation of Ubuntu from a USB on a MacBook Air 3,1 or 3,2, you'll either have buggy graphics and random crashes, or you'll install the nvdida drivers and have a blank/black screen at startup.
For the record, I followed the procedure detailed below with my MackBook Pro 3,1 and while I now believe that my nvidia card is NOT being used, basic computing (web browser, document editing coding, simple games) are working just fine. Not being a gamer I don't know much about graphics cards, but for what it's worth I believe my MacBook Pro has a G84M [GeForce 8600M GT] card, which is not the same model listed in the forum post the commenter cites.
Download Ubuntu 17.10 Macbook Pro 2020
But if I were starting over I might instead consider the procedure outlined in the forum post the commenter links to in hopes of even better performance. End of February 2017 update.
Alright, with all that said here's what I think I would do if I were starting fresh, knowing what I know now:
What I Did to Install Ubuntu
- Get a USB drive with at least 2 GB of storage. Know that it's going to get wiped, so move important files off it first. Then use the MacOS Disk Utility to format the USB stick as DOS FAT32.
- I'd follow this guide to download Ubuntu 16.04 LTS and get it onto the USB stick, using UNetbootin.
- As described in the final step in that guide, when you restart, hold down the option key on your Mac. In the resulting menu, select the 'EFI' device as the device to boot from.
- You'll be confronted with a text-only menu that's from a piece of software called GNU GRUB. Key down so your cursor is on 'Install Ubuntu', but instead of pressing enter, press
e
to edit the commands before booting. - This opens an options file in a basic text editor. Find the line that has
ro quiet splash
in it and make that bit of the line readro nomodeset quiet splash
. Then press either F10 or Ctrl-X to boot (read the text at the bottom of the screen to be sure of the key(s) to press). - If presented with a choice in GRUB (a text menu) with an option to
install Ubuntu
, choose that option. - You should be then presented with a nice GUI (not text only) Ubuntu installer, or maybe an icon that says
Install Ubuntu
. Double click the icon if you see it. Go through everything, decide whether or not to connect your Wifi to download updates, decide whether or not to encrypt your home folder, and then choose restart. - We now need to boot Ubuntu in recovery mode. To do this, as the computer is starting up again after restart, right after you hear the Apple/Mac start-up sound, hold the SHIFT key. Repeat step #3 above if you're presented with the EFI option. Once you're at a text-only menu, press
e
and addnomodeset
to the line of code discussed above. Then press the key(s) to boot. Ubuntu should boot up– though the display may be screwy. In either case, we're not done yet. - Now we need to make that
nomodeset
setting permanent. Open terminal (ctrl+option+t) and runsudo nano /etc/default/grub
. (Reference) - In that file, add
nomodeset
toGRUB_CMDLINE_LINUX_DEFAULT
as seen below:
- Save this text file by hitting Ctrl+O, then exit nano with Ctrl+X, then, back in Terminal, run:
sudo update-grub
- Restart the computer (the menu for which is in the top-right corner of Ubuntu 16).
I think that would do it. I don't think I needed rEFInd. And apparently the warning on UNetbootin that I could run the device on Macs was not accurate.
For completeness sake, here is the actual process I went through over three days.
Attempt #1: Ubuntu 16.04
I found this guide which involved downloading and using the UNetbootin USB installer.
I believe I successfully downloaded the Ubuntu 16.04 ISO and UNetbootin. I then installed UNetbootin (by dragging it into Application) and then I used UNetbootin as described in the tutorial. However at step 7 when I restarted my Mac and held the option key I was presented with a menu to try or install Ubuntu. Every time I selected 'install' it just went to a black screen. I waited minutes but no installation screen appeared. I then held down the power button and the computer rebooted in OS X, back to square one.
I will say that after using UNetbootin to load the USB stick the program warned the device could only boot the new OS on PCs, not on Macs. I chose to ignore that warning and try anyway, but as I reported above, it didn't work.
Upon further research I believe the Ubuntu 16.04 may not work on Intel-based MBPs made circa 2009. One page, https://help.ubuntu.com/community/MacBookPro, seemed to encourage those with MBPs this old should instead opt for Ubuntu 14.04.
I didn't want to run an old version of a distro I wasn't particualrly excited about if I could find a distro that I could run the lastest version of. Plus I couldn't quite figure out how to download an (official) copy of version 14.04.
Attempt #2: Mint 18 ('Sarah') Cinnamon 64-bit
I understand that the other distro well-reviewed for beginners is Mint. And I saw that Mint 18 was itself got good reviews.
So I headed over to their download page and chose 'Cinnamon 64-bit' and downloaded it via a torrent.
The only tutorial that I found for installing Linux Mint via USB seemed strange and brief. Thus my current plan is to try to use UNetbootin again, following the Ubuntu guide but with Mint this time rather than Ubuntu 16.04.
However, as before, after using UNetbootin it told me the device could only boot the new OS on PCs, not on Macs.
When I restarted my Mac and held down the option key, I got a similar menu as when I tried Ubuntu, but eventually came to a dark black screen. I waited a few minutes, and then forced the computer to shut down by holding down the power button.
Attempt #3: Back to Ubuntu 16.04 by a different method
I followed the instructions presented here, which I was optimistic about it because it avoided using UNetbootin, along with the potentially helpful warning:
UNetbootin for Mac OS X can be used to automate the process of extracting the Ubuntu ISO file to USB, and making the USB drive bootable. The resulting USB drive, however, can be booted on PCs only.
Which mirrors the warning UNetbootin gave me.
However the method described in the link above failed in the same way the others did– I restarted, held down the option key, chose the EFI boot, chose to install Ubuntu, and then was met with a black screen. For the first time I thought to check the light on my USB stick to see if it was at least thinking but it was off.
Attempt #4: Using rEFInd Boot Manager
From here I found an article about installing Debian (a more advanced distro of Linux).
That let me to believe rEFInd was something I needed to install first.
However this program (I admittedly didn't take the time to figure out what it actually does) did not seem to help. Afterward, and before my next attempt, I bypassed rEFInd by going to System Preferences > Start Up Disk, selecting my hard drive and hitting the restart button. Thus I do not think I actually needed to install rEFInd to successfully get Ubuntu installed, however I'm not 100% of this, since the rEFInd uninstall instructions for OS X recommend bypassing rEFInd rather than actually uninstalling it.
Attempt #5: Having bypassed rEFInd, I replace quiet splash
with nomodeset
Download Ubuntu 17.10 Macbook Pro Windows 7
Big success!
Somewhere else I remember seeing someone recommend turning on an option called nomodeset
in GNU GRUB, but for some reason didn't think I had that option in the menu that I kept getting. Turns out, as described here, when you get to the GRUB menu you hit the e
key. Then you add nomodeset
as a parameter in one of the lines of code in the text file that opens. Removing quiet splash
seems to just present more text as output– the nomodeset
solved the problem.
After maybe 40 seconds I was presented with an Ubuntu desktop and a shortcut icon to an Ubuntu installer. I double-clicked the installer and followed the wizard.
I connected to my wifi network and told it to download updates as it installed to make things quicker. The only hard choice was whether to encrypt my home folder (which I believe you can't do later). I decided not to based on this answer as I was worried about the performance hit on decrypting on a machine with 2GB memory. Then I just waited for Ubuntu 16.04.1 LTS to install.
After installation it asked me to restart. I clicked yes. I then got an ugly error message that said something like 'remove the installation device and hit enter'. I still had the USB stick in, unsure when I was to remove it. I pulled it out and hit enter. The computer then restarted, making the familiar Mac start-up sound and presenting the familiar Mac gray, but then it switched to a purple Ubuntu-like color and stayed there for a minute.
Setting nomodeset
permanently
When I came back from that restart it was stuck on a purple screen. I figured I needed to set nomodeset
permanently on. I needed to get back to the GRUB screen, which I figured out from somewhere:
- Switch on your computer.
- Wait until the BIOS has finished loading, or has almost finished. (During this time you will probably see a logo of your computer manufacturer.)
- Quickly press and hold the Shift key, which will bring up the GNU GRUB menu. (If you see the Ubuntu logo, you've missed the point where you can enter the GRUB menu.)
Then, to set nomodeset
to be on permanently, I followed this Ask Ubuntu answer that reads:
I saved that file and ran sudo update-grub
as instructed. I then restarted my computer once again and I think that's when things went smoothly for the first time.
(FYI a similar process to the one described above seems to be given here but with some other stuff as well, if you need more help at this stage.)
Initial Thoughts
Woohoo! It seems snappier that OS X 10.9, but it's not a speed demon like my 2012 MacBook Air with 8 GB of memory.
But the desktop and dock are familiar enough to me. It comes with Firefox, Libre Office, a basic text editor, and a link to Amazon.com(?) in the dock that's on the left by default. I got terminal Vim and RVM running with a few Google-able tweaks from the OS X installation process. Remapping caps lock to control was one line in Terminal (setxkbmap -option caps:ctrl_modifer
), however that did not persist when restarted. I followed this AskUbuntu answer and went to Startup Applications > Add > and entered setxkbmap -option caps:ctrl_modifer
. It seems to persist on restart now.
I was able to install git by running sudo apt install git
. Similarly I was able to install KeePassX by running sudo apt-get install keepassx
(I'm not 100% in the difference between apt
and apt-get
here but that's what I saw on the internet help sites I found). I also installed a fresh version of vim but I forget what line I ran in terminal.
Download Ubuntu 17.10 Macbook Pro 2017
To run a general update and upgrade, I run sudo apt update && sudo apt upgrade
, which seems to work.
We'll see how much I use this old computer going forward, and what for.
Update: Just found this website that aims to teach Linux for beginners, which I might checkout. There's also this series of YouTube videos: Ubuntu Beginners Guide that looks nice, is Ubuntu-specific, and is, as of this writing, only one month old.
Switching to Lubuntu
To avoid the high memory usage of Ubuntu's Unity desktop environment, I installed Ubuntu's LXDE desktop environment (called Lubuntu). I had a gist that Unity was a bit of a memory hog compared to other desktop environments. I also spotted this Reddit post that compares some lightweight distros in terms of RAM consumption and Lubuntu did well.
To install Lubuntu, I ran sudo apt-get install lubuntu-desktop
(I learned this from a helpful user in the Ubuntu Riot.im channel). The size of the installation was about 340 mb.
After installing the Lubuntu desktop environment, you want to run the software updater, restart the computer (logging out is not enough), and at the login screen choose Lubuntu (or LXDE… that's another option and I'm not sure what the difference is).
You can check how much RAM you have available by running free -m
in the terminal. Thanks to this site, I knew to look for the value under 'available' to get an accurate estimate of how many megabytes of my memory were 'free'. With my terminal and Firefox running on Lubuntu, I have about 1187 MB RAM of my 2 GB available, as opposed to Ubuntu, which generally only left about 700 or 800 MB available when I was running a couple of programs (not a very scientific test, I know).
Plus I can always switch back to regular Ubuntu via the login screen.
Lubuntu is pretty snappy! I did want to disable my touchpad from clicking, which I did by doing this:
How to disable tap to click persistently in Lubuntu
- Open
~/.config/lxsession/lubuntu/autostart
or possibly~/.config/lxsession/LXDE/autostart
(not sure which) - To disable tap touchpad to click, add
synclient MaxTapTime=0
You can find other settings to set here, like enabling two-finger horizontal scroll (synclient HorizTwoFingerScroll=1
).
Installing an application launcher for Lubuntu
On macOS I make frequent use of Alfred as an application launcher. Ubuntu's Unity desktop environment sort of had something like that, which you can initiate by pressing the command key on its own at any time. But I couldn't find something similar in LXDE– the application menu (similar to the Start menu in Windows) was just not fast enough for me coming from macOS + Alfred).
So I found this askubuntu answer that recommends installing an application called Synapse by running sudo apt-get install synapse
. By default the launcher is invoked by hitting ctrl + space
, but I changed it to alt+Enter
by launching Synapse and clicking on the not-super-obvious round button on the right side of the pop-up display and clicking 'Preferences'. Works great!
My attempt to make the Gnome terminal the default
The default Terminal in Lubuntu (think it's called LXTerminal) didn't support true color in Vim, so I looked for other options. I had gotten used to the terminal in regular Ubuntu (which I'm pretty sure is the Gnome Terminal), so I figured I could switch that in on Lubuntu. Oddly it's not in the main menu of applications, but I figured out a way to set it as the 'default' terminal:
- menu > Preferences > Default applications LXSession
- Launching applications > Terminal manager > More > write in 'gnome-terminal' for 'Manual setting'
This seems to have worked– but only way I know how to launch Gnome Terminal is with the standard launch-terminal shortcut of option + control + t
.
But note that if you're a Vim user the only way I could get a version of Vim with system clipboard support was to install Neovim and then install xsel by running something like sudo apt-get install xsel
. Restart your Gnome Terminal and you should be good to go.
More Lubuntu configuration ideas
Just found this long forum post with more ideas of recommended features for Lubuntu.