Wie erwartet, gab Linus Torvalds mit Linux 5.9 am Wochenende den aktuellen Kernel frei, der von der Kernel-Community in den letzten zehn Wochen seit der Veröffentlichung von Linux 5.8 entwickelt wurde. Torvalds hatte nach Linux 5.9-rc7 eine weitere Woche an den Entwicklungszyklus angehängt, da zu diesem späten Zeitpunkt immer noch Einreichungen hereinkamen. Der Großteil davon gehört in die Sparte Networking.
Treiber
Neue Treiber und Updates zu bestehenden Treibern machen wie so oft einen Großteil der Neuerungen bei Linux 5.9 aus. Bei den Grafiktreibern ist AMD mit der Unterstützung für die kommende RDNA-2-Architektur und Big Navi dabei, die die neuen Radeon RX 6000 Grafikkarten mit den GPUs Sienna Cichlid und Navy Flounder ab Ende des Monats beflügeln werden. Intel sorgt für die Bereitstellung der Grafikunterstützung der Rocket Lake Plattform. Bei den CPUs integriert 5.9 Unterstützung für Intels Generationen Lakefield, Alder Lake und Rocket Lake.
Architekturen
Für die ARM-Architektur wird neben zwei neuen Chips des taiwanesischen Herstellers MStar auch die Board-Revison 1.2 des Allwinner Sunxi für das PinePhone unterstützt. Die x86-Architektur erfährt mit 5.9 eine Beschleunigung durch Unterstützung für Kernel- und Initrd-Images, die mit ZStandard (Zstd) komprimiert sind. Aus dem neuen Kernel entfernt wurde die Unicore32-Architektur, die bereits seit Längerem nicht mehr betreut wird und durch das Fehlen eines passenden Compilers auch nicht mehr gebaut werden kann.
Von Intel kommt eine weitere Verbesserung, die rund fünf Jahre vom ersten Commit bis zur jetzigen Integration gebraucht hat. Die Rede ist von den aktuellen Patches zur Unterstützung der FSGSBASE-Instruktionen, die für bestimmte Workloads eine Beschleunigung von drei Prozent bringen kann. LWN hat kürzlich detailliert die Hintergründe der FSGSBASE-Saga aufgezeigt.
Dateisysteme
Bei den Verbesserungen für Dateisysteme erhält Btrfs keine größeren neuen Funktionen, sondern viele kleine Verbesserungen. Dazu zählt unter anderem die neue Mount-Option rescue= zum Gruppieren aller wiederherstellungsbezogenen Mountoptionen. Das Inode-Flushing bei XFS funktioniert nun komplett asynchron. Bei Ext4 werden Bitmaps künftig nicht mehr einzeln, sondern in Gruppen geladen. Ext4 verwendet Bitmaps, um zugewiesene Blöcke und Inodes zu verfolgen. NFS wird über das NFSv4.2-Protokoll server– und clientseitig mit Extended Attributes (xattrs) für User ausgestattet. Das Flash-Friendly File-System (F2FS) erhält mit F2FS_IOC_SEC_TRIM_FILEeinen neuen Systemaufruf (ioctl), der bei SSDs für ein sichereres Löschen per TRIM/DISCARD oder das Überschreiben mit Null sorgt.
GPL besser geschützt
Nicht zuletzt führen Patches von Christoph Hellwig dazu, dass der GPL-Schutz verbessert wird. Hier geht es explizit um einen lange bestehenden Fehler beim Auflösen der GPL-Module. Module konnten vorgeben, GPL-lizensiert zu sein, aber gleichzeitig von proprietären Modulen abhängen. Erstmals führte das 2012 zu anhaltenden Diskussionen, als ein Patch des Nvidia-Entwicklers Robert Morell vorschlug, die als EXPORT_SYMBOL_GPL() exportierten Symbole der Shared-DMA-Buff-Architektur in die regulären EXPORT_SYMBOL()-Exportrichtlinien zu ändern. Kürzlich sorgte erneut ein Patch für Nvidia für Aufregung in gleicher Sache und vermutlich für die jetzige Beseitigung dieses Fehlers.
Mit der Veröffentlichung von Linux 5.9 öffnet sich das zweiwöchige Fenster für Einreichungen zu Linux 5.10 , bevor Torvalds 5.10-rc1 als ersten Kandidaten freigibt. Alle Änderungen zu Linux 5.9 sind wie immer kompakt auf der Webseite Kernel-Newbies nachzulesen.
Linus Torvalds hat am Wochenende zwei Monate nach Linux 5.7 die neue Kernel-Version 5.8 freigegeben. Er sagt in seiner Ankündigung, er habe es zwar nicht erwartet, aber Linux 5.8 sei »eine unserer größten Veröffentlichungen aller Zeiten«. Dabei sticht kein Entwicklungszweig besonders heraus, wie das ansonsten bei rekordverdächtigen Kerneln oft der Fall ist.
Strengere Commit-Regeln
Für Linux 5.8 wurden 14.000 Dateien editiert, es gab über 16.300 Commits. die dem Kernel rund 800.000 Zeilen hinzufügten. Trotz der Größe bezeichnet Torvalds das Release als nicht sonderlich problematisch. Allerdings habe ihn die Menge der Commits veranlasst, über eine Verschärfung der Regel nachzudenken, nach der das Einreichen neuer Funktionen in der ersten Woche des Merge Windows stattfinden sollten.
Prominente Treiber-Updates
Wie immer bringt auch Linux 5.8 viele Treiber-Updates. Bei AMD wurde Unterstützung für die Trusted Memory Zone (TMZ) eingeführt, um Teile des VRAM zu verschlüsseln. Damit soll verhindert werden, dass Prozesse auf der CPU TMZ-Bereiche der GPU lesen oder schreiben können. TMZ unterstützt alle AMD Radeon GPUs auf der Basis der CGN-Architektur.
Neu ist auch der AMD Energy Driver, der in der Lage ist, für Zen/Zen2 CPUs zur Temperaturüberwachung Energiewerte für einzelne Kerne und Sockets auszuweisen. Bisher war das nur unter Windows mit Apps wie Ryzen Master möglich.
Weitere Treiber
Bei Intel wird Unterstützung für die kommende Rocket Lake Gen12-CPU initial eingeführt und für Tiger Lake weiter verbessert. Die gesammelten Patches sind auf FreeDesktop einsehbar. Die Qualcomm Adreno-Reihe mit den GPUs 405, 640 und 650, die in Snapdragon-SoCs verbaut wird, werden von Linux 5.8 erstmals unterstützt. Diese GPUs sind in vielen modernen Smartphones wie Samsung Galaxy S10, OnePlus 7, Google Pixel 4/XL und vielen anderen verbaut.
Booten von POWER10
Bei den CPUs wurden außer dem AMD Energy Treiber auch Patches für die Temperaturüberwachung für AMD Ryzen 4000 Renoir eingereicht. Die 2021 erwartete, in einem 7nm-Prozess hergestellte IBMs POWER10-Plattform erfährt erstmalig Unterstützung, sodass 5.8 in der Lage ist, auf POWER10-Hardware zu booten.
Linus Torvalds hat über Pfingsten Linux 5.7 freigegeben. Die Entwicklung der neuesten Version von Linux scheint durch Corona nicht negativ beeinflusst worden zu sein. Die Anzahl der von annähernd 2.000 Entwicklern eingereichten Commits liegt mit fast 14.000 im Durchschnitt der Änderungen der letzten Zeit.
ExFAT ade, hallo sdfat
Die größte Änderung ist die Entfernung des mit Kernel 5.4 eingeführten, aber bisher nicht offiziellen exFAT-Staging-Treibers und stattdessen Samsungs Treiber sdfat als offizielle und von Microsoft abgesegnete exFAT-Implementation aufzunehmen.
Grafiktreiber von Intel und AMD
Wie immer gibt es auch bei Grafiktreibern und Dateisystemen viel Bewegung. Intels i915-Treiber unterstützt nun offiziell die GPU-Architektur Xe (Gen12) für Intels in 10 nm realisierte Tiger Lake-Architektur. Der AMD- Radeon-Treiber AMDGPU sah unter anderem einen Patch für die initiale Unterstützung für OLED-Backlights bei HDR/OLED Displays. Dabei wird die Helligkeit über den AUX-Zusatzkanal des DisplayPorts geregelt anstatt bisher über Pulsweitenmodulation (PWM).
Das Extensible Firmware Interface (EFI) erhielt ein Patchset, das umfangreicher ausfiel als üblich. Der von Ingo Molnar eingereichte Pull Request begründet das mit Aktivitäten im Team des GRUB-Bootmanagers:
Das GRUB-Projekt zeigt wieder Lebenszeichen, was dazu führt, dass die Einführung des generischen Linux/UEFI-Boot-Protokolls anstelle von x86- spezifischen Hacks, die immer schwieriger zu warten sind. Es gibt Hoffnung, dass alle zukünftigen Erweiterungen nun durch dieses Boot-Protokolls gehen werden.
Darüber hinaus sind neben der Beseitigung von Fehlern und der üblichen Code-Bereinigung unter anderem auch vorbereitende Patches für eine künftige Unterstützung von EFI für RISC-V sowie Verbesserungen für AArch64/ARM64 enthalten.
Dateisysteme Btrfs und XFS
Bei den Dateisystemen erfuhren Btrfs und XFS nennenswerte Änderungen. Die Patches für Btrfs von SUSE-Entwickler David Sterba umfassen unter anderem Änderungen am Kern-Code, darunter Referenzzählungen und einen Leak-Detektor zum Schutz des Root-Dateibaums. Zudem erhielt Btrfs den neuen ioctl()-Befehl BTRFS_IOC_SNAP_DESTROY_V2, der das Löschen eines Untervolumens anhand seiner ID ermöglicht.
In a world gone mad, the kernel looks almost boringly regular.
TORVALDS ZUR ENTWICKLUNG VON LINUX 5.7
Für XFS sind Änderungen integriert, die für einen kommenden Kernel ein Online-FSCK-Tool versprechen, an dem Oracle-Entwickler Darrick Wong bereits seit 2017 arbeitet. FSF2 unterstützt jetzt Kompression mittels Z-Standard (zstd).
80 × 25 veraltet
Zwei Tage vor der Veröffentlichung brach Torvalds mit einem aus den 80er Jahren stammenden Paradigma, indem er erklärte, der 80 x 25 Codierstil sei nicht mehr zeitgemäß und werde deswegen in die Kernel-Entwicklung nicht mehr forciert, obwohl weiterhin empfohlen.
Merge Window für 5.8 geöffnet
Die aktuelle Version von Linux kann von Kernel.org bezogen werden. Das zweiwöchige Fenster für Einreichungen zu Linux 5.8 ist nun geöffnet. Wenn alles glattläuft, sollte der nächste Kernel im Ende Juli oder Anfang August erscheinen. Wie immer bietet das Projekt KernelNewbies eine übersichtliche Zusammenfassung der Änderungen zu Kernel 5.7.
Linus Torvalds hat Linux 5.6 freigegeben. Linux 5.6 ist einer der spannendsten Kernel seit Langem und ist vollgepackt mit interessanten Neuerungen aus den Bereichen Netz, Grafik, USB und Virtualisierung. Statistisch gesehen ist der neue Mainline-Kernel dagegen weniger imposant. In 63 Tagen Entwicklungszeit wurden 13.691 Einreichungen getätigt, bei denen 11.577 Dateien geändert wurden. Damit erhöht sich die Gesamtzahl der Dateien im Kernel auf 67.337 und die Zahl der Zeilen auf über 25,5 Millionen (ohne Dokumentation).
WireGuard in Linux 5.6
Wichtiger als das sind jedoch die Inhalte. Viel länger als erwartet dauerte die Integration des modernen VPN-Tunnels WireGuard, doch jetzt ist es geschafft. Damit wird die Verwendung der bereits weit verbreiteten Anwendung noch einfacher, da das Kernelmodul nicht mehr vom Anwender gebaut werden muss.
Nächster Standard USB4
Während wir uns noch mit dem Verständnis der Nuancen von USB-3, 3.1, 3.2 und USB Type C beschäftigen, erschien vor einem halben Jahr bereits USB4 (man achte auf die neue Schreibweise), dessen Unterstützung nun in Linux 5.6 Einzug hielt. Erste Geräte, die den neuen Standard unterstützen werden noch in diesem Jahr erwartet.
Raspberry Pi 4 aufgewertet
Besitzer eines Raspberry Pi 4 werden nach der Grundunterstützung in 5.5 im neuen Kernel nochmals bedacht. Der Broadcom PCIe-Controller des kleinen Rechners erfuhr die Integration eines Treibers, der auch den USB-Controller kontrolliert. Die ebenfalls mit 5.5 unterstützte Raspberry-Pi-CPU Broadcom Broadcom BCM2711 erhielt mit Linux 5.6 einen Treiber zur thermischen Kontrolle.
VirtualBox vereinfacht
Virtualisierung mit Oracles Virtualbox ist wieder etwas einfacher geworden als bisher. Der Treiber für gemeinsame Ordner wurde in den Kernel aufgenommen, sodass für die Nutzung dieser zwischen Gast und Host geteilten Ordner keine Gasterweiterungen mehr installiert sein müssen.
Aufgrund der schieren Menge an Neuerungen Anzahl sind hier nur die für Endanwender wichtigsten Weiterentwicklungen erwähnt. Wer weitere Neuerungen von Linux 5.6 nachlesen möchte, kann das spätestens morgen für Laien verständlich – und das sind in Sachen Kernel-Interna wohl die meisten von uns – auf der Webseite Kernel Newbies tun.
Nach den Erkenntnissen der letzten Wochen zu Intel ME scheint Intel auch 2018 nicht aus den negativen Schlagzeilen herauszukommen. In einem Blog erschien am 1. Januar ein Artikel, der Hinweise auf einen Fehler sammelte, der anscheinend alle Intel-CPUs der letzten Jahre betrifft. Der Artikel weist zwar einige Fehler und vorschnelle Annahmen auf, folgt aber generell der richtigen Spur. Eine Beseitigung der Sicherheitslücke dahinter ist nur durch teils massive Änderungen an den einzelnen Betriebssystemen möglich, er kann anscheinend nicht in Intels Microcode repariert werden.
Linux- und Windows-Patches vorhanden
Bei Linux sind die Patches teilweise in Kernel 4.15 integriert und weitere für 4.16 geplant. Seit gestern abend ist bereits Kernel 4.14.11 gepatched. Bei Windows wurden sie den Benutzern des Fast Ring bereits im alten Jahr ausgeliefert und sollen an einem der nächsten Microsoft-Patchdays offiziell ausgeliefert werden. Apple schweigt sich wie üblich aus. Aber auch Intel hüllt sich über den Fehler in Schweigen. Die Kommentare in den Patches, die die Sicherheitslücke stopfen, verschleiern die technischen Hintergründe.
Viel geteilter Blogeintrag
Aufmerksam war der Autor des ersten Berichts durch hektisches Treiben bei den Kernel-Entwicklern in den letzten Wochen und über die Feiertage geworden. Tiefgreifende Änderungen am Virtual-Memory-Subsystem des Kernels, die ansonsten oft über Monate und Jahre diskutiert werden, bevor eine Zeile Code einfließt, brauchten nur wenige Wochen um in Kernel 4.15 einzufließen, der vermutlich in zwei Wochen veröffentlicht wird.
Hektik bereits seit Oktober
Der entsprechende Bug hat derzeit den Status embargoed, was bedeutet, dass betroffene Institutionen Kenntnis davon haben, der Fehler aber noch nicht veröffentlicht ist. Die zugrundeliegende Sicherheitslücke und die seit Oktober einfließenden Patches wurden zuerst am 20. Dezember auf LWN näher gewichtet. Der dortige Artikel ist derzeit aber nur für Abonnenten zugänglich und wird erst in den nächsten Tagen freigegeben.
Torvalds lässt Patches für 4.15-rc4 zu
Linus Torvalds hatte sich zu den sogenannten KAISER-Patches, die seitdem in KPTI für Kernel-Page-Table-Isolationumbenannt wurden, am 27. November dahingehend geäußert, er würde die Patches lieber in 4.16 sehen, wies aber auch gleich auf die Notwendigkeit der Portierung in die zurückliegenden LTS-Kernel 4.9 und 4.14 hin. Trotzdem flossen in 4.15-rc4 vorbereitende Patches ein, der Großteil wird, der gebotenen Sorgfalt bei solch tiefgreifenden Änderungen geschuldet, erst mit 4.16 ausgeliefert.
Künftig getrennte Page-Table-Bereiche
Was steckt nun hinter dem ganzen geschäftigen Treiben? Die Kernel-Entwickler trennen damit strikt die Page Tables, die derzeit noch von Kernel- und User-Space gemeinsam genutzt werden, in zwei völlig getrennte Sätze auf. Damit wollen sie verhindern, dass ein unprivilegierter Prozess auf den Speicherbereich im Kernel-Space zugreifen kann. Nach bisherigem Erkenntnisstand kann ein Prozess eine Intel-CPU durch Ausnutzen der Sicherheitslücke dazu bringen, Speicherbereiche zu prefetchen und dann durch Aushebeln der Zugriffskontrolle direkten Zugriff auf den Kernel-Bereich zu erhalten. Zudem könnte auch der Sicherheitsmechanismus ASLR ausgehebelt werden. Die auslösenden Prozesse können von normalen Anwendungen wie Office-Anwendungen bis hin zum JavaScript in Web-Browsern stammen. Im schlimmsten Fall könnten manipulierte Anwendungen oder Anwender den Kernelspeicher auslesen, der alle möglichen Geheimnisse wie Passwörter und weitere Zugangsdaten enthalten kann. Stellt man sich das auf öffentlichen Cloud-Servern vor, wird das mögliche Ausmaß klar.
Systemaufrufe bald langsamer
Wenn eine Anwendung in eine Datei schreiben oder eine Netzwerkverbindung öffnen will, muss sie dazu vorübergehend die Kontrolle über den Prozessor an den Kernel abgeben. Um den Übergang vom User-Modus in den Kernel-Modus und zurück so schnell und effizient wie möglich zu gestalten, hat der Kernel Zugriff auf den virtuellen Adressraum aller Prozesse, obwohl dieser für die Anwendung unsichtbar ist. Wenn der Kernel benötigt wird, führt das Programm einen Systemaufruf (syscall) durch, der Prozessor wechselt in den Kernel-Modus und hat Zugriff auf den Kernel. Wenn das erledigt ist, wird die CPU aufgefordert, in den Benutzermodus zurückzukehren und den Prozess erneut zu starten. Im Benutzermodus bleiben der Code und die Daten des Kernels für die Anwendung unsichtbar, ist aber in den Page Tables des Prozesses vorhanden.
AMD vermutlich nicht betroffen
Diese Sicherheitslücke ist in hohem Maße für virtuelle Maschinen und Container relevant, wo Bereiche mit Kernel-Techniken isoliert werden und ein Ausbrechen daraus kritisch sein kann. Nach Angaben des Kernel-Entwicklers Thomas Lendacky, der bei AMD beschäftigt ist, sind AMD-CPUs nicht betroffen. Er schreibt dazu auf LKML: » Die AMD-Mikroarchitektur erlaubt keine Speicherreferenzen, einschließlich spekulativer Verweise, die auf höher privilegierte Daten zugreifen, wenn sie in einem weniger privilegierten Modus ausgeführt werden, wenn der Zugriff zu einem Seitenfehler führen würde.«
Mindestens 5 Prozent Strafe
Also kann, wenn sich das bewahrheitet, für AMD-Prozessoren der KPTI-Patchset entfallen. Das könnte sich als Wettbewerbsvorteil herausstellen, da mit der Trennung der Page Tables ein anwendungsabhängiger Performance-Verlust von derzeit geschätzten mindestens fünf Prozent einhergeht. Diese Geschwindigkeitseinbußen entstehen dadurch, dass pro Syscall-Kontextwechsel ein TLB-Flush notwendig wäre. In Phasen ohne Syscall soll der TLB weiter wie gewohnt arbeiten. Modernere Intel-CPUs können dem TLB-Flush mit der PCID-Technik etwas entgegenwirken. Auf Phoronix gibt es erste Benchmarks dazu.
Des Pudels Kern?
Eines der Schlüsselwörter in der Aussage von Lendacky ist »spekulative Referenzen«. Bereits bei der Durchsicht der ursprünglichen KAISER-Patches von Sicherheitsforschern der Universität zu Graz stellte der Reviewer Anders Fogh in seinem Bericht fest: »Meine Ergebnisse zeigen, dass die spekulative Ausführung trotz Verstößen gegen die Isolation zwischen Kernel- und Benutzermodus tatsächlich weiter ausgeführt wird.« Hier könnte nach heutiger Erkenntnis der auslösende Fehler in Intels Silizium liegen.
Intel schweigt
Im Moment ist vieles an dieser Sicherheitslücke noch recht spekulativ, vor allem fehlen Informationen von Intel selbst. Klar ist, dass die Lücke besonders im Unternehmensumfeld ausgenutzt werden könnte. Große Cloud-Anbieter wie Amazon und Microsoft Azure haben bereits kurzfristig Wartungsmaßnahmen und Reboots angekündigt, ohne dabei jedoch ein mögliches Problem zu erwähnen.
Klar scheint auch zu sein, dass der Patch erst beim Booten aktiviert wird und somit AMD-CPUs von dem Performance-Verlust nicht betroffen sein werden. Unklar ist noch, wie weit genau die Lücke bei Intel-CPUs zurückreicht. Bisher sieht es aber so aus, als seien mindestens alle Intel-CPUs der letzten zehn Jahre betroffen.
Und wieder ist ein Jahr an Tux vorübergezogen. Linux erfreut sich auch weiterhin eines wachsenden Zuspruchs. Die Liste der 500 leistungsfähigsten Supercomputer zeigt, dass alle diese Rechner Linux nutzen, ohne Ausnahme. Linux ist in Ampeln, Supermarktkassen, an der Börse und im Weltraum anzutreffen. Open-Source und Busyness gehören mittlerweile untrennbar zusammen und fähige Open-Source-Entwickler sind stark nachgefragt. Nur am Desktop kann Linux immer noch nicht erfolgreich Fuß fassen. Auch 2017 war wieder nicht das Jahr des Linux-Desktops. Eigentlich sogar fast das Gegenteil.
Vom idealen Desktop geträumt
Kurz nach der Jahrtausendwende hatte der südafrikanische Entrepreneur Mark Shuttleworth einen Traum. Er glaubte zu wissen, welcher Zutaten es bedarf, um Linux erfolgreich am Desktop zu etablieren. Geld spielte erst mal keine Rolle, denn es war bis dahin allen klar, dass mit Linux am Desktop kein Geld zu verdienen war. Aber Geld hatte Shuttleworth erst einmal genug. So gründete er die Firma Canonical und kreierte die Distribution Ubuntu. Ziel war zunächst, so viele Anwender wie möglich für Ubuntu zu gewinnen.
Das gelang so gut, dass nach wenigen Jahren Ubuntu die am meisten verwendete Distribution war. Ubuntu war Einstiegspunkt für Millionen neuer Linux-User. Allerdings machte sich Shuttleworth bei der etablierten Linux-Community mit vielen Alleingängen und zweifelhaften Entscheidungen auch reichlich unbeliebt. Aber der Traum ging noch weiter. Ubuntu sollte nicht nur den Desktop beherrschen, sondern ihn mit der mobilen Welt konvergent verbinden.
Ausgeträumt
Der Traum endete jäh im April 2017, als Shuttleworth bekanntgab, Unity 8 werde ebenso eingestellt wie Ubuntu Touch und Mir. Damit starb auch der Konvergenzgedanke. Das Display-Protokoll Mir wird noch für das IoT weiterentwickelt, anstelle der Eigenentwicklung Unity krönt nun aber wieder, wie in den Anfangstagen, GNOME den Ubuntu-Desktop. Und jetzt wissen es alle: Mit Linux ist am Desktop kein Geld zu machen. Wenn das möglich wäre, hätte es Red Hat vermutlich schon getan. Und da Canonical an die Börse will, kann sich das Unternehmen, das mittlerweile über 100 Mio. US-Dollar Umsatz pro Jahr macht, keine Zuschussgeschäfte leisten.
Schmierentheater zu Lasten von Linux
Eine weitere Niederlage verschaffte uns München. Genau, es geht um LiMux. Wie dort die beiden Bürgermeister Dieter Reiter (SPD) und dessen Vize Josef Schmid (CSU) über mehrere Jahre das Projekt LiMux demontiert haben war schon ein bayrisches Schmierentheater übelster Sorte. Gezielt wurde das Projekt mit Scheinargumenten und Unwahrheiten schlachtreif geschossen, um nun für insgesamt 89 Mio Euro die verkorkste IT-Landschaft der Stadt umzumodeln und wieder mit Microsoft-Produkten auszustatten.
Damit hat OB Reiter, ein bekennender Microsoft-Spezl, der auch den Umzug der Microsoft-Niederlassung vom Stadtrand in die Stadt deichselte, Linux zum Buhmann gestempelt, obwohl eine fehlkonstruierte IT-Architektur für die meisten Probleme verantwortlich war und keineswegs LiMux. Auch der Bund der Steuerzahler tat sich in dieser Hinsicht mit Unkenntnis hervor und stieß ins verkehrte Horn. Angesichts der nun veranschlagten 89 Mio. Euro bei LiMux, das effektiv Geld einsparte, von Steuerverschwendung zu sprechen, ist der blanke Hohn, hatte doch LiMux bereits 2012 über 10 Mio. Euro eingespart.
Linux Notebooks boomen
Erfreuliche Nachrichten gibt es bei Linux-Notebooks zu vermelden. Es werden immer mehr und sie werden immer besser. Eines sind sie allerdings nicht gerade und das ist günstig. Wer zwischen 1.000 und 1.500 Euro auszugeben bereit ist, erhält in den Formfaktoren 13- und 15-Zoll eine gute Auswahl an auf Linux vorbereitete Arbeitspferde. Besonders positiv fiel 2017 dabei das US-Outfit Purism auf. Die Firma konnte nicht nur vermelden, ihre Notebooks mit Coreboot auszuliefern sondern auch, diese mit deaktivierter Intel Management Engineauszuliefern. Letzteres vermeldete zuletzt auch der Hersteller System 76, der ebenfalls auf Linux-Notebooks spezialisiert ist.
Purism konnte auch an anderer Stelle glänzen. Die Schwarmfinanzierung für das Linux-Smartphone Librem 5 konnte erfolgreich abgeschlossen werden. Unter anderem arbeiten sowohl GNOME als auch KDE an der Umsetzung des Betriebssystems mit. Das Smartphone soll Anfang 2019 erscheinen und auch den Konvergenzgedanken am Leben erhalten.
Weitere Projekte versuchen sich darin, am Thron von Android und iOS zu sägen. Neben dem von der Community übernommenen Ubuntu Touch kämpfen an dieser Front auch der Neueinstieg eelo sowie LineageOS mit und ohne Google-Dienste als Nachfolger von CyanogenMod. Demnächst soll laut Samsung Linux auch mittels der App Linux on Galaxy und einem Dock namens DeX auf den Smartphones Galaxy Note 8, S8 und S8+ laufen.
Gut verpackt
2017 konnte man keinen Stein werfen, ohne einen Container zu treffen. War diese neue Gattung bereits in den Jahren zuvor in aller Munde, so fand der Siegeszug in diesem Jahr statt. Nicht mehr so sehr in aller Munde, aber in sehr vielen Entwicklungsumgebungen werden Anwendungen in Containern, sei es auf der Basis von Docker, CoreOS oder LXC/LXD, erstellt und verteilt. Zur Orchestrierung großer Mengen von Containern hat sich das ursprünglich von Google entwickelte Kubernetes durchgesetzt, das mittlerweile unter dem Schirm der Cloud Native Computing Foundation steht. Diese neuen Techniken wären ohne Kernel-Funktionen wie Cgroups und Namespaces zur Isolation nicht denkbar.
Neue Paketsysteme
Mit Fedoras Flatpak und Snaps von Ubuntu wurden 2017 zwei neue Paketsysteme kontrovers diskutiert. Beiden gemeinsam ist, dass sie distro-agnostisch sind und ihre Abhängigkeiten größtenteils mitbringen, sofern diese nicht bereits in einer vorinstallierten Runtime-Umgebung vorhanden sind. Ist Flatpak eher für den Desktop gedacht so geht das Konzept von Snap darüber hinaus und soll für Canonical den weiteren Siegeszug im Internet der Dinge ebnen. Der Ubuntu-Sponsor will zudem möglichst bald eine Version von Ubuntu veröffentlichen, die nur aus Snaps besteht. Ob sich die neuen Formate durchsetzen werden oder nicht ist noch unklar. Klar ist, dass keines der beiden Systeme in absehbarer Zeit die herkömmlichen Paketformate DEB und RPM ersetzen wird.
Der Kernel und sein Gebieter
Die Kernel-Entwicklung verlief 2017 gewohnt gradlinig. Das Jahr wurde mit Kernel 4.9 begonnen und endet mit Kernel 4.14, dem im Januar 4.15 folgen wird. Für den Sommer ist abzusehen, dass Linus Torvalds die Reihe 4.x einstellen und zu 5.x übergehen wird. Der Meister der Kernel hat sich auch im ausgehenden Jahr wieder des Öfteren wortgewaltig geäußert. Im Fokus schien 2017 die Sicherheit und ihre Lücken zu stehen. Das auf Sicherheit beim Kernel fokussierte Projekt Grsecurity bezeichnete Torvalds als Müll und die Entwickler als Clowns.
Auch für den bei Google angestellten Kernel-Sicherheitsforscher Kees Cook und sein Projekt Kernel Self-Protection Project (KSPP) fand Torvalds nur harsche Worte. Ein Pull Request von Cook vom November brachte den Linux-Overlord auf die Palme. Er stellte klar, dass für ihn Sicherheitslücken im Kernel auch nur Bugs sind und als solche behandelt werden. Dafür neue Regeln einzuführen, die bei Verletzung eine Kernel-Panik auslösen sei absolut unakzeptabel und »pure and utter bullshit«. Und die Sicherheits-Experten, die über seine Aussage bezüglich der Einordnung von Sicherheitsproblemen im Kernel spotten würden, seien »f*cking morons«. Gewohnt markige Worte halt.
Vom Rest das Wichtigste
AMD ging auch 2017 den vor zwei Jahren eingeschlagenen Weg der Öffnung seiner Grafiktreiber weiter. Im Jahr 2015 hatte das Unternehmen den neuen Open-Source-Grafikstack AMDGPU veröffentlicht, auf dem nun auch der proprietäre Catalyst-Treiber aufsetzt. Erst vor wenigen Tagen hat AMD den Linux-Vulkan-Treiber AMDVLK als Open-Source veröffentlicht.
Die 32-Bit-Architektur hat ihre besten Tage hinter sich. Das war auch 2017 verstärkt zu bemerken. Die Distributionen siduction, Tails, Manjaro, Arch Linux, Ubuntu und Openmandriva stellten ihre 32-Bit-Unterstützung ein. Vor wenigen Tagen gab auch Nvidia bekannt, bald keine Treiber für diese Architektur mehr bereitstellen zu wollen.
Wayland setzte auch 2017 seinen Weg fort, künftig den herkömmlichen X-Server zu ersetzen. Mit Unterstützung durch Xwayland setzte Fedora seit Ausgabe 25 vom November 2016 als erste Distribution standardmäßig auf Wayland. Ubuntu folgte im Oktober 2017. GNOME ist klar vorne, was Wayland-Unterstützung für Desktop-Umgebungen angeht, aber auch der Support für KWin als Compositor in KDE ist relativ weit gediehen.
Auch für Nextcloud war 2017 ein erfolgreiches Jahr. Schaut man sich die Anfragen bei Google nach Nextcloud und ownCloud an, so stehen derzeit beide gleichauf, Nextcloud allerdings mit einem anhaltenden Aufwärtstrend. 2017 gehörte Nextcloud 12 und brachte Ende-zu-Ende-Verschlüsselung, einen neuen Android Client in Version 2 sowie einer neuen Architektur zum besseren Skalieren. Nextcloud 13 steht bereits für erste Tests zur Verfügung.
So geht Linux 2017 mit Erfolgen und Niederlagen zu Ende. Das Jahr des Linux-Desktops wird dann bestimmt 2018. Falls das überhaupt wichtig ist. Das muss jeder Leser für sich entscheiden. Für den schreibenden Kollegen Swapnil Bhartiya ist es wichtig. Er hat ein Video erstellt indem er seine Gedanken äußert, wie Linux am Desktop ein Erfolg werden kann. Seine Stichworte sind: keine Fragmentierung, Zusammenarbeit, praktisches Denken und ein Sinn für Realitäten. Dem werden viele Linux-Nutzer und -Entwickler zustimmen.
Wie jedes Jahr um diese Zeit veröffentlichte die Linux Foundation jetzt den diesjährigen Kernel-Report 2017. Darin finden sich die neuesten Zahlen zum Kernel, dessen Entwicklung und der Community. Vorgestellt wurde der Report auf dem gerade in Prag abgehaltenen Open Source Summit Europe, der früher LinuxCon hieß und ebenfalls von der Linux Foundation organisiert wird.
Beispielloses Unterfangen
Im Jahr 2017 läuft Linux auf 90 Prozent der öffentlichen Clouds, hält 62 Prozent des Embedded-Marktes und 99 Prozent der Supercomputer laufen damit. Das macht den Linux-Kernel zu einer der größten kollaborativen Unternehmungen in der Menschheitsgeschichte. Allerdings ist das nachhaltige Wachstum dieses Open-Source-Ökosystems und der anhaltende Erfolg von Linux nicht möglich ohne die stetige Entwicklung des Linux-Kernels.
Das offiziell 2017 Linux Kernel Development Report geheißene Papier wurde von Kernel-Entwickler Greg Kroah-Hartman, Jonathan Corbet und der Linux-Foundation zusammengestellt. Corbet schreibt ansonsten Kernel-Dokumentation und betreibt die Webseite LWN.net.
Zahlen und Fakten
Änderungen pro Stunde
Der aktuelle Kernel 4.13 umfasst 24.766.703 Zeilen Code in 60.538 Verzeichnissen. Er enthält Änderungen von 1.681 Entwicklern, die bei 225 Unternehmen angestellt sind. Mit Kernel 4.14, der in den nächsten Wochen erscheint, wird die magische Grenze von 25 Millionen Zeilen Code (LoC) überschritten. Seit der Einführung von Git für die Kernel-Entwicklung im Jahr 2005 haben insgesamt 15.637 Entwickler, die in über 1.400 Unternehmen beschäftigt waren, zum Kernel beigetragen. Bei den Kernel-Versionen seit 4.8 wurden jeweils mehr als 12.000 Änderungen eingefügt.
Anzahl der Kernelzeilen
Der jetzt vorliegende Report umfasst 406 Tage und gibt für diesen Zeitraum eine durchschnittliche Schlagzahl von 8.5 eingereichten Patches pro Stunde aus. Dies ist erneut eine Steigerung zum letzten Report, der 7.8 Änderungen pro Stunde auswies.
Der für Google arbeitende und dort für das Android-Projekt Treble verantwortliche Iliyan Malchev hat auf der gerade stattfindenden Konferenz Linaro Connect in einem Vortrag die Nachricht einfließen lassen, die Unterstützung für den Linux-Kernel-Long-Term-Support (LTS) werde von derzeit mindestens zwei auf sechs Jahre ausgedehnt. Er ergänzte, Greg Kroah-Hartman, Kernel-Entwickler und Maintainer von Kernel LTS für die Linux Foundation habe ihm gestattet, die Neuigkeit zu verbreiten. Hartman hat die Nachricht mittlerweile auf Twitter bestätigt.
Die längere Laufzeit der Longterm-Kernel-Versionen des Kernels wird nicht nur Android-Entwickler freuen, sondern neben vielen Anwendern in Unternehmen auch die Linux-Distributionen, die selbst LTS-Versionen ihrer Veröffentlichungen anbieten. Dieser Schritt erspart den jeweiligen Maintainern viel Arbeit. Android profitiert jedoch im Rahmen des in Android 8 Oreo eingeflossenen Projekt Treble besonders davon. Die mit Android ausgelieferten Kernel profitierten zwar bisher bereits von zwei Jahren LTS. Allerdings ist dieser Zeitraum zu kurz.
Android profitiert besonders
Wenn ein Hersteller wie Qualcomm oder MediaTek einen Prozessor entwirft, wählt er irgendwann während der Designphase des Prozessors die aktuellste LTS-Version des Kernels aus. Sobald dieser Prozessor für OEMs wie Samsung oder LG freigegeben wird und der OEM dann tatsächlich ein Gerät herstellt, das diesen Prozessor verwendet, sind bereits bis zu einem Jahr oder mehr vergangen, seit die LTS-Version vom Chiphersteller ausgewählt wurde. Das Ergebnis ist, dass das eigentliche Gerät meist weniger als ein Jahr Kernel-Fixes erhalten kann bevor die LTS-Periode endet. Mit der Verlängerung der LTS-Phase auf 6 Jahre profitiert somit im Endeffekt der Smartphone-Kunde, der ein sicherers Gerät über einen längeren Zeitraum erhält.
Bild: Google
Bereits Linux 4.4 LTS erhält 6 Jahre Support
Der derzeitig aktuellste LTS-Kernel ist 4.9, der zur Grundlage von Debians aktuell stabiler Version Debian 9 Stretch wurde. Außer Kernel 4.9, der noch mindestens bis Dezember 2018 gepflegt wird, sind derzeit die Kernel 4.4.87, 4.1.43, 3.16.47, 3.10.107, 3.4.113 und 3.2.92 langzeitgepflegt. Ab und zu reicht die Pflege über die zugesicherten zwei Jahre hinaus. Ein Beispiel hierfür ist Kernel 3.18, dem Greg KH im April 2017 noch eine Verlängerung erteilte. Eigentlich sollte die Reihe im Februar eingestellt werden. In seiner Begründung erklärte Hartman, unglücklicherweise sei 3.18 noch auf Millionen von produktiven Geräten im Einsatz. Die jetzt verkündete Verlängerung gilt bereits ab Kernel 4.4 LTS.
LTS-Support nicht nur von Greg KH
Nicht nur Hartman, sondern auch andere Entwickler und Unternehmen unterstützen die Langzeitpflege des Kernels. Bereits seit Kernel 2.6.16, der im März 2006 veröffentlicht wurde, werden Kernel länger gepflegt. Der damalige Debian-Entwickler Adrian Bunk hatte sowohl 2.6.16 als auch 2.6.27 lange nach dessen EOL (End of Life) unterstützt. Kernel 2.6.32 aus dem Jahr 2009 erfuhr Unterstützung bis zum Januar 2016. Seit 2011 werden LTS-Kernel auch von der Linux Foundation in der Arbeitsgruppe LTSI unterstützt.
Bereits am letzten Samstag, einen Tag früher als erwartet, hat Linus Torvalds die erste Vorabversion für Kernel 4.14 veröffentlicht. Wie er in der Ankündigung schrieb, war es ein »interessantes Merge-Window«. Er wollte keine weiteren Einreichungen abwarten, denn einige der getätigten Commits hätten Probleme beinhaltet, die eigentlich aufgefallen sein müssten bevor der Code bei ihm ankommt. So wurde 4.14-rc1 unsentimental einen Tag vor dem 26. Jahrestag der Veröffentlichung von Linux-0.01 veröffentlicht.
Mehr als 1.500 Beitragende
Nachdem 4.13 relativ klein war, wird sich 4.14 laut Torvalds als eher normal großes Release erweisen und wird Langzeitunterstützung erhalten. Mit 4.14 wird auch die Anzahl der Zeilen Code die 25-Millionen-Grenze überschreiten. Die über 11.500 Commits zu 4.14 stammen von mehr als 1.500 Autoren. Eine weitere Besonderheit ist die Entfernung der Firmware-Images aus dem Kernel, die bereits seit Jahren ein eigenes Firmware-Image-Repository haben und daher mittlerweile im Kernel selbst überflüssig sind.
Speicherverwaltung umgebaut
Torvalds sieht einen Grund für die Probleme im eingereichten Code in der Tatsache, dass mit 4.14 die x86-Speicherverwaltung nicht eine, sondern gleich drei tiefgreifende Änderungen erfährt. Eine davon erhöht mit den fünfstufigen Page-Tables den adressierbaren Speicher auf 128 PebiByte virtuell und 4 PebiByte real, während diese bisher mit vierseitigen Page-Tables bei 128 beziehungsweise 4 TebiByte lagen. Eine weitere Neuerung bei der Speicherverwaltung ist AMDs Secure Memory Encryption (SME). Die dritte Änderung in dem Bereich betrifft die Unterstützung des Address Space Identifier (ASID) der ARM-Architektur.
Dateisysteme besser komprimierbar
Bei den Dateisystemen erhalten Btrfs und SquashFS die Möglichkeit, Zstandard (Zstd) zur Kompression zu verwenden, der eine höhere Packdichte bei zu LZMA vergleichbarer Qualität bieten soll. Ext4 erhielt eine Optimierung, die die Anzahl der pro Sekunden erzeugten Dateien spürbar erhöht. Weitere Dateisysteme wie Btrfs, Overlayfs und XFS erhielten Fehlerbereinigungen. CIFS kann mit 4.14 erweiterte Attribute der Protokolle SMB2 und SMB3 lesen und schreiben, während F2FS weiter für Android optimiert wurde.
Ein Red-Hat-Entwickler hat Patches für die verbesserte Unterstützung von Microsofts HyperV eingereicht. Auch Xen und KVM erhalten mit 4.14 weitere Verbesserung. KVM bekommt Unterstützung für die neuen fünfstufigen Page-Tables sowie Beschleunigung im Bereich Memory Mapped I/O. Das Media-Subsystem erhält eine Anzahl neuer Treiber, die in einem Pull-Request mit ingesamt 625 Patches zusammengefasst sind. Auch im Bereich der Sound-Treiber gab es Entwicklung. SUSE steuerte überarbeitete Treiber für diverse Soundchips bei.
Alle Änderungen sind im Kernel-Changelog zu finden, der Quellcode zu 4.14-rc1 liegt wie immer auf kernel.org .