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
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....
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.
This weekend was the coronation of King Charles III, the first new monarch for most of the people in the UK. Some may have been alive for the late Queen Elizabeth II's coronation but the are few now.
I was working coronation support cover on the Saturday from around 6:30am to about 3pm. Fortunately no major issues. One alert towards the tail end of the day, but that was about it.
Sunday were the street parties. Our local one was relatively small compared to the one during the Jubilee celebrations. Was great for the local kids though, and the weather was perfect for it.
Monday is a Bank Holiday so no-one was working in the London office, although the other offices were still working.
I chose today to retry doing my Manjaro file copy, and again it failed with checksum errors when I tried to back it up (even the btrfs check didn't manage to fix it)
I guess I'll have to restart my Manjaro attempts and not use btrfs -- probably return to using ext4 and lvm.
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.
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.
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.
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.
Referring to my earlier blog post, I finally got Manjaro sound to work and have been spending my spare time working on getting the Arch/Manjaro side of my setup playbook to work. VirtualBox has helped with that.
I've been struggling with making CloneZilla backups on my new Toshiba SSD. The transfer speed onto it is horrendous, but the speed on my Samsung SSD is fine. And the return window is now closed so I can't return it. I guess, I'll need to look at purchasing yet another external SSD.
After spending many years using Ubuntu, Debian and Fedora, I've decided to look at going a bit deeper and start tinkering with ArchLinux
Initially I tried to use Manjaro, but I couldn't get its sound working with my Pixelbook, even using u/LyncolnMD's setup (reddit link here). That being said, a commenter on that thread did say they had sound working, so I'm not sure how he made that happen.
Bizarrely, under vanilla ArchLinux, on which Manjaro is based, it works. So I've decided to go into ArchLinux instead.
I spend several hours making backups of my current Fedora setup and making CloneZilla images.
It took several hours to copy back the files too (212GB of content in my home folder).
I have also decided to reutilise my pixelbook-fedora-setup repo to configure for archlinux too. That will take a while to reconfigure everything since ArchLinux uses pacman as its package manager (with some AUR helpers like yay or pamac). Ansible has a pacman module, but no yay module, so each time I have to use yay to install packages under ArchLinux, I have to use the shell module instead. A minor issue, and I can see a few people have already worked on some yay modules, but none are officially distributed yet.
So until I finish reconfiguring my pixelbook setup repo, I'm staying on Fedora. I'm using a VirtualBox machine to do the testing of the setup.
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.
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.
gcloud threw an error module ‘collections’ has no attribute ‘Mapping’. Followed this: https://gehrcke.de/2021/11/gcloud-on-python-3-10-module-collections-has-no-attribute-mapping/ to fix. Had to make sure to put the export line in ~/.bash_profile
tfenv https://github.com/tfutils/tfenv, making sure to add the path to ~/.bash_profile
helm2 (https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz), extract, move the helm binary to /usr/local/bin/helm2 and chmod +x it
helm3 (latest version. At time of writing, it's https://get.helm.sh/helm-v2.16.12-linux-amd64.tar.gz). Call the helm3 binary /usr/local/bin/helm3 instead.
Spotify https://docs.fedoraproject.org/en-US/quick-docs/installing-spotify/ (I used the flatpak)
Lens: https://k8slens.dev/
Steam https://itsfoss.com/install-steam-fedora/
gnome extensions app (dnf install gnome-extensions-app -- can also use the flatpak instead)
ProtonVPN (https://protonvpn.com/support/official-linux-vpn-fedora/) -- making sure to enable the system tray support
qemu static for multiarch builds (https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/) sudo dnf install qemu-user-static then docker build ls to check available platforms on the builder. Docker ships with buildx https://github.com/docker/buildx#working-with-builder-instances on later version.
openconnect (if not already installed) dnf install openconnect
It's been a long time since I posted on here -- my last post (before today's posts) was July 17 when I had to self isolate. A lot has happened since then, so this post will be a bit of an update list
I had to take my dad into hospital for a prostrate operation (this was planned before I had to self-isolate) -- he already had a PCR test and was cleared. My LFT was also clear, but I still had to self isolate. This was before the self-isolation changes happened. The operation was successful, but he needed to be held a few more days to see an ENT specialist due to them finding lumps in his throat. The concern was that they might be cancerous, but turns out it was just irritation so they gave him some Gaviscon to take after means and soothe the throat. Both my dad and I are prone to post-meal throat irritation so it might mean I might be subject to the same thing later in life.
I got a ticket after driving my dad to the hospital for taking a left turn when I was not supposed do, due to badly signposted roads. My appeal was rejected on the grounds I had paid the ticket. This is how the council screws you over -- if you pay the fine to avoid the 100% charge, they will claim that admits guilt. If you don't, they delay the response until after the 2-week window so you then have to pay the 100% charge.
I finally decided to upgrade my phone and went for a OnePlus 9 Pro. The phone is classed as a "Phablet" and much bigger than the Samsung Galaxy S5 I have been using for years:
The case on the left is for the OnePlus, the case on the right for my S5
I had problems activating the new SIM and eventually Three had to send me a new one, and soon after I got that new one, I got a message saying Three were going to be doing works on the mast in my area and ever since then I have had horrendously bad speeds at home. By bad, I mean speeds of < 1Mbps and even down to 0.2Mbps. Using 3G band sometimes helps, but only marginally.
I've taken my complaint up to the Ombudsman but Three are still refusing to do anything about it -- even charging me to leave contract early.
I've been with Three many years but I will not be recommending them going forward. I will be checking other providers when my contract expires.
We've started to go back to the office. My team is doing three days a week in the office, and you pick which three days as long as there are a max of 8 people in the office (due to some office reorganisation, we only have 8 seats for the entire team).
Surprisingly many people have left jobs during and post lockdown (some might have been nudged due to the lockdown, and not just in my office, but generally.)
I won a Twitter completion by Curve for a swag bag. Just had to tweet them three images of their different adverts -- all of which showed up on the same station, so that wasn't too difficult.
Then we had the annoying as heck "Panic at the Pumps" causing shortages.
This video from my dashcam shows the queue of traffic. This is the queue leading into the Alperton Sainsbury's. I was there at around 5am and it took me 30 minutes to clear the queue even with less people in the queue. This queue will probably take 90 minutes to clear, assuming the fuel was not gone by the time they got to the front of the queue
This video, also from my dashcam shows the queues that built up outside the petrol stations -- this Esso I actually went into at 4:30am that morning and they were not open, even though there were staff in the shop (so maybe they were waiting for delivery?)
You'll get people tooting impatiently and even people cutting the queue and then blocking the lane for the people behind (they must be luxury car drivers)
My house purchase has progressed and we have moved on and are now ready to exchange. However, one of the two sellers is unable to complete his purchase (he's part of a chain and needs to complete his purchase before he can complete the sale on the current house).
Finally, I got a letter from Principia Law who are the ones trying to claim money back from the drunk driver who wrecked my previous car.
They want me to release my bank records for the period of time I had the hire car. But everyone I have discussed this with seems confused as to why this is required since the accident is a "no-fault" claim on my part, so they should not even need my bank details.
I asked them to call me today to discuss this. I may also speak to the office legal team for their thoughts.
pvresize --setphysicalvolumesize {size of pv minus {size toreduce}}G /dev/path/to/pv
If you get an error about "later extents", it's due to the swap being added to the partition (which does not get moved automatically), so you will need to move the data
lvm pvs -v --segments /dev/sda5 to get position ids:
LineageOS has now gone to Android 11, and like most users, I went ahead and upgraded to it. But then I started hitting lots of problems. Predominantly on location.
Android 11 changed the way location is requested and this breaks functionality in multiple apps. Ones I have noticed this issue with:
Just Eat
CityMapper
Google Maps (yes, surprisingly Google's own app had trouble with locking on)
Other location apps may have also had the same issue, but I didn't check those.
Waze did not have any issues locking on to location or tracking movement
Some non-location apps also broke. Fenix 2 (a Twitter client) and WeChat both stopped working and would not install off the Play Store, presumeably because of API differences.
I installed Plume instead (which I had previously purchased) and that installed and functioned happily.
WeChat I sideloaded by getting the apk from a mirror. That functioned okay, but could not log into Web WeChat
I decided to clean wipe and downgrade back to Android 10 (Lineage OS 17) to at least get things working again.
I formatted my SD card for Portable Storage, then took it to my laptop and saved the LOS flash zip, Open Gapps zip, and the latest Magisk.
I booted into TWRP Recovery and wiped, data, cache, system, ART and internal storage.
Switching to external storage, I then flashed LOS, OpenGapps, then Magisk.
I rebooted and let the OS do its thing until I got the welcome screen -- that's a good sign. I went through the setup but opted not to setup my Google Account yet.
Once through to the home page, I went and unlocked Developer options and enabled ADB, Local Terminal, Force Allow External Storage, and Force Close on Hold Back.
Then I plugged my phone into my pixelbook, allowed the debug connection and started up scrcpy which allows me to copy-paste text to and from the device.
I installed TitaniumBackup and the pro key so I can batch move apps to/from the storage.
The SD Card is still setup as Portable. So I formatted it as Internal. This took a few attempts as it kept erroring.
I went into Play Store and installed a few apps. A couple installed file, but the other errorred with a message:
I reinstalled the apps again, and there were no errors. Fenix 2 installed happily this time, enhancing my suspicion of some API change breaking it on Android 11.
Also found out that Strava required Google Maps so I also had to install Google Maps.
WeChat finally did install, but was then told by the app that my account cannot use Web WeChat, and I should use WeChat for Windows or Mac..... and I'm running Linux, so both of those options are not feasible.
However, I did find this: https://github.com/qo6xup6/ubuntu-deepin-wechat which is a Wine wrapper around the Windows WeChat app. This seems to work well, although I did have to update the client using the instructions on the README.md
FitBit refused to pair with my Ionic (again -- it always seems to have this trouble whenever I have to reinstall the app). I eventually resorted to factory resetting my Ionic, and re-setting it up again. It worked this time, although the pairing took a few attempts.
Surprisingly, I was then able to add my Curve card to FitBit Pay, and the SMS verification worked.
All in all, it took me from around 7am to 12:30 pm to reflash, reinstall, and setup all the apps again, and reboot to make sure the apps still worked. So around 5 hours.
Spent a big chunk of today preparing for, and attempting to upgrade my Pixelbook to Gallium OS.
I imaged it, then made a file backup of my home directory, before installing the OS, overwriting my Ubuntu, then restoring the home directory backup into the newly installed OS and then chowning the directory to me.
As a habit, I then imaged the laptop at this state.
I prepared a semi-automated script to install apps that I had installed on my Ubuntu, which included things like virt-manager, virtualbox, google-chrome and the like.
However, I soon found out that VirtualBox 6.1 seems to crash the mouse driver on reboot and the mouse pointer no longer moves and Gallium doesn't even seem to see a pointer device when you check the mouse and touchpad option. I had to revert back to the image just after the file copy.
There is always the option of installing VirtualBox 6.0 from the Ubuntu repositories rather than the Oracle repositories, which uses a different installation setup. Maybe that will result in a different outcome.
Eventually, I restored back to my original Ubuntu installation so I can retry again tomorrow.
EDIT: Retried again the next day, and found out the sound wasn't working, even on the live disk. Better find out what's the deal with that...
EDIT2: Found out that my Pixelbook model doesn't have working sound drivers on GalliumOS. I guess I will have to wait until that is fixed before using that. I guess I'm staying on Ubuntu. In the meantime, I'm going to see if I can compile a later version of the kernel to see if I can somehow get VirtualBox working better.
After using my Pixelbook Eve on Ubuntu Eoan (19.10), my Ubuntu has started notifying me for an upgrade to 20.04 LTS. So, based on my past experiences of Ubuntu upgrades and how they always break things, I went through the process of backing up my files and making a Clonezilla image of my Pixelbook before even starting to do anything.
Then I went through the upgrade. It went through without any problems, but when it went to reboot afterwards, I was black screened after the Ubuntu splash screen.
I suspect it's because my Pixelbook contains some tweaks via this GitHub repo, and that is still using a 4.x kernel. Last update was in 2019, so maybe it's out of date.
Before restoring my old image back on, I installed GalliumOS which is an Ubuntu-based distro specifically aimed at ChromeOS devices. Then made a backup image of that before restoring the old image back on.
I might try installing Ubuntu 20.04 from clean and see if that has any better Pixelbook support than the older versions of Ubuntu, and make it so I don't need to use the hacks. Bear in mind the hacks used the ChromeOS kernel, and I couldn't do some things like use ufw or gufw. Using GalliumOS should fix that since I wouldn't be using tweaks.
However, there's still an annoying quirk GalliumOS has on my Pixelbook and that's the jumpiness of the mouse pointer -- touch the touchpad and the pointer jumps to that part of the screen, as if the touchpad was a representation of the screen, not a touchpad. It's a quirk that can be gotten used to, but it is still annoying.
I've been getting horrendously slow speeds on Linux Steam (~500k/s) and 5-6Mb/s on Windows, and only now found out why. There's a ticket on GitHub for this:
In short, the client is very aggressive on its DNS requests, which normally causes it to be throttled by servers, leading to really slow downloads. However, using dnsmasq allows the requests to be cached locally and offload the requests.
Even though the instructions are for Arch, they worked for me:
Install dnsmasq
Modify /etc/dnsmasq.config and add the line listen-address=127.0.0.1
Restart the dnsmasq service (systemctl restart dnsmasq.service) or reboot your machine
So I haven’t been posting here much recently so here are some updates.
Been slowing trying to get back into running, have been slacking off WAAAAY too much lately. Tried using Aaptiv (@aaptiv) which is a training fitness app that has trainers talking you through the stuff, there are a few problems with it.
When you use a stretch/strength training routine or yoga routine, you're reliant on them telling you what to do, there's no video guide to show you the correct form, and that's bad. Other apps like FitBit Coach has videos where you can copy the coach to make sure you have the right form.
On Treadmill/Running routines, they talk in mph, but treadmills here in the UK go in km/h, which requires conversion (1.0 mph = 1.6 kph)
On a separate note, I have bought another attempt at the CKA exam, but this time bought the bundle with the Kubernetes Fundamentals Training from Linux Foundation. Let’s see how different that is to Linux Academy’s training….
So, I install Ubuntu 17 clean on my laptop after the issues I had with drivers and immediately found out that gksu was not installed.
Installed that and tried to
gksudo nautilus
That failed and found out that Wayland had replaced the default of Xorg. Found an old Xauthority file from my backups and copied that back, which allowed me to get the popup window back for my gksu, but I couldn’t click it to enter the password :(