Fedora: Upgrade von 29 auf 30 (Beta) mit Problemen

Von Updates des Systems via DNF auf die F30 Beta von Fedora sollte man derzeit Abstand nehmen.

Wie man in der Developerliste nachlesen kann, gibt es derzeit einige Blocker bei libdnf, systemd & GDM:

  1. libdnf – F29 to F30+ upgrades fail unless –allowerasing is used due to issue with module_platform_id, even explicit –setopt=module_platform_id does not work
  2. createrepo_c is marked as fixing this in F30, but it’s not clear if an update is also needed for the F29 package.
  3. systemd – gdm Fails to load with „nomodeset“
    SystemD has been backported a fix but does not appear to address the issue for all scenarios (only UEFI VM works. UEFI bare metal and BIOS for VM and metal still exhibit the issue). Further investigation is required.

Und dann hätten wir noch die Probleme, die noch nicht akzeptiert sind:

grub2 – grub2-common kernel.d plugin removes $ESP// directory rendering machine unbootable

Es ist schwerlich vorstellbar, damit ein System zu updaten, wenn es danach nicht mehr bootet. Wie der Bug noch nicht als Bug akzeptiert werden konnte, ist mir ein Rätsel 😉

Also Leute, nicht gleich auf die Beta stürzen, aber falls doch, hab Euch gewarnt 🙂

Links:

https://bugzilla.redhat.com/show_bug.cgi?id=1683197
https://bugzilla.redhat.com/show_bug.cgi?id=1656509
https://bodhi.fedoraproject.org/updates/FEDORA-2019-bc9607a8dc
https://bugzilla.redhat.com/show_bug.cgi?id=1648907

Das Surface Pro 4 mit dem Linux Touch

Man mochte es kaum noch glauben wollen, aber das Surface hat dann am Ende doch noch mit Touchsupport gebootet. Einen neuen Kernel später, hatten wir endlich ein Linux mit Touchoberfläche, oder doch nicht?

Die eine Sache namens Wayland

Was installiert man, wenn man einen Rechner frisch macht nicht ? Richtig Waylandkomponenten 😉 Man würde ja annehmen, daß eine Distribution, die Wayland als Default Displayserver einsetzt, alles, was man so brauchen würde automatisch installiert. Fedora nicht 🙂

Die installieren zwar Wayland als Server, aber leider nicht Firefox und Thunderbird als Waylandversion. Das muß der Benutzer nach dem obligatorischen Bugreport selbst machen 😉

dnf install firefox-wayland thunderbird-wayland

Das wars schon. Ihr müßt Euch natürlich angewöhnen diese Programme zu starten und nicht die normalen Versionen. Das ist leicht am Wayland Zusatz im Namen zuerkennen und daher kein Problem.

Wer clever ist, schmeißt die Nichtwaylands aus dem Gnome-Dock gleich raus und ersetzt sie mit den Waylandversionen. Womit wir zum Gnome-Dock kommen.

Für alle Neugnometabletbenutzer, merkt Euch:

Wischt man am Linken Rand von Links nach Rechts, kommt das Dock raus.

Das wird im Laufe Eures Linuxtabletlebens noch viel Nerven sparen 😉

Die Sache mit der Energie

Ja, das ist Intel Hardware. Nein, das Wort Energiesparen stand nicht auf der Agenda, auch wenn Intel M$ erklärt hat, wie man das machen muß, wenn man auf 13h Laufzeit kommen will. Ich hab mit Linux jetzt nur 9h geschafft. Dazu habe ich allerdings alles, auf Stromsparmodus gestellt, was sich so im PowerTop einstellen lies.

dnf install powertop
su root
powertop

Ich würde Euch die ShellUI ja gern mal zeigen, aber PowerTop hats beim letzten Update auf 2.9.9 wohl leicht zerrissen ( Bugreport ist raus ) . Da ich nicht ausschließen kann, daß es am Kernel, an den Extentions, Intel, M$ oder dem Universum liegt, erwähne ich es hier trotzdem. Da Ihr sowieso ein Script daraus machen müßt, weil es nach jedem Reboot weg ist, hier die Lösung:

$ cat /etc/init.d/powersafe
#!/bin/bash
#
# Script fuer den Energieverbrauch
#
# chkconfig: 345 00 99
# description: Powersafemode
### BEGIN INIT INFO
# X-Start-Before: display-manager
### END INIT INFO

