Upgrade to Fedora 28: nss-pem does not belong to a distupgrade repository

Fedora 28 was released a while ago, and I do not immediately upgrade my workstation from past experience with external repositories needing to catch up.

Starting with

sudo dnf --refresh upgrade
sudo dnf system-upgrade download --refresh --releasever=28

led to this error.

Fehler: 
 Problem: nss-pem-1.0.3-6.fc27.i686 has inferior architecture
  - nss-pem-1.0.3-6.fc27.x86_64 does not belong to a distupgrade repository
  - problem with installed package nss-pem-1.0.3-6.fc27.i686

This is coming from steam which is installed via UnitedRPM/RPMFusion repository. There seems to be a package dependency change during the F27 cycle, where right now there’s no explicit dependency or provider is there.

sudo dnf remove nss-pem-1.0.3-6.fc27.i686
Abhängigkeiten sind aufgelöst.
=========================================================================================================================================================================
 Paket                                     Arch                        Version                                   Paketquelle                                       Größe
=========================================================================================================================================================================
Entfernen:
 nss-pem                                   i686                        1.0.3-6.fc27                              @updates                                          215 k
Removing dependent packages:
 libcurl                                   i686                        7.55.1-10.fc27                            @updates                                          581 k
 libdbusmenu-gtk2                          i686                        16.04.0-4.fc27                            @fedora                                            79 k
 libdbusmenu-gtk3                          i686                        16.04.0-4.fc27                            @fedora                                            79 k
 nss                                       i686                        3.36.1-1.0.fc27                           @updates                                          2.4 M
 openldap                                  i686                        2.4.45-4.fc27                             @updates                                          1.0 M
 steam                                     i686                        1.0.0.54-17.fc27                          @rpmfusion-nonfree-updates                        2.7 M

This bug report and this blog post helped a lot, just pre-install the F28 package prior to the upgrade. In my case I had to force the package update.

sudo dnf update nss-pem --releasever=28 --best --allowerasing

Next, proceed with the upgrade again.

sudo dnf system-upgrade download --refresh --releasever=28

Say hi to Fedora 28 🙂

VLC on Fedora with Wayland: Big Icons, small text problem

I’ve always used VLC as my favorite video player on Linux. Recently they changed releases to 3.0 from Git in Fedora 25 (RPMFusion repository). This also included changes to work with Wayland instead of Xorg. Unfortunately the user interface was broken then – big icons, small text. Just looked like 800×600 on a full HD resolution, 27″ here.

Options described on the net where to create a custom skin, or clear the configuration cache. None of these worked unfortunately.

While looking for a possible bug I’ve found this issue which lead me to a new repository called “United RPMs”.

Thought I’d give it a try, since this issue proposes updated packages which fix the issue entirely.

sudo -rpm --import https://raw.githubusercontent.com/UnitedRPMs/unitedrpms/master/URPMS-GPG-PUBLICKEY-Fedora-24
sudo dnf -y install https://github.com/UnitedRPMs/unitedrpms/releases/download/6/unitedrpms-$(rpm -E %fedora)-6.fc$(rpm -E %fedora).noarch.rpm

sudo dnf makecache

In order to prefer UnitedRPMs over RPMFusion, I’m explicitly setting the repositories on install (I don’t want to fiddle with yum priorities here).

sudo dnf remove vlc

sudo dnf install --repo=unitedrpms --repo=fedora vlc

Voilá, VLC works again.

Windows 10 update changes partition table and breaks GRUB

It’s holiday season and so I got a hold of playing some games longly missed on Windows. Booting Windows 10 certainly unveiled several pending updates (Antivirus, Geforce, Windows updates). Since Windows 10 does not explicitly tell about big updates anymore I just did let it reboot several times, waiting for manual grub selection then.

Though this time the update essentially broke GRUB. “error: unknown filesystem. Entering rescue mode…” is certainly not what I expect from a Windows 10 update. After googling a bit I found this thread including an explanation as well as a solution for the problem: The Windows 10 update adds yet another hidden partition, but essentially rewrites the partition table which then breaks GRUB finding the correct /boot partition containing grub2/. Congrats Microsoft!

So, Windows 10 “Upgrade to Windows 10 Home, version 1511, 10586” breaks grub2 because boot block grub2 still thinks it should boot grub2 from (hd0,msdos2) when it now needs to boot from (hd0,msdos3).

The solution is simple but nasty without bash-completion and English keyboard layout on a German keyboard.

First find the boot partition containing the grub2/ directory.windows10_upgrade_dec2015_breaks_grub

grub rescue> ls (hd0,msdos1)/grub2
error: unknown filesystem.
grub rescue> ls (hd0,msdos2)/grub2
error: unknown filesystem.
grub rescue> ls (hd0,msdos3)/grub2
./ ../ themes/ device.map i386-pc/ locale/ fonts/ grubenv grub.cfg

Next set the changed boot prefix and root attributes:

grub rescue> set prefix=(hd0,msdos3)/grub2
grub rescue> set root=(hd0,msdos3)
grub rescue> set
prefix=(hd0,msdos3)/grub2
root=hd0,msdos3
grub rescue> insmod normal
grub rescue> normal

Change from “rescue” to “normal” GRUB mode, and quickly select Fedora from the boot menu. In order to fix GRUB log into Fedora, open a terminal and become root. Now generate a new grub configuration.

sudo -i
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
reboot

