Fedora 39

I decided to try upgrading my Fedora to Fedora 39 (from 38)

I ran into a few issues already.

  1. I used the option from https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/#sect-performing-system-upgrade to download and upgrade the system using the “on boot” update. This then caused the initrd issue I’ve encountered before (https://blenderfox.com/2023/05/02/fedora-5/), I fixed that by booting up the previous version, then finding I couldn’t log in unless I picked “Gnome on XOrg”.
  2. The breakage of Wayland login seemed to be related to Problems with wayland after updating to fedora 39 – Fedora Discussion. And interestingly was fixed in the same way: removing ~/.config/dconf/user, logging out and then back in via Wayland. It completely reset my Gnome state, so all my custom docked shortcuts were gone and it offered to run me through the Gnome tutorial again
  3. Running my ansible playbook to configure my machine again, seemed to run for the most part, but failed at installing a pip module — but that looks like a module build failure, not the playbook.

And now I discovered that there’s no F39 of VirtualBox yet, so I guess I’m rolling back for now….

Updates

It’s been quite a long time since I did any updates on this blog so a couple of updates are in order

House

I’ve now been living in the new place for just over a year. Generally everything is good, we’ve started putting in a lawn and currently letting it get its roots in before we try to cut it

Twitter

Oh, boy, what an absolute train wreck. I’ve tolerated Elon’s presence at Twitter because most of the stuff he did wasn’t far off what Jack was doing prior. But cutting off all third party clients, forcing everyone onto the new TweetDeck (which likely will be paywalled too) has literally driven users away. Twitter has been losing users and revenue constantly, and it is totally unsurprising.

I’ve disabled my two TweetDeck profiles (a professional one, and a casual one) from Ferdium. But I doubt I will be going back any time soon.

Red Hat

Another train wreck of a situation. Red Hat’s decision to first kill CentOS’s stability, then for RHEL sources to only be accessible behind a subscription has pissed of a lot of users, even if it’s not strictly speaking against license.

The only one left in its sights will be Fedora so that leads me onto the next update

Manjaro & Archlinux

I’ve been tinkering with Manjaro more and more lately, with its rolling release schedule meaning I never need to upgrade from a major version to another major version.

It’s downside I’m finding is that some packages, especially those in the AUR are essentially “compile from source” packages which does the build on your machine during the install. This can take a varying amount of time depending on the code. With my RSS reader of choice: QuiteRSS, this build takes a mind numbing 2.5 hours to do, even on a high spec machine.

That’s where I found out about setting up your own Arch repo. I’ve been tinkering with that, setting it up on GCP and fronted by a CDN. This works pretty well, but I still need to find how I can do scheduled builds to keep that up to date, but it looks like I’ll be switching to Manjaro at some point in the near future. Sound works fine, using lyncolnmd‘s work.

Another downside with Manjaro, however is that its btrfs filesystem, my home directory backup, and CloneZilla don’t seem to want to work well together

WordPress & Domains

One final update, I will likely be transferring out the blenderfox.com domain out of WordPress, while I had this registered as part of the blog, I’m finding it much harder to maintain this domain using WordPress’s very limited DNS management tools. I will likely transfer it out to Google Domains, even though there’s talk of them shuttering that service. Secondary service would be AWS.

Fedora

The final issue with the post-upgrade is now fixed (dependency issue) and it self-resolved by a new package update that came through this morning

I did fine one new issue — a new kernel dropped and installed successfully, but did the same thing as the upgrade and did not generate an initrd line, but did generate the initrd line once I regenerated the grub configs.

Fedora

Managed to fix the issue mentioned in my previous post.

Looks like the system upgrade messed up generating the config during the system upgrade process.

The first time, with the blockdev error and second time, it was missing an initrd directive.

So I booted into the previous installation (which was still available as I made the grub menu visible as part of my Ansible playbook)

Inside the old installation, I just regenerated the grub configs:

sudo grub2-mkconfig -o /etc/grub2.cfg
sudo grub2-mkconfig -o /etc/grub2-efi.cfg

And this readded the initrd line and now I am able to boot into F38. Everything still works, I have some errors with VirtualBox and qemu that I will need to fix at some point:

  • VirtualBox has an error when you start it saying “Unable to enumerate USB”
  • Qemu has a dependency error (must have changed between F36 and F38) so I’ll need to probably remove and reinstall that.

Fedora, Manjaro, WordPress & Twitter

So, quite a few things have been happening recently.

