Linux – Schneller Videos schrumpfen

Wer wie ich Videos von Spielen captured und dadurch viel Rohmaterial in großen Bitraten liegen hat, braucht die Hilfe seiner Grafikkarte um dieses Rohmaterial möglichst schnell in handhabbare Größen umzuwandeln.

Moderne Video Hardware nutzen

Das Ausgangsmaterial ist mit 5 Mb/s erstellt worden, was den Kodiervorgang beim Bildschirmcapturen beschleunigt, zum Ansehen reichen aber 2 Mb/s VBR locker aus. Früher habe ich zum Recodieren meinen Achtkerner benutzt, was schon einmal 70% der Realzeit eines Videos benötigt hat.

Heute macht das die Nvidia Grafikkarte für mich und das mit meistens 10x Geschwindigkeit meines Achtkerners 🙂

Auslastung einer Nvidia GTX1050

Wie man auf dem Bild schön sehen kann, wird die Video Engine voll ausgenutzt. Das spiegelt sich dann in so einer FFMpegausgabe wieder:

Eine Ausgabe in der Bashshell von ffmpeg beim Nutzen von Nvidia GPUs

Faktor 18 – 23 wurden im Schnitt gesichtet, kommt halt auch drauf an, ob man Schwarzbilder oder Aktion kodiert. Wie ich schon bei meinem OpenShot Artikel geschrieben habe, hängt das Endergebnis auch stark von der Resthardware des PCs ab.

FFMpeg sorgt für den Hardwaresupport

Der Befehl „ffmpeg -hwaccels“ gibt einem die für FFMpeg verfügbaren HW-Encoder aus:

$ ffmpeg -hwaccels
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9 (GCC)

Hardware acceleration methods:
vdpau
cuda
vaapi
qsv
drm
opencl
qsv
cuvid

Auf Nvidia-Grafikkarten sieht der Befehl zum Kodieren dann so als Script aus:

#!/bin/bash

NAME=$(basename „$1“ .mp4)

ffmpeg -hwaccel cuvid -threads 8 -c:v h264_cuvid -i „$1“ -map 0:1 -map 0:0 -c:v:0 h264_nvenc -b:v:0 2000k -c:a:0 copy -f mp4 „/home/<username>/$NAME.mp4“

Damit wird eine VBR Rate von 2.000 Kb/s, der h264_cuvid Decoder für h264 Videos und der h264_nvenc Encoder für des Reencoden genutzt. Es beschleunigt den Vorgang nämlich sehr, wenn die Grafikkarte auch Dekodiert. Die Option „-hwaccel“ gibt den zu nutzenden Treiber an.

Anmerkung: Obiges Script kann nur einen Video- und einen Audiostream verarbeiten, Dual-Ton Tracks muß man selbst einbauen.

Verscripten geht immer…

Das Script nimmt als Argument ein mp4 Video, extrahiert den Dateinamen und erzeugt das Ausgabevideo im Homeverzeichnis ( passenden Benutzernamen einsetzen ). Ein „chmod 700 script“ gepaart mit einem „mv script ~/.local/bin/“ macht das ganze dann in der eigenen Shell leicht ausführbar.

Auch für nicht Nvidia-Grafikkarten gibt es verschiedene Codecs, die die Sache beschleunigen, wie man in obiger FFMpeg Ausgabe sehen kann. Allerdings sind Nvidia-Grafikkarten die schnellsten im Test vom Linux-Magazin gewesen, aus dem ich mir meinen optimierten Befehl hergeleitet habe.Das könnte sich bei der derzeitigen Dominanz von AMD natürlich bereits geändert haben.

Infos: https://www.linux-magazin.de/ausgaben/2017/11/ffmpeg-mit-gpus/

Fedora Koji ist wieder da..

Diesmal nur die Kurzfassung, der Ausfall bei Fedora ist soweit behoben, Koji ist auch schneller als sonst und der Fehler ist auch bereits bekannt: ein Level 8 Problem.