Reboot and the GRUB menu should be fixed. Now safely choose to continue the Windows 10 upgrade.

Logitech K800 wireless not working on dm-crypt passphrase

This bug did bite me in the past with Kernel 3.2 and Debian testing too, and I consider the Logitech wireless keyboard drivers in a similar tested fashion such as NVIDIA proprietary drivers – pretty much exotic and hard to maintain all the changes.

It’s not fun once you’ve chosen the grub entry and are prompted to enter your password for the encrypted LVM in order to boot your entire system – and nothing happens on the Logitech K800 wireless keyboard. But before it did work on selecting the correct grub entry.

Some googling for the error unveiled several threads providing insights and workaround fixes. This one told me that dracut is the root cause being responsible for loading the logitech kernel module before cryptsetup would prompt for the password. Which totally makes sense.

So how to convince dracut to load the logitech driver? It actually tries to do so already. So the initial workaround below did not work.

 

# vim /etc/dracut.conf

add_drivers+=" hid-logitech-dj "

# dracut -f

In a different manner, it came up that the kernel module had been renamed recently from “hid-logitech-dj” to “hid-logitech-hidpp”. Renaming something normally breaks all other dependencies, but looking at this fix – well, hardcoding everything somewhere in a shell script, oh my.

While waiting for an updated dracut, either patch the module-setup.sh – which might break on dracut package update again.

 

imagine ~ # yum install dracut
imagine ~ # cp /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig
imagine ~ # vim /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh
imagine ~ # diff -ur /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh
--- /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig	2015-04-03 12:45:32.779223333 +0200
+++ /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh	2015-04-03 12:45:45.843129483 +0200
@@ -45,7 +45,7 @@
 
         instmods yenta_socket scsi_dh_rdac scsi_dh_emc \
             atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
-            hid-logitech-dj hid-microsoft firewire-ohci \
+            hid-logitech-dj hid-logitech-hidpp hid-microsoft firewire-ohci \
             pcmcia usb_storage nvme hid-hyperv hv-vmbus \
             sdhci_acpi
 

Or fix the dracut configuration for loading the correct additional driver. Note: Only rebuild the image for 3.19.x – the renamed driver does not exist in 3.18.x and below. (I did boot the old kernel allowing me to drecrypt the system).

 

# vim /etc/dracut.conf

add_drivers+=" hid-logitech-hidpp "

# dracut -f /boot/initramfs-3.19.1-201.fc21.x86_64.img 3.19.1-201.fc21.x86_64

Fedora 21 Workstation with Docker

fedora21Now that Fedora 21 is going the feature release way, I’ll stick with workstation. Since I recently just installed Fedora 20, I did not yet have the pleasure to do a dist upgrade (and they do tell it might not work, hehe, as always with RHEL).

Make sure that fedup is the latest version.

$ sudo yum update fedup fedora-release

Now do the network update magic. At the time of writing the fedoraproject.org site was under heavy load generating lots of 503 errors.

$ sudo fedup --network 21 --product=workstation
setting up repos...
default-installrepo/metalink                                |  16 kB  00:00     
default-installrepo                                         | 3.7 kB  00:00     
default-installrepo/group_gz                                | 113 kB  00:00     
default-installrepo/primary_db                              | 1.4 MB  00:00     
getting boot images...
.treeinfo.signed                                            | 2.1 kB  00:00     
vmlinuz-fedup                                               | 5.5 MB  00:01     
initramfs-fedup.img                                         |  40 MB  00:07     
setting up update...

For me it’s 2268 packages being updates so it takes a while. Once it tells you to reboot and select ‘fedup’ do it. You can safely ignore icedtea* and kmod* kernel modules with unsatisfied dependencies, if asked.

The upgrade takes a while, but will then boot from the basic system into your finally upgraded system. akmod will run and build new kernel modules for my nvidia and virtualbox modules (kmod breaks too often anyways).
After successful login, re-run update to fetch the latest debug symbols I keep for Icinga development (boost to be exact).

$ sudo yum update

Some pitfalls: Gnome 3.14 ignores the button-layout in my overrides settings for certain windows. The default terminal window coloring is somewhat ugly dark green.

docker_grafanaNow for Docker: docker-io is gone, the new package name is only ‘docker’. Simple test with trying grafana and graphite:

$ sudo docker run -d -p 80:80 -p 8125:8125/udp -p 8126:8126 --name kamon-grafana-dashboard kamon/grafana_graphite

Installing C&C RA2 Yuri’s Revenge on Fedora 20

Playing 3D games also requires the 32bit OpenGL drivers installed, apart from Wine itself.

yum -y install xorg-x11-drv-nvidia-libs.i686
yum -y install wine

Then grab your First Decade installation DVD, install at least Command & Conquer: Red Alert 2 & Yuri’s Revenge by calling setup.exe with wine. After the serial number orgy, copy over a no-cd crack (do that at your own risk, otherwise keep the dvd in your drive all the time).

Yuri’s revenge requires a virtual desktop in Wine, so adjust that one inside ‘winecfg’:

wine_cfg_yuri_01 wine_cfg_yuri_02

 

Then make sure to select Pulseaudio as audio source.

wine_cfg_yuri_03

Start Red Alert 2 – Yuri’s Revenge either directly where it is installed using ‘wine YURI.exe’ or natively from the Wine menu.

Voilà!

wine_yuri_01wine_yuri_02