Category Archives: Linux

Repair missing UEFI entry for Fedora Linux

After a windstorm led to multiple power dropouts*, I found that my computer would no longer boot to Fedora. It booted to Windows still, but wouldn’t load GRUB.

Fixing it was confusing, because it wasn’t clear where the problem was. I found lots of references to how to reinstall GRUB2 or how to regenerate a GRUB boot menu (which you can fix by booting to a live USB stick and mounting the system image or using specialized recovery tools), and lots of references to how to modify a Windows boot menu (depending on whether you are using UEFI or MBR), and so on, but the problem turned out to be that the UEFI firmware had lost the menu item, so it wouldn’t load GRUB, so GRUB couldn’t load Fedora.

This is how I added back that missing menu item:

  • Boot to a Fedora Live image off of USB in UEFI mode.
  • efibootmgr -v to see if there was actually a boot entry in the firmware for Linux. (There wasn’t. Only an entry for Windows. Which I’d managed to accidentally rename as Linux somehow, but it was pointing to the \EFI\Microsoft\Boot\bootmgfw.efi file, which is why the system was able to boot to Windows.)
  • Use the Gnome Disks tool to identify which partition on which disk has the EFI boot system.
  • Create a new entry pointing to the shim.efi in the Fedora folder.
    sudo efibootmgr -c -w -L Fedora -d /dev/sdb -p 1 -l /EFI/fedora/shim.efi
    -L is a label, which you can assign whatever you want.
    -d is the disk with the EFI partition.
    -p is the number of the EFI partition.
    Make sure you write the path to shim.efi in UNIX style (/), even though EFI stores DOS-style paths (\), or you’ll end up with it trying to point to EFIfedorashim.efi, which still won’t work!
  • efibootmgr -v again to make sure the entry is present and points to the actual file (it should point to \EFI\fedora\shim.efi now).

*I forgot that I’d left the computer on sleep mode instead of turned off all the way. After one of the outages it must have turned on — I’m not sure exactly, since I was in another room, but I came back in and it was on, stuck with the drive light active, unresponsive, while the room lights flickered repeatedly. I shut it off completely and didn’t turn it back on until the wind died down and the power settled out.

Fix for “Among Us” not joining games on Linux

“Among Us” isn’t labeled as compatible with Steam Play, but if you tell Steam to enable it for all Windows games, it will launch, and it will run…with one weird glitch: It won’t connect to any games, public or private.

Until you change your server region and change it back.

🤷 No, it doesn’t make sense to me either. But at least it works.

Workaround for Gmail being blocked by “Temporary Error” in Firefox on Fedora

There’s a problem with either Firefox on Linux or specifically Firefox on Fedora where Gmail won’t load and instead shows a Temporary Error page with Numeric Code: 9

Fortunately it’s easy to work around by holding down shift and hitting reload.

I mean, clearing the cache and deleting all my google-related cookies worked too, but that’s a pain to do every time you go back to the site after closing the tab.

Update It was indeed Fedora-specific, also affected several extensions, and has been fixed in the 82.0.2-3 packages.

Screenshot of the Gmail Temporary Error page including Numeric Code 9 and suggestions to try again, sign out, etc.

Free Software and Failed Ideals

Once upon a time, the idea that “only the code mattered” was sold as a way to be inclusive. No one would be shut out if their code was good.

But building software is more than code. It’s design. Planning. Discussion. It’s figuring out use cases, misuse cases, and failure modes. It’s interacting with people.

And if you allow some people to treat others like crap because only the code matters, you end up causing harm and driving people away.

Which obviously isn’t inclusive.

If you mistreat people or violate ethics to make your “technically perfect” software, those people have still been mistreated. Those ethics have still been violated. People have created marvels of engineering and fantastic art by abusing or exploiting others. People have done the same while abusing or exploiting people on the side. And people have created wonders while trying very hard not to abuse or exploit others.

The accomplishment doesn’t erase the exploitation or abuse. And if you can accomplish something incredible without mistreating others, it obviously doesn’t justify the mistreatment.

But the culture of “only the code matters” turned into a culture of tolerating assholes because they were good at their job. The ends justify the means. From trying to enhance freedom, to embracing Machiavelli.

It certainly didn’t help that 90s hacker culture had a significant BOFH element to it, with its built-in disdain for those with less technical knowledge. The Free part tended to prioritize programmers and sysadmins over “lusers.” It was Animal Farm with computer users. Sure, we tried to throw off the corporate overlords who were dictating how people could use their computers. But some computer users were more equal than others.

So a lot of people who could have become part of the Free Software community found a hostile environment and left in disgust. Or fear. And even if you don’t care about the harm done to them, consider their potential contributions. Free Software has always had a problem with coverage: Programmers work on problems that they find interesting or useful. The boring parts, the use cases that they personally don’t use, tend to fall by the wayside.

Yeah, your code is good…but the spec’s incomplete because you pushed away the people who would have pointed out a common use case, or just how easy it would be for a feature to be misused. You didn’t think they were worth listening to because they weren’t rockstar coders. But they also had information you didn’t.

Not that throwing off the corporate shackles has worked out all that well. Every platform now has its own walled garden. Microsoft is less dominant than it once was, but we have new mega-corps who’ve managed to leverage an internet built on Free/libre and open-source software into their own positions of dominance. And trying to maintain services for people who’ve come to expect free/gratis has brought us to the point where adware is the norm, and surveillance is everywhere…to better target those ads. And the majority of computing devices out there are locked down, preventing ordinary users from tinkering with them and developing that technical competence that might bring them into the fold…

If we’ll even let them join.

Firefox Thinks It’s Running an Older Version Than Last Time (But Isn’t!)

I finally upgraded to Fedora 30 today, and when I launched Firefox for the first time, it complained that I was running an older version than the last time I’d used it, and needed to create a new profile.

Using an older version of Firefox can corrupt bookmarks and browsing history already saved to an existing Firefox profile. To protect your information, create a new profile for this installation of Firefox.

Wait, what?

OK, Firefox did release two emergency updates yesterday. Maybe Fedora 29 got 67.0.4 and Fedora 30 got 67.0.3, and DNF decided it was important to downgrade to the Fedora 30-provided version?

No, both were still on 67.0.3. So what could be going on?

A quick search turmed up a Reddit thread on the problem that pointed me to the solution: Look for the compatibility.ini file in my Firefox profile, and delete the LastVersion line.

It worked! Firefox launched happily, with all my settings and everything.

I made a note of the version that was in there before, and the version that got placed when I launched it, and that cleared up what had caused the confusion.

Apparently, Fedora built the F30 package earlier in the day than the F29 package! 🤦‍♂️

Fedora 29: 67.0.3_20190619204842/20190619204842
Fedora 30: 67.0.3_20190619113000/20190619113000

So it was technically “older” … just not in any meaningful sense.