I tried to go the next step on Manjaro and copy my home directory across ready for me to run the Ansible playbook to do the setups (I’ve been testing it would work via VirtualBox on my Windows laptop)

After waiting ages for the file copy, when I went to do the backup, there was a btrfs checksum error so I’ll have to try again some other time.

Separately, I got a message on an issue I raised at Fedora’s bugzilla the Fedora 36 (the version of Fedora I raised the bug on), was coming up to EOL so I should look to move away from it or upgrade. So I decided to try doing the upgrade.

The upgrade completed without error, but first boot after the upgrade hung with a weird Kernel Panic error (I have posted this on the Fedora Forums)

So I rolled my laptop back to preupgrade state for now.

I suspect I may need to end up doing a clean install, so I’ve prepared a btrfs and a ext4 lvm installation and have imaged those in preparation.

Finally, WordPress posted that they’re stopping Autosharing to Twitter because of Twitter’s Idiot-in-Chief screwing up the API usage.

Still, they have mentioned they will be adding autosharing to Instagram and Mastodon instead, and that helps me, since I’m slowly moving what little Twitter presence I had onto Mastodon anyway.

My Twitter has been disconnected from my WordPress and I’ve revoked its access from Twitter’s side anyway.

Manjaro

I’ve been continuing to tinker with ArchLinux and Manjaro and have since found out about “Oh-My-Zsh” and “Oh-My-Bash” — basically addons you can add onto your shell via the shell’s rc and profile files and it provides a really nice prompt that tells you additional information at a glance, like which branch you are in if you are in a git repo, or whether the previous command returned a non-zero error code.

They are quite polarising though, as I found out when I mentioned this to one of the systems architects here in the office. One of the architects told me someone he worked with even considered OMZ malware.

Vanilla ArchLinux uses bash out of the box, Manjaro uses zsh out of the box, which is how I found out about the OMZ/OMB addons.

OMZ has a ton more plugins than OMB – unsurprisingly since it’s also the default shell for Macs (vomit).

I did start copying my files across to my Manjaro installation. It took nearly 6 hours to copy. However, when trying to do the backup afterwards, it failed with a btrfs checksum error. That worried me since I hadn’t done anything since the previous backup other than copying files.

I do remember running into similar issues with btrfs last time I tinkered with it when reinstalling Fedora. It could end up with me switching to either ext4 (like I did with Fedora) or trying the xfs file system option in Manjaro.

WeChat on Fedora

Finally found a way to do the install on Wine on Fedora — and that’s using Lutris. Lutris lets you install Windows games onto Linux and allows you to script the setup of the game environment to fit the game itself.