Ursache war ein Fix für einen anderen Fehler, der kurzerhand alles zerlegt hat. Da muß man jetzt zwangsweise eine Parallele zu diesem Beitrag ziehen: Kernel 5.3.16 mit HDMI-Audio Problemen Wobei das nicht die gleichen Leute waren 😉

Fedora Koji ist derzeit offline

Das Fedora Buildsystem Koji ist derzeit außer Betrieb aka. Offline. Da es dazu keine Ankündigung gab, kann man nur von einem Ausfall sprechen. Da hiervon aber auch alle Downloads aus dem Buildbereich betroffen sind, kann man derzeit nichts recherchieren oder ausprobieren. Dies bedeutet auch, daß alle Koji Links aus diesem Blog derzeit offline sind.

Fehlermeldung Server ist offlineSeit einigen Tagen Probleme

In der Entwickler Mailingliste wurden schon seit einigen Tagen dubiose Fehlermeldungen und lange Prozesslaufzeiten gemeldet. Ein Neustart des System brachte wohl nur kurzfristig Entlastung. Ein Zusammenhang mit dem derzeit laufenden 36C3 kann man wohl ausschließen, da Kevin Fenzi schon vor 7 Tagen darüber berichtet hat:

Aufgrund der Fehlermeldungen bricht da derzeit vermutlich ein Datenbankserver(Cluster) in sich zusammen, der für die Buildumgebung da ist.
Ich halte Euch auf dem laufenden.

OpenShot mit Hardwaresupport

Die aktuelle Version 2.4.4 von OpenShot bietet beim Encoden jetzt Hardwaresupport an.

Mehr Speed bei Codieren von Videos

Die neue Funktion habe ich neulich beim Kodieren des WoW DXVK Videos bemerkt und zu schätzen gelernt, denn dieser Modus ist wirklich ausgespochen schnell gewesen. Um das zu nutzen müßt Ihr nichts anderes machen, als den passenden Codec auszuwählen:

OpenShot Export GUIDer Rest geht von ganz allein. Je nachdem welche Grafikkarte man hat, muß man natürlich den passenden Codec auswählen, da gibt es massive Unterschiede. Auf Nvidia Grafikkarten z.b. ist CUVID und NVENC die schnellste Kombination beim Dekodieren und erneutem Kodieren .

Linux-Gaming: der Vulkan-Weihnachts-HAMMER!

„Ho!“ „Ho!“ „Ho!“ ruft es vom Dach,
am Himmel sieht man die Sterne flach,
da erscheint ein großes Licht,
es ist der Vulkan, er ist nicht mehr dicht!

Liebe Linux Gamer,

ich habe ein Weihnachtsmärchen für Euch, endlich wird es wahr 🙂

World of Warcraft mit DxVK und voller FPS !

Wer hätte es gedacht, daß ich das nochmal erleben würde: Bo ey, ist das geil! 🙂

Alleine die Installation der DirectX-Vulkan Treiber sorgte für einen imposanten Leistungsschub bei World Of Warcraft. Endlich funktionieren alle Effekte ohne das es laggt, ruckt oder gar nicht geht 😉

Ein paar Impressionen…

Wenn man von Sturmwind aus über den Wald mit maximaler Sichtweite blickt

Wenn man von Sturmwind aus über den Wald mit maximaler Sichtweite blickt

Die WOW Weihnachtsdeko

Die WOW Weihnachtsdeko

Das Auktionshaus von Sturmwind

Das Auktionshaus von Sturmwind

Selbst auf Maximaleinstellungen ist es noch eine adäquate Leistung von 30 FPS und da geht mehr, weil meine GTX1050 auf dem Mainboard gar nicht die volle PCIE Bandbreite schaffen kann. Die GPU Utilization ist von ca. 28% auf über 80% angestiegen und das merkt man. Die Leistungsbegrenzung auf 60 FPS (siehe Video 😉 ) steht auf Stufe 8 von 10 der Details, egal wo man hingeht. Inis die vorher eher Slide-Shows waren wie z.b. Feuerlande sind jetzt komplett flüssig. Ob Wetter, Sonnenstrahlen, egal, es ruckt nicht mehr. Nur wenn man die Sichtweite auf Maximal dreht, wirds langsamer in Sturmwind.In Dalaran, was vorher extrem geruckt hat, läuft jetzt mit egal wie vielen Spielern flüssig.