. /etc/init.d/functions

echo ‚auto‘ > ‚/sys/bus/i2c/devices/i2c-0/device/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1c.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1c.0/power/control‘;
echo ‚1‘ > ‚/sys/module/snd_hda_intel/parameters/power_save‘;

echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:14.0/power/control‘
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1d.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:14.2/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:00.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1f.3/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:01:00.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:14.3/power/control‘;

echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:05.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1f.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:08.0/power/control‘;
echo ‚auto‘ > ‚/sys/bus/pci/devices/0000:00:1f.2/power/control‘;
echo ‚auto‘ > ‚/sys/bus/usb/devices/1-7/power/control‘;

Jetzt noch im System verankern:

systemctl enable powersafe
systemctl start powersafe

und die HW ist deutlich langsamer 🙂 Aber das reicht nicht. Ihr braucht die Gnome Extention „cpufreq“:

CPUFreq in aktion(Ja, da sind noch mehr Extentions drauf. Geduld junger Padawan!)

Wie man oben sehen kann, habe ich der CPU gesagt, sie soll doch so freundlich sein und nur 2 Kerne und die auch nur mit maximal 60% Leistung benutzen. Das ist für den Tabletbetrieb erstmal ausreichend. Damit kann man auch Netflix schauen ohne das es ruckt. Ihr seht unter dem Smiley noch „powersafe“ das ist der Governator, eine Kerneloption, die Energiesparen über Spaß an der Reaktion stellt 😉 Es geht auch der „iss mir doch egal wie schnell der Akku leer ist“ Modus ;D

An der Stelle rate ich dazu das Gnome-Tweaktool zu installieren und sich Gnome einzurichten. Ich habe jetzt drei Bildschirmseiten voll Extentions mit sinnvollen Funktionen auf dem Tablet und damit lebt es sich gut. Extra fürs Surface Book, gibt es einen Batterieanzeiger, der rechnet das wohl leicht anders aus, wie es scheint.

Bevor wir mit der Sektion „Spaß haben“ weitermachen, hier noch die traurige Nachricht:

Eurer Tablet bleibt vorerst blind.

Der Kamerasupport im i915 IPTS Patch ist im Stand heute, 4.3. 2019, noch nicht enthalten. Jake hat das nach unten priorisiert. Das kann ich verstehen.

Ich hatte ja im letzten Artikel damit geendet, daß der Touchsupport nach 5 Minuten wieder weg war. Da bin ich Euch ja noch eine Information schuldig. Ja, leider die Kernelpatche sind nicht dauerhaft stabil. Einige Stunden können es schon mal sein, aber wer viele Events auslöst, der riskiert, daß einer zum Treibercrash führt. Das ist allerdings kein Grund zum Reboot, sondern nur zum Anklemmen der Tastatur. Als Root müßte Ihr das eingeben:

rmmod intel_ipts;modprobe intel_ipts

und schon geht es wieder. Bei Wifiproblemen ist das nicht ganz so leicht, da ist ein Reboot schneller.Kommt aber auch seltener vor.

Ok, genug der schlechten Nachrichten, jetzt, also für Euch übermorgen geht es mit dem nächsten Beitrag „Spaß haben“ weiter ! Da lassen wir das Tablet mal Android sowas von alt aussehen, daß die Schwarte kracht 😀

Tablet und kein Ende in Sicht

Tablet ohne Tabletfunktionen: INTEL i915 IPTS

„Das kann nicht wahr sein!?“ Durchatmen.. “ ***** **** *** ***** *********** **** *********!“ ist besser so. Das kann einfach nicht wahr sein, oder ? Da hatte man ein Probegerät, daß sofort ging, und dann sowas. Stand der Dinge: Ein sehr teures, wenn auch recht leistungsfähiges Laptop mit nur einem USB Anschluß und einem Pappdeckel als Tastatur!

INTEL i915 IPTS

Das Ende vom Lied, M$ hatte dem Pro4 neue spezial Hardware von Intel spendiert um es mit dem i7-6th Gen auch voll ausreizen zu können. Natürlich hatte Intel M$ alle Infos gegeben um mit dem Chipsatz zu arbeiten, aber der freien Welt hatte man das nicht rechtzeitig mitgeteilt. Also: kein Touch, WLAN nur begrenzt, keine Kameras, und davon hat das Tablet gleich zwei Stück.