So I used it to download the WeChat binary, setup the environment (which involved downloading fonts via winetricks) and adding a registry hack. That seems to work now. Have added it to my app-installs playbook on Gitlab (https://gitlab.com/blenderfox/pixelbook-fedora-setup)

It’s not fully automated, it does still require you to run through the setup manually, and then quit both the WeChat application (so Lutris sees that the setup has exited) and Lutris before the playbook proceeds.

Installing Fedora on Pixelbook

This slightly lengthy article goes through my attempts at installing and setting up Fedora on my Pixelbook.

I previously had Ubuntu on there, modified and hacked using https://github.com/yusefnapora/pixelbook-linux.

However, as Ubuntu progressed on, it was clear this repo was not being maintained and updated and rapidly, stuff starting to fail as it required later versions of packages. Even the kernel was still on 4.4.x even now. I spent a long time trying to compile the kernel while trying to figure out the right options for a working kernel, with not much luck.

Putting in things like the “old-releases” repos helped keep things ticking over, but things were still breaking repeatedly, and the microphone kept breaking during calls due to the way the hacks were implemented.

The final straw came when the office decided to buy Apple M1 Macs for the developers (I refused to use one. My hate-hate relationship with Apple is well documented)

The decision to use M1 macs has now led to a problem whereby the docker images that are used are no longer compatible with the macbooks since they are arm64. The macs can use qemu emulation, but that is not perfect, giving weird errors when running the docker images under emulation. Leaving it to me, who is still using an amd64 machine to try to figure out multiarchtecture builds.

I was (and still am) reluctant to do the multiarch builds. Using multiarch builds would mean the devs are running a docker image that is not the same as that which is running on the test and production clusters and that in itself, means they are not developing on, or testing on an infrastructure that is representative of the test or production environments.

If the infrastructures were arm-based environments, sure, then that would be representative then, but not as it stands.

In fact, right now, if the developers build the docker image locally to test something, then pushed that to production, they would break production, as it runs on amd64 images.

I don’t think this was thought through carefully enough, to be honest.


But enough of the rant. We are where we are, and I need to try to bail out the situation.

My hacked Ubuntu would not support multiarch build no matter what I tried, but when I tried to use Fedora in a Qemu VM (virtualbox also wouldn’t work, since the virtualbox installer compiles kernel modules and that always failed with the custom kernel used by the hacked Ubuntu installation.)

So I decided to try to wipe the Ubuntu installation and start again from scratch, with Fedora.


Fedora 35 was the version I ended up using, and the latest at the time I started this activity.

Out of the box, it had native support for the touchpad, including two and three-finger scrolling via Unity 41. Two-finger scroll scrolls the active window. Three-finger scrolling up gives the window overview, and three-finger scrolling left or right switches workspaces.

Fedora by default uses btrfs. CloneZilla didn’t seem to play well with that so had to start again, but perhaps it was due to the MyChromebox BIOS being too old. Upgraded and that seemed to work better.


After CloneZilla’ing the initial install so I could rollback to that if everything fell over, I started setting up the installation.

First thing I did is visudo‘ed myself into the sudoers file, with a NOPASSWD param for passwordless sudo

Next I ran dnf update to update packages. There was about 1G of data to update and install.

Then I ran a CloneZilla to backup the laptop state at this point.


From this point, I started setting up the laptop. I found this repo on GitHub where the owner created a setup for Pixelbook https://github.com/jmontleon/pixelbook-fedora — similar to the one I used for setting up Ubuntu on the Pixelbook. The repo owner also appears to have compiled his own version of the kernel and has his own COPR repository.


After spending a week tinkering with the instructions and getting some bugs ironed out, audio finally worked.

I built an Ansible playbook to help with the instructions running. This was adapted and incorporated into the repo.

With audio now working, I CloneZilla’ed the laptop state again, to have a good state to rollback to.

I then copied my file backup from my external USB into the laptop and then CloneZilla’ed the state again


With the files copied, now it was time to get the apps installed. I built another Ansible playbook to help speed things up and it’s located here https://gitlab.com/blenderfox/pixelbook-fedora-setup/

The repo contains two playbooks one for doing the audio (it’s essentially the same one in the jmontleon repo) and the second for app installs.

Summary of apps I installed initially:


Goodbye Apple, goodbye Microsoft… hello Linux

Not often I quote from a publication from Ireland, but this was quite an intriguing read. Someone who went from Windows to Mac to Linux (Mint)

Linux is everywhere – and will free your computer from corporate clutches

It was 2002, I was up against a deadline and a bullying software bubble popped up in Windows every few minutes. Unless I paid to upgrade my virus scanner – now! – terrible things would happen.

We’ve all had that right?

In a moment of clarity I realised that the virus scanner – and its developer’s aggressive business model – was more of a pest than any virus I’d encountered. Microsoft’s operating system was full of this kind of nonsense, so, ignoring snorts of derision from tech friends, I switched to the Apple universe.

It was a great choice: a system that just worked, designed by a team that clearly put a lot of thought into stability and usability. Eventually the iPhone came along, and I was sucked in farther, marvelling at the simple elegance of life on Planet Apple and giving little thought to the consequences.

Then the dream developed cracks. My MacBook is 10 years old and technically fine, particularly since I replaced my knackered old hard drive with a fast new solid-state drive. So why the hourly demands to update my Apple operating system, an insistence that reminded of the Windows virus scanner of old?

Apple is no different to Microsoft it seems.

I don’t want to upgrade. My machine isn’t up to it, and I’m just fine as I am. But, like Microsoft, Apple has ways of making you upgrade. Why? Because, as a listed company, it has quarterly sales targets to meet. And users of older MacBooks like me are fair game.

I looked at the price of a replacement MacBook but laughed at the idea of a midrange laptop giving me small change from €1,200. Two years after I de-Googled my life(iti.ms/2ASlrdY) I began my Apple prison break.

He eventually went for Linux Mint, which for a casual user is fine. I use Fedora and Ubuntu (and a really old version of Ubuntu since my workplace VPN doesn’t seem to work properly with anything above Ubuntu 14 – their way of forcing me onto either a Windows or Mac machine)

Source: https://www.irishtimes.com/business/technology/goodbye-apple-goodbye-microsoft-hello-linux-1.3295781