Dalarn mit ausreichend FPS und NVIDIA Controlcenter mit GPU Utilizationanzeige

Dalarn mit ausreichend FPS und NVIDIA Controlcenter mit GPU Utilizationanzeige

Ich hoffe mal, Ihr werdet das alle gleich am ersten Weihnachtstag installieren 😀 Ich habe jetzt natürlich einen Vorteil, weil ich das schon am 23.12. gemacht habe.

Wie installiert man DxVK nun?

Das ist so einfach, das hätte ich gar nicht geglaubt, wenn es einer erzählt hätte 😉

Schritt 1:

ladet Euch von hier:  https://git.froggi.es/joshua/d9vk/-/jobs die neueste Buildfassung von DxVK herunter.

Downloadprotal

Schritt 2:

Das Archiv auspacken und in den Ordner „dxvk-release“ wechseln

Schritt 3:

Setupscript starten:

$ WINPREFIX=~/ed-wine/ ./setup_dxvk.sh install

Das sieht dann so aus ( allerdings mit einige Ausgaben):

Also einfach Euren WinePrefix korrekt setzen, das ist bei mir ED-WINE für Elite-Dangerous wo auch WOW drin ist, weil 64Bit. Das mit den 64Bit erkennt das Script von allein und installiert alles nötige für die 32 und 64Bit Unterstützung. Das ist wahrlich vorbildlich, bis auf einen winzigen Haken: Es nutzt nicht die Staging Version von Wine, sondern die stable Version. Das führt zur Umkonfigurierung der Wineumgebung, was dann beim ersten Start von WoW nochmal umkonfiguriert wird, wenn wieder die Staging Version zur Anwendung kommt. Ist natürlich harmlos, aber dauert i.d.R. ein Weilchen und es poppen 3 Fehlermeldungen von diversen M$-Konfigtools auf.

So liebe Linux Gamer, dann wünsche mal viel, viel Spaß mit Eurem neuen, verbesserten WoW.

Frohe Weihnachten!

Firefox zeigt alle Zugangsdaten als Vorschlag an

Kürzlich erst wurde die Passwortverwaltung von Firefox überarbeitet, jetzt buggt er meiner Meinung nach richtig rum.

Alle gespeicherten Zugangsdaten als Vorschlag

Heute macht ich meinen Firefox auf, will mein Passwort auswählen, da schlagt das Vorschlagfenster am Bildschirmrand auf. Natürlich werde ich das jetzt nicht zeigen 😉 Ihr müßt also sehr vorsichtig sein, wenn Ihr Eure Passwörter eingebt, weil unabsichtlich nicht nur der aktuelle Username aufpoppt, sondern alle die ins Bild passen und die dazugehörigen Webadressen und das können eine Menge sein.

Selbstverständlich wurde der Bug bereits bei Fedora eröffnet.

Kernel 5.3.16 mit HDMI-Audio Problemen

Na klingeln Euch auch noch die Ohren? Mir tun die jetzt noch weh! Wer eine NVIDIA Grafikkarte und einen aktuellen 5.3.16 Kernel einsetzt, der sollte jetzt kein HDMI benutzen.

Kernel Regression durch Patch für eine andere Regression

Es ist immer blöd, wenn der Fehlerfix mehr Probleme macht, als er behebt. So geschehen im neuen 5.3.16 Kernel, wenn man eine NVIDIA Karte hat. Wie Takashi Iwai von Suse dazu schreibt:

The commit e38e486d66e2 („ALSA: hda: Modify stream stripe mask only when needed“) tried to address the regression by the unconditional application of the stripe mask, but this caused yet another
regression for the previously working devices. Namely, the patch clears the azx_dev->stripe flag at snd_hdac_stream_clear(), but this may be called multiple times before restarting the stream, so this
ended up with clearance of the flag for the whole time.

Hat da wohl jemand eine Kleinigkeit nicht bedacht aka die falsche Stelle gepatched 😉 Als Resultat fallen einem fast die Ohren ab, weil die Lautstärke des HDMI Streams so derbe übersteuert klingt, daß selbst 2% Lautstärke nur als Lärm bezeichnet werden können. Ich vermute das hier die Audiodaten im falschen Format angeliefert werden, wo alles was leise wäre, extrem laut ist z.b. LE statt BE Sortierung der Bits.

Die Lösung

Natürlich gibt es eine einfach Lösung für das Problem: 5.3.15 booten oder bis zum nächsten Kernelupdate kein HDMI benutzen 😉

Update:

Laut Laura Abbot von Red Hat wird der Fehler nicht mehr in der 5.3er Serie behoben, was ich bislang bestätigen kann, denn der 5.3.18 hat die gleiche Macke. Es soll stattdessen gleich der 5.4.0 Kernel gebaut werden. Frau Abbot bemüht sich darum, daß der Patch bereits in 5.4.0 einfliesst.

Der Soundbug ist auch unabhängig von den Treibern, aber das habe ich nicht anders erwartet.

Update: wurde in 5.4.5 gefixt.

„Security“ by Deutsche Bahn

Die Deutsche Bahn hat ja derzeit schon einen Gesprächstermin mit der Berliner Datenschutzbeauftragten, weil sie Greta’s Reisedaten preisgegeben haben, aber vor 16 Minuten brach auch die Sicherheitsfassade der DB IT zusammen. Auf Full-Disclosure wurde vom Vulnerability Laboratory eine DB Bahn Sicherheitslücke veröffentlicht.

„Security“ by Deutsche Bahn

Man kennt das als Bahnfahrer, man trifft an an einem Bahnhof ein und möchte woanders hin. Dazu braucht man einen Fahrschein, neudeutsch auch Ticket genannt. Um ein Ticket zu bekommen, stehen überall so kleine armlose Roboter rum, die Geld in Tickets wechseln. Dazu gibt man ein, wo man hin will und dann …. crasht gelegentlich die Anwendung intern, und da wird es spannend 🙂

Ein Prozess auf dem… und jetzt gut festhalten… Windows XP System, namens PasswordAgent.exe hat diverse Fehler, mal kann er was nicht abfragen, mal gibt es Laufzeitfehler, wie man das so noch von WinXP kennt ;). Jedesmal wenn das passiert, kommt eine Fehlermeldungsbox. Auf normalen PC wäre die im Vordergrund zusehen, hier allerdings versteckt sie sich hinter dem Anwendungsfenster des Verkaufsautomaten, damit der Kunde genau das nicht sehen kann.

Leider gibt es da noch einen Bug: Wenn man im Zahlenfeld auf Abbrechen klickt, während diese Meldung im Hintergrund angezeigt wird, kommt die nach vorne, vor die Verkaufsanwendung.

Jetzt haben wir ein Standardwindowsfehlerfenster und da ist ein Link drin zu den Details der Fehlermeldung. Darin wiederum ist ein Link zur M$-Hilfe. Drückt man drauf kommt, Ihr ahnt es, ein Browser ins Spiel, weil das ein Weblink ist. Ist der Browser erstmal gestartet, hat man über das Einstellungsmenü die Option ins Filesystem zu wechseln und der Rest dürfte auf der Hand liegen: Trojaner drauf, Ransomware oder einfach die DB Kunden verarschen, in dem der Automat keinen Fahrschein druckt oder oder oder…

Hier nochmal die Kurzfassung des Exploitweges:

PasswordAgent.exe := Unexpected Error (Background) – Runtime/Session/Timeout
=> Transaction Application => Cancel := Unexpected Error (Background) – Runtime/Session/Timeout (Front)
=> Click Error Report => Click Search Collection => Web Browser => Local File System => PWND!

Den Wert des Exploits schätzen die Finder auf 5.000€ – 10.000€ ein.

Angeblich kam die Bahn bereits selbst auf diese Lücke und hätte auch schon mit dem Patchen begonnen, insofern müßten potentielle Spaßvögel sehr schnell reagieren 😉

Quelle: https://www.vulnerability-lab.com/get_content.php?id=2191

Gnome-Disks: Formatierungsfortschritt beobachten

Ihr formatiert nicht gerade zufällig ein großes USB-Laufwerk mit Verschlüsselung und allem und plant für heute noch mehr, außer ein animiertes GIF dabei zu beobachten, sich zwanghaft im Kreis zu drehen?

Formatierungsfortschritt von Gnome-Disks leichtgemacht

„Du wirst ganz Müde! Du möchtest nicht wissen, wann ich fertig bin! Mach die Augen zu! Du schläfst ein!“

So oder so ähnlich versucht Gnome-Disks den Benutzer so lange einzulullen, bis der wirklich schlafen gegangen ist, weil er nicht weiß, wann das Formatieren seines TB-Laufwerks fertig ist. Das Problem haben sehr viele Nutzer schon sehr lange, aber nie hat sich etwas getan und Hilfe war nicht ersichtlich.

Das hat sich geändert, wobei „geändert“ ist das falsche Wort. Besser wäre: Ich hatte da eine Idee.

Während Gnome-Disks läuft, zeigt es keinen Progressbar, obwohl es das ganz leicht könnte, denn es benutzt lediglich die API vom udisks-Service. Udisks stellt aber auch einen Monitorservice zur Verfügung, den man einfach als Root aufrufen kann:

sudo udisksctl monitor

Das Ergebnis ist ein kontinuierlicher Strom an Fortschritten dieser Gestalt:

15:07:34.339: /org/freedesktop/UDisks2/jobs/11: org.freedesktop.UDisks2.Job: Properties Changed
ExpectedEndTime: 1576505289340729
Rate: 38343810
Progress: 0.98951756217805409

Jetzt darf man mal raten, was 0.98 bedeutet, genau, hier waren es 98.95% Fortschritt 🙂

Alles was gnome-disks machen müßte, wäre die API nach seiner Job ID (hier 11) zu fragen und das Ergebnis anzuzeigen. Das es das schon seit Jahren nicht tut, ist nicht schön, aber Ihr habt jetzt einen Weg, wie man das einfach umgehen kann.

Fedora 30&31 Bootumstellung führt zu Startproblem

Eigentlich wollte ich was von Endlosschleifen sagen, aber das trifft es nicht, auch wenn eine Schleife als Folge möglich ist. Neulich habe ich auf Fedora 30 Updaten müssen, dabei gab es eine Reihe von Pannen, bei deren Lösung Ihr ab sofort hier nachschlagen könnt.

Die Umstellung auf BLS

Schuld ist die BLS Umstellung in Grub, die zu einigen Verwirrungen und Irrungen geführt hat. Natürlich hat das Suchen mal wieder deutlich mehr Zeit in Anspruch genommen, als das Beheben des resultierenden Problems. Wer rechnet schon mit einer bis Dato unbekannten Bootmichtodschleife? Zugegeben, in meinem Spezialfall war es mehr Tod als Schleife, aber ohne viel Fantasie kann man auch eine Schleife damit bauen.

Die BootLoader Specification kurz BLS kann man an einem passenden Eintrag in der /etc/defult/grub erkennen:

# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“gfxterm“
GRUB_ENABLE_BLSCFG=true

Ich hab ein bisschen was weggelassen, damit es leserlicher wird. Wenn BLS aktiv ist, habt Ihr die Booteinträge nicht mehr in der grub2.cfg stehen, sondern hier:

