Install Ubuntu 20.04 LTS on MacBookPro14,1

Published on 24 April 2020

Ubuntu 20.04 just released and I can’t wait to try it out and install on my MacBook Pro 14.1 model. I am going to tell you what works and what doesn’t work, as well as any workaround to fix those issues.

The install steps are simple:

  1. Download a copy of ubuntu 20.04 iso image https://ubuntu.com/download/desktop
  2. Get a USB drive. Format it to FAT format via mac os disk utility tools
  3. Using Etcher to create bootable USB drive. You can download the software here: https://www.balena.io/etcher/ 
  4. After you fresh the drive with the iso image, reboot your Mac and pressing Option key to select boot from a USB drive.

Once you start to boot up from USB drive, you would notice something doesn’t work already: the track-pad. It doesn’t respond, but never mind, we can either use an external mouse or continue the installation via keyboard. (And we can fix the driver issue later as per the steps below). Follow the instructions and you may boot to ubuntu operating system now. One thing I like for this version is the boot screen is black install purple in the previous version.

Out of the box, here are what’s working:

What doesn’t work out of the box:

make -C /lib/modules/5.4.0-26-generic/build M=/home/Workspace/bcwc_pcie modules_install
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-26-generic'
INSTALL /home/Workspace/bcwc_pcie/facetimehd.ko
At main.c:160:

    SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:69
    SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:76
    sign-file: certs/signing_key.pem: No such file or directory
    DEPMOD 5.4.0-26-generic
    Warning: modules_install: missing 'System.map' file. Skipping depmod.
    make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-26-generic'

You could get rid of that error by not using modules_install in your Makefile.

Change:

install:
 $(MAKE) -C $(KDIR) M=$(PWD) modules_install

to

install:
 cp facetimehd.ko /lib/modules/$(shell uname -r)/extra
 depmod -a

Other customization I like after installation are:

So now everything works. And you have a secure and high performance operating system. It’s painful but fun with Linux since it’s open-source and allow you to do all kinds of customization. You can create all the bugs and crash your operating system if you don’t know what you are doing, not just frustrating but also rewarding experience to learn something new through troubleshooting the issues. If you have any questions or comments, feel free to get in touch.