Auch wenn es im Dorf Braunschweig das zweite Tablet mit Linux war, in der Welt war es das nicht. Andere hatten das Problem auch schon vorgefunden und keine Lösung gehabt, bis Jake Day in seinem GithubRepo eine Patchserie für den Kernel veröffentlichte, und damit einen Teil des Problems löste.

Kernel selber bauen

Oh man, den Kernel also selbst bauen. Wieso nicht, habe ich früher öfter gemacht und einige GrSecurity Bugs behoben. Eigentlich hatte ich ja gehofft, daß diese Zeiten vorbei wären, aber watt mutt, datt mutt sagten sie auf dem Dorf meines Onkels immer. Daher für Euch jetzt die Anleitung, wie man das macht.

Jetzt muß ich vorher sagen, daß Jake seine Anleitungen für Ubuntu & Co geschrieben hat, was einige Adaptionen für Fedora nötig gemacht hat. Die kommen teilweise von Zak Myth.

Vorbereitungen

Ich habe mir das Leben einfacher gemacht und erstmal den SSHD so umkonfiguriert, daß ich mit Schlüssel auf das Surface drauf konnte und alle Kommandos vom PC absetzen konnte. Solltet Ihr auch machen, weil das TypeCover zwar funktioniert, aber nicht so schön, wie die eigene Tastatur ist 🙂

Zunächst mal die Tools, die wir brauchen werden installieren:

dnf groupinstall „Development Tools“
dnf groupinstall „C Development Tools and Libraries“
dnf install elfutils-devel openssl-devel perl-devel perl-generators pesign ncurses-devel

Dann brauchen wir natürlich den Source:

cd /root
mkdir -p kernel/4.19.23
mkdir -p patche/4.19
cd patche/4.19
git clone https://github.com/jakeday/linux-surface.git

Jetzt Setupen, also einstellen was man an Patchen haben will. Hibernate wäre clever, wenn man keine verschlüsselte Festplatte hat.

chmod 700 setup.sh
./setup.sh
cd /root/kernel/4.19.23
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git .
git checkout v4.19.23
vi Makefile

Hier ändern wir jetzt den Wert für „EXTRAVERSION“ auf z.B. „-surface-pro4“ . Damit bekommt man einen Zusatz am Kernelfile, was im Grubmenü später für Klarheiten sorgt. Wir wenden die Patche auf den Kernel an:

for i in ../../patche/4.19.23/patches/4.19/*.patch; do patch -p1 < $i; done

kopieren die aktuelle Fedora Kernelconfiguration, die ja so schlecht nicht ist :

cp /boot/config-4.20.6-200.fc29.x86_64 .config

man muß aber beachten, daß Ihr den für Euch neuesten Kernel und dessen Config benutzt! Dann erzeugen wir ein Backup:

make oldconfig

passen die config an :

vi .config

suchen nach INTEL_IPTS und auf „m“ setzen.

make -j `getconf _NPROCESSORS_ONLN` bzImage
make -j `getconf _NPROCESSORS_ONLN` modules
make -j `getconf _NPROCESSORS_ONLN` modules_install
make -j `getconf _NPROCESSORS_ONLN` install

und reboot.

Und wer vorher mal das Bootmenü wie im Artikel Wie man den GRUB2-EFI-Bootfont ändert beschrieben angepaßt hat, der kann sich jetzt auch den eigenen Kernel aussuchen ohne Augenschäden befürchten zu müssen.

Der Rückschlag

„Nichts ist, wie es scheint.“ der Leitspruch aus dem Film 23 trifft natürlich mal wieder voll ins Mark. Surface bootet nicht, weil dem Kernel nicht vertraut wird. Also muß man dem Surface Bios sagen, daß es doch bitte mitspielen soll. Am Ende wollte es nicht mitspielen ohne einen roten Balken einzublenden, daß wir ohne trusted Plattform usw. arbeiten und dann gings.

Der Kernel triggert dann im Bootprozess SELinux an, doch mal alles umzulabeln, weil ist ja jetzt per Se unsicher usw. Nervig 5 Minuten später der nächste Reboot und nun kanns endlich losgehen.

Und ja.. TOUCH GEHT! \o/

Wie jetzt, daß geht nur 5 Minuten lang ?

Mehr dazu im nächsten Teil der Serie 😀

Games: Astrolords mit Touchsupport?