# ls -la /boot/loader/entries/
insgesamt 16
4 -rw-r–r–. 1 root root 379 28. Nov 00:19 7e390913b33b4e5ba8f960a9ba97aeee-0-rescue.conf
4 -rw-r–r–. 1 root root 249 22. Nov 00:15 7e390913b33b4e5ba8f960a9ba97aeee-5.3.12-200.fc30.x86_64.conf
4 -rw-r–r–. 1 root root 249 26. Nov 00:28 7e390913b33b4e5ba8f960a9ba97aeee-5.3.13-200.fc30.x86_64.conf
4 -rw-r–r–. 1 root root 249 2. Dez 17:22 7e390913b33b4e5ba8f960a9ba97aeee-5.3.14-200.fc30.x86_64.conf

Diese Änderung unterstütze ich voll und ganz, da muß man keine unnötigen rebuilds der grub.cfg machen. Einfach neues File rein, oder altes raus. Fertig. Soweit, so gut.

Die Probleme zeigen sich jetzt bei diesem Punkt: „/etc/grub.d/08_fallback_counting“  Da wird mitgezählt, ob wir einen funktionierenden Boot hatten, oder nicht. Wenn der Rechner z.b. beim Boot nicht hochkommt, wird automatisch ein anderer Kernel benutzt, als zuletzt zum Booten eingestellt war. Im Idealfall behebt sich ein Bootproblem somit von allein.

An sich wäre das ok, wenn genau dieser Algorithmus auch sauber funktionieren würde, tut er aber nicht.

Prämisse: Der Rechner bootet nicht durch, Ihr wählt im Kernelmenü einen anderen Kernel aus.

Wenn man den 08-Fallbackcode liest, stellt man fest, daß im Fall der Erkennung des „nicht sauber gebootet“ Zustands, die Auswahl des Kernels, die man selbst gemacht hat, mit dem Defaultwert 1 überschrieben wird. „1“ meint hier den Kernel-Index 1, also den Kernel an Position 2 in der Liste!

insmod increment
# Check if boot_counter exists and boot_success=0 to activate this behaviour.
if [ -n "\${boot_counter}" -a "\${boot_success}" = "0" ]; then
   # if countdown has ended, choose to boot rollback deployment,
   # i.e. default=1 on OSTree-based systems.
   if [ "\${boot_counter}" = "0" -o "\${boot_counter}" = "-1" ]; then
      set default=1
      set boot_counter=-1
      # otherwise decrement boot_counter
   else
      decrement boot_counter
   fi
   save_env boot_counter
fi

Und bei der „set default=1“ Zeile liegt das Problem, denn was da Index 1 ist als Kernel, ist nicht definiert.

Das Fallbackproblem ist auch dann wirksam, wenn man kein BLS aktiv hat. In diesem Fall läßt es sich besser nachvollziehen, deswegen setzen ich das jetzt mal voraus. Die grub.cfg könnte dann so aussehen:

### BEGIN /etc/grub.d/08_fallback_counting ###
insmod increment
# Check if boot_counter exists and boot_success=0 to activate this behaviour.
if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then
  # if countdown has ended, choose to boot rollback deployment,
  # i.e. default=1 on OSTree-based systems.
  if  [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then
    set default=1
    set boot_counter=-1
  # otherwise decrement boot_counter
  else
    decrement boot_counter
  fi
  save_env boot_counter
fi
### END /etc/grub.d/08_fallback_counting ###

BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora (5.3.14-200.fc30.x86_64) 30 (Thirty)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.3.14-200.fc30.x86_64-advanced-dca7eea1-687e-476a-a9a0-c41ef0329113' {
...
}
menuentry 'Fedora (5.3.13-200.fc30.x86_64) 30 (Thirty)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.3.13-200.fc30.x86_64-advanced-dca7eea1-687e-476a-a9a0-c41ef0329113' {
...
}
menuentry 'Fedora (5.0.17-200.fc29.x86_64) 30 (Thirty)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.0.17-200.fc29.x86_64-advanced-dca7eea1-687e-476a-a9a0-c41ef0329113' {
...
}

