Skip to content

Instantly share code, notes, and snippets.

@cstockton
Last active March 5, 2018 19:27
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cstockton/f0fc6c1c0a624989b079e2075c373077 to your computer and use it in GitHub Desktop.
Save cstockton/f0fc6c1c0a624989b079e2075c373077 to your computer and use it in GitHub Desktop.
*ubuntu install steps macbook pro 2016

Install the iso

  • press and hold alt right after powering on
  • select EFI BOOT
  • select try ubuntu gnome
  • control + e
  • delete quiet and splash, nomodeset intremap=nosid
  • hit f10 to boot into live cd

luks If using full disk encryption with llvm and luks (you are using full disk encryption right! I have a gist for working with luks here if anyone wants a primer around it for their other disks):

  • Note1 - you will need to disable swap with swapoff --all
  • Note2 - I got a error and the installer froze the first time, I checked syslog and it complained about pvs command I believe, to recover:
  1. I used dmsetup remove /dev/mapper/nvme0n1p3_crypt
  2. wiped all the partitions off again, wipefs --all /dev/nvme0n1
  3. apt-get install lvm2

Finish the installation steps but don't reboot.

You can reboot if you want to get a checkpoint to see where you are at, but the recovery shell in systemd was absolutely nightmarish cancer last time I used it so I wasn't having any of it. I just chrooted the new install and did everything I could to ensure the boot would be successful.

mkdir /chroot
mount /dev/mapper/ubuntu--gnome--vg-root/chroot # mount root partition
mount /dev/nvme0n1p2 /mnt/chroot/boot # mounts boot, we will update-grub
mount /dev/nvme0n1p1 /mnt/chroot/boot/efi # and update our efi
# setup the chroot
mount --bind /dev /chroot/dev
mount -t sysfs sys /chroot/sys
mount -t proc proc /chroot/proc
cp -L /etc/resolv.conf /chroot/etc/resolv.conf
chroot /chroot /bin/bash

Now you are in your new operating system and can get setup in whatever way you need to. I installed a new kernel I built from my workstation as stated in my comment and did some other setup for app armor and my own personal setup / preferences, but the minimal you should probably do so you boot cleanly is:

apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

# I added intremap=nosid for boot parms, just to be safe before I had
# my first normal boot. I also added a menu entry with modesetting. I hear some
# didn't need them, but I got a laptop that I couldn't login to from work so I
# couldn't update my firmware first so that may have mattered here. Not sure. 
vi /etc/defaults/grub
update-grub
update-initramfs -u -k all

Next you can do the stuff listed in the guides for fixing some of the hardware from here.

Notes:

  • Intel integrated graphics which won't power 4k monitors (not mine anyways) so you have to make a choice on how to run 4k graphics, options are:

    1. Use the amdgpu module to enable the radeon 455 gfx, you must allow graphics mode setting for it to be detected. (don't add a nomodeset boot param)

    2. Use the amdgpu-pro module to enable the radeon 455 gfx. This is a bit more tricky as kerns > 4.9 are not supported from the official amd.com tar downloads. Not to mention they don't even work, I had to edit mine to add a slash separator in the install script as it was attempting to install to /etcaptsource.list.d. I was able to get the amdgpu-pro to compile from their 4.12 branch, but it was less stable then amdgpu so I don't suggest it. I would wait for it to land officially for artful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment