After rendering my Mac Book unbootable installing Fedora 25, I decided to try again, changing as little as I could to see where the previous installation went wrong. I’m happy to report that the second time worked perfectly.
It just works™
I now have, as I wanted, a Mac Book Pro that dual boots Fedora 25 and OSX Sierra, with full disk encryption on the Sierra side, BTRFS on the Fedora 25 side, and no third-party boot manager, i.e. no rEFInd or rEFIt, just the regular graphical boot menu you get by pressing the Alt key at boot. I’m typing this alternatively between the two sides, just because I can.
So what was the difference compared to my previous run? Frankly, I’m not sure, but based on the inability to re-partition the disk without erasing it entirely, and on the fact that I could no longer see the Recovery HD partition that I never intended to remove, I suspect that the previous iteration somehow damaged the GPT partition. This time, I was careful to setup partitions ahead of time on the OSX side, so that OSX would be “in the know” of where stuff was.
So here is the sequence that led to a fully functional system:
- Boot the macOS Sierra installer using the Internet Recovery procedure (it takes a few minutes given my limited DSL bandwidth).
- Partition the disk before installation (that’s the main difference compared to the previous run), allocating space I wanted to dedicate to Linux as “ExFAT”.
- Install macOS Sierra on the first partition, selecting full disk encryption.
- Reboot on the USB key with the Fedora installer.
- In the disk configuration, select “manual partitioning”.
- Delete the partition reserved for Linux. Check that the recovery partition is visible at this stage.
- I still had the issue that the Fedora installer would not recognise the existing EFI system partition, so I created another EFI partition mapped under
/boot/efi, that the installer formatted as HFS+ and called “Linux HFS+ ESP”. I thought this is what had caused trouble last time, but apparently not, since this time it works. I allocated 500MB for it, probably way too big.
- Allocated 8GB for swap, 2GB for an ext4
/bootpartition, and the rest to
/formatted with BTRFS.
- Let the installer do its job.
- Reboot. Check that Fedora works.
- Reboot once more with Alt. Check that OSX still boots.
I love it when a plan comes together.
Next: setting up some VMs with various flavours of Linux, remote displays, etc. I expect to crash and burn a few times along the way, but hey, that’s how you learn.
About minor glitches
By the way, I figured out what I found so annoying with the trackpad: while you are moving the cursor, as soon as a second finger touches the trackad, all movement suddenly stops, whereas on OSX, movement continues. So you have to be extra careful about holding your fingers up while moving things on the trackpad. Now that I “got it”, it took surprisingly little time to avoid making mistakes.
So far, no Wi-Fi issues, but from where I am, I don’t know which base station was picked up. But definitely, it looks like it might actually be working. Crossing fingers, but not too hopeful. If it works, it’s annoying, because that means what was a somewhat reproducible bug turned into some Heisenbug, and will be harder to attack.
One of the most difficult things in a transition like this is to re-train your fingers for all the keyboard shortcuts. That’s when I realize that I mostly used Linux in command-line mode, but never spent that much time in Gnome
Simple keyboard shortcuts like how to delete a word backwards (Control-Backspace instead of Alt-Backspace), or how to copy/paste are subtly different (e.g. Control-C instead of Command-C). For things like “Copy”, it’s annoying, because you don’t realize you got it wrong until you actually try to paste and Gnome shows you a calendar (which is apparently what Super-V does by default).
I could of course remap Control to Super/Command, but I’m afraid that would screw up my Emacs and bash keyboarding habits. So it’s probably more a matter of mapping specific shortcuts. I usually remap Caps-Lock to Control within minutes of setting up a new machine, it’s just a tiny less easy in Linux than in OSX, you need to install gnome-tweak. But definitely nicer than the registry hacks in Windows.
I wonder if there is some “Mac mode” for GNOME that adjusts keyboard shortcuts? It is clearly possible. Probably have to set that up myself, I doubt someone else has exactly the same typing habits I have.
Really cool things about Linux
All the comments yesterday got me really concerned that Fedora would be crappy on Mac hardware. Frankly, I disagree. It works surprisingly well. It feels really snappy compared to OSX. Launching applications on Sierra brings back ugly memories of forever bouncing icons in early MacOSX releases. No such thing with Linux, you launch an app and generally it’s there. This snappiness is also particularly noticeable in some applications, e.g. with Software vs. App Store.
The laptop runs a bit hot, but given what I’m currently throwing at it, it’s rather reasonable. And at least, I know that fan control is working and that I’m not too much at risk of frying my motherboard.
The light in the audio connector stays up. It’s always been like this (it’s the S/PDIF led). I remember there’s a way to fix it, need to find it.
Global updates while you are working with
sudo dnf update are really cool. Sometimes, the command-line is just so much easier than GUIs ;-).
Major bump on the road: crazy video glitches
Ooops, looks like I ran into another relatively big bump. I had downloaded Gnome Tweak Tool to get a Control key in place of Caps-Locks. I started exploring the tool. There was one option to switch HDPI (hi-DPI display settings). I tried that.
The first thing I noticed was the Firefox started looking really small. Hitting the “Revert” button did not fix it. Restarting did not fix it. Other applications seemed unaffected, but now some icons on the desktop did have really tiny fonts. So it looks like HiDPI settings were all over the place. Flipped the Hi DPI back and forth once more, no repair. So I closed the session.
Now when I logged back in, Firefox still looked weird, with relatively big fonts, but no longer aligning correctly with the boxes (it’s a bit hard to describe, and I did not take a snapshot). But the real issue was that my screen, which had looked perfectly stable so far, started glitching like crazy for any update. I rebooted, same thing. I rebooted back into OSX and back into Red Hat, just in case OSX would put some chip in the “right” state, but it was still glitching to the point of being unusable.
I had done practically nothing since the install, so I thought the quickest way out was reinstalling.
And I can confirm my Wi-Fi problem is back after reinstall. Let’s say it’s a good thing 😉
Moral of the story: don’t play with the HDPI settings on Gnome Tweak Tool on a MacBook Pro 15. It’s good after a fresh install, let’s hope it stays that way. I need to learn how to report all these things better than writing them on my noteblog.
The glitching issue reappeared after a couple of reboots. It’s possible the issue is really a recent regression that reappeared after I did a
dnf upgrade. But it’s really annoying. It seems to be particularly visible during large screen updates (e.g. window scrolling) as opposed to smaller ones (e.g. typing). If anybody has an idea of what to try to debug this, please comment.
Some things never change
I just had a funny thought: I edited my
/etc/fstab to add my NFS mount points. And I realized I was completely unable to remember when I had done that for the first time. When did I learn about
mount -a or the format of the
Based on some additional context (Sun workstations, first job, blah blah), I’m pretty sure it was around 1992. If that’s true, the command that popped back in my memory, that I had not used in some serious amount of time, was committed to memory about 25 years ago.
Feeling old 😉
Things to do after a fresh install
This site lists a number of interesting things to do right after a fresh install. For me, it will be “get some rest”. And probably do a btrfs snapshot, just in case something goes wrong again.