Das ergibt :

Kernel-Index=0 => „5.3.14-200.fc30.x86_64“
Kernel-Index=1 => „5.3.13-200.fc30.x86_64“
Kernel-Index=2 => „5.0.17-200.fc29.x86_64“

Merke, in dem Fallback steht 1 als Fallbackoption drin.

Das Xen Problem

Wenn jetzt die neueren Kernels von Fc30 nicht bootet, weil die z.b. in einer XenUmgebung laufen, wo ein alter pyGrub Bootloader am werkeln ist, dann funktioniert der Boot nicht. d.b. der nächste Boot funktioniert auch nicht, weil die Fallbackoption auf einen Kernel zurückgreift, der auch nicht funktioniert.

Wenn man jetzt in der grubenv den Kernel-Index=2 ausgesucht hat, z.b. so „saved_entry=Fedora (5.0.17-200.fc29.x86_64) 30 (Thirty)„, dann wird dies wie oben beschrieben ignoriert, weil der FallBackcode nach dem Defaultkernelcode in der Grub.cfg kommt.

Ihr könnt auch tausendmal auswählen, daß Ihr den Kernel haben wollt, ist egal, wird auch überschrieben.

Die Lösung

Da hilft nur eine Aktion: „set default=2“ in die grub.cfg schreiben. Das wird natürlich beim nächsten Kernelinstall übergenagelt, aber a) könnt Ihr das auch in der /etc/grub.d/08-…. anpassen, dann bleibt es erhalten und b) in obiger Prämisse rebootet Ihr eh nicht 😉 hauptsache das System kommt überhaupt hoch.

Jetzt muß keiner glauben, daß das Problem unbekannt wäre, es gibt Bugreports dazu von Fedora 30 Tage 1 an. Weil das Problem für Xen als Bugreport bekannt war, wurde die Upgraderoutine so umgeschrieben, daß BLS deaktiviert ist, wenn Xen als Host gefunden wird. Das alleine schützt aber nicht vor dem Fallbackproblem.

Grubby

Das nächste Problem: grubby. Grubby ist das kleine Shelltool, daß die Grubenv erzeugt, wenn z.b. sagt, welchen Kernel man als Default haben will, Ihr erinnert euch: Grubby: wie man wieder einen Default Kernel setzen kann.

Tja leider ist Grubby wohl nicht ganz mitgekommen und schreibt BLS Kernelinformationen in die grubenv, auch wenn BLS abgeschaltet ist. Da könnt Ihr nur von Hand eingreifen und die grubenv manuell beheben. Aber achtet auf die 1024 Zeichenlänge der grubenv, die muß erhalten bleiben!

Kleines Update:

Wenn man jetzt so danach googelt, findet man jede Menge Hinweise, daß bei dem Upgradeprozess etwas schief gehen wird. Ich komme mehr und mehr zu dem Schluß, daß es eine ganz schlecht geplante Aktion war.

Anstelle von Grubby für den Kerneleintrag zubenutzen, kann man auch folgendes machen:

grub2-editenv /boot/grub2/grubenv set „saved_entry=Fedora (5.3.13-200.fc30.x86_64) 30 (Thirty)“

Natürlich mit dem Kerneleintrag den Ihr wollt 😉

Wie kommt man an diese Bezeichnung?

grep ^menuentry /boot/grub2/grub.cfg | cut -d „‚“ -f2

kommt dies bei raus:

Fedora (5.3.15-200.fc30.x86_64) 30 (Thirty)
Fedora (5.3.14-200.fc30.x86_64) 30 (Thirty)
Fedora (5.3.13-200.fc30.x86_64) 30 (Thirty)
Fedora (0-rescue-9aa92939e4c644e6aa3e09cc4c2311e8) 30 (Thirty)

Jetzt braucht Ihr den Titel nur noch zu kopieren und an den grub2-editenv zu übergeben.