Linux 4.18 freigegeben: Raspi-3-Support und Vorboten neuer Firewall-Technik

Seite 8: Ausblick auf 4.19, WireGuard, Änderungsumfang & Changelog

Inhaltsverzeichnis

Mit der Freigabe von Linux 4.18 beginnt zugleich die "Merge Window" genannte Phase, in der Linus Torvalds das Gros der Änderungen für den Nachfolger integriert. In den nächsten Tagen fließen daher viele tausend Änderungen in den Hauptentwicklungszweig von Linux ein, die Entwickler in den letzten Wochen zur Aufnahme in 4.19 vorbereitet haben. Darunter beispielsweise Support für den nächsten WLAN-Standard IEEE 802.11ax, der WLAN-Übertragungen um Faktor vier beschleunigen soll. Die dazu nötigen Erweiterungen stammen von Intel-Entwicklern, die auch gleich einen WLAN-Treiber um Unterstützung für einen neue, wohl Intel Wireless-AX 22560 genannte Serie von WLAN-Chips erweitern, die den Funkstandard nutzt.

Unabhängig von Mediatek arbeitende Entwickler wollen einen Treiber beisteuern, der Mediateks WLAN-Chips der Reihen MT76x0U und MT76x2u unterstützt. Linux soll dadurch in Zukunft von Haus aus einige Varianten der USB-WLAN-Sticks AVM FRITZ! AC 430 und 860 verwenden können.

Wie zuvor im Text bereits erwähnt sollen Treiber für den Qualcomm Snapdragon 845 zum Kernel stoßen, der in einigen mit Windows ausgelieferten ARM-Notebook steckt. Darunter auch ein Grafiktreiber für die in diesem SOC verbauten Adreno 630, der auch andere GPUs der A6XX-Familie unterstützt. Außerdem sollen endlich Maßnahmen in den 32-Bit-x86-Code (aka "x86-32") des Kernels einfließen, damit auch er vor der zu Jahresanfang publik gewordenen Prozessorsicherheitslücke "Meltdown" schützt.

Linus Torvalds beendet das Merge Window typischerweise nach zwei Wochen, indem er die erste Vorabversion einer neuen Kernel-Version veröffentlicht. Das läutet zugleich die Stabilisierungsphase ein, die derzeit fast immer sieben Wochen dauert; in seltenen Fällen sind es auch mal nur sechs. Linux 4.19 erscheint daher wahrscheinlich am 15. oder 22. Oktober. Sofern Torvalds seine Andeutungen wahr macht, folgt zum Jahreswechsel dann Linux 5.0.

Wohl erst bei einem Nachfolger von 4.19 dürften die jüngst vorgestellten Patches zum Support der VPN-Lösung Wireguard einziehen. Einige Distributionen liefern den jungen Ansatz bereits mit, der bei einigen größeren Firmen bereits im Einsatz sein soll und in Kernel-Kreisen einiges Aufsehen erregt hat.

Der für WireGuard zuständige Netzwerkcode ist dabei vergleichsweise klein, was die Begutachtung durch die Entwickler des Netzwerksubsystems erleichtert. An anderer Stelle wird es dafür schwieriger, denn der Code greift auf eine neue Programmierschnittstelle im Crypto-Subsystem zurück. Die haben die WireGuard-Entwickler eigens für ihre VPN-Lösung geschaffen, weil ihnen das bisherige Crypto-API missfiel. Der Code ist deutlich umfangreicher als der von WireGuard selbst, daher wird das Review mehr Arbeit machen. Außerdem schauen die Entwickler bei Crypto-Code auch doppelt hin.

Ferner sind die Crypto-Subsystem-Entwickler nicht gerade darauf erpicht, eine zweite Programmierschnittstelle betreuen zu müssen. Einige mit der Materie vertraute Kernel-Entwickler sind der Aufnahme aber nicht abgeneigt, weil sich das bisherige API für manche Verwendungszwecke schlecht eignen soll; das neue deckt dafür einige Fälle nicht ab, für die das bisherige API gut passt. Die Entwickler sind bereits dabei, sich und den Code abzustimmen, um alle involvierten Parteien zufrieden zu stellen. Das dürfte auch eine Aussage von Torvalds zu verdanken sein, der sich für Wireguard stark gemacht hat – das ist mehr als ungewöhnlich, denn mischt er sich nicht mit solch positiven und daher Druck erzeugenden Aussagen in die Arbeit der zuständigen Subsystem-Entwickler ein.

Kernel-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne
Doku)²
Entwick-
lungs-
zeitraum
Commits
(Ohne
Merges)³
Diffstat⁴
Linux 4.10 57.202 22.839.659
(20.864.595)
70 Tage 14.249
(13.029)
11.913 files changed,
 806.420 insertions(+),
 312.218 deletions(-)
Linux 4.11 57.994 23.137.402
(21.132.076)
70 Tage 13.891
(12.724)
12.528 files changed,
 550.108 insertions(+),
 252.364 deletions(-)
Linux 4.12 59.845 24.170.860
(22.125.075)
63 Tage 15.736
(14.570)
12.531 files changed,
 1.342.677 insertions(+),
 309.204 deletions(-)
Linux 4.13 60.582 24.767.008
(22.698.219)
63 Tage 14.150
(13.006)
10.898 files changed,
 878.431 insertions(+),
 282.283 deletions(-)
Linux 4.14 61.290 25.041.284
(23.050.486)
70 Tage 14.659
(13.452)
23.388 files changed,
 719.862 insertions(+),
 445.585 deletions(-)
Linux 4.15 62.303 25.364.802
(23.329.451)
77 Tage 16.223
(14.866)
13.265 files changed,
 643.912 insertions(+),
 320.289 deletions(-)
Linux 4.16 62.915 25.558.805
(23.495.643)
63 Tage 14.896
(13.630)
12.239 files changed,
 1.133.069 insertions(+),
 939.066 deletions(-)
Linux 4.17 61.362 25.379.564
(23.314.368)
63 Tage 14.745
(13.541)
14.504 files changed,
 777.301 insertions(+),
 956.941 deletions(-)
Linux 4.18 61.003 25.280.872
(23.183.236)
70 Tage 14.432
(13.283)
13.141 files changed,
 583.336 insertions(+),
 682.028 deletions(-)
¹ git ls-tree -r --name-only HEAD | wc -l
² find . -type f -not -regex '\./\.git/.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git/.*' | xargs cat | wc -l))"
³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l; echo "($(git-log --pretty=oneline --no-merges vx.(y-1)..vx.(y) | wc -l))"
⁴ git diff --shortstat vx.(y-1)..vx.(y)

Mehr Infos

Den neuen Linux-Kernel herunterladen und einrichten

Die neue Linux-Version steht wie gewohnt über Kernel.org zum Download bereit. Auf Kernel.org finden Sie auch eine Anleitung, wie sie die Archivsignaturen prüfen, bei denen es Ende Juli allerlei Änderungen gab. Seitdem signiert Kernel.org inkrementelle Patches nicht mehr, denn die werden nur noch aus historischen Gründen ("Legacy") erzeugt; Anwendern wird zum Einsatz von Git geraten, bei dem sich die Authentizität von Versions-Tags mit git verify-tag prüfen lässt.

Hinweise zur Einrichtung eines eigenen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert". Das darin beschriebene Make-Target make localmodconfig erzeugt weitgehend automatisch eine recht gut auf Ihr System zugeschnittene Kernel-Konfiguration, mit der Sie in wenigen Minuten eine neue Linux-Version einrichten können.

Fedora und Rolling-Release-Distributionen wie Arch Linux, Gentoo und OpenSuse Tumbleweed dürften die neue Linux-Version in den nächsten Tagen und Wochen im Rahmen der regulären Systemaktualisierung erhalten. Bei bereits erhältlichen Releases von OpenSuse Leap, Ubuntu und den meisten anderen klassisch gewarteten Distributionen wird das nicht passieren: Deren Kernel machen in der Regel nur mit neuen Distribution-Releases größere Versionssprünge.

Mehr Infos

Versionshistorie dieses Artikels

Der obige Text wird zwischen Freigabe der ersten Vorabversion und Fertigstellung von Linux 4.18 mehrfach erweitert, um schrittweise alle wichtigen Änderungen der neuen Kernel-Version zu erläutern. Einmal publizierte Absätze ändern oder erweitern wir nur bei triftigen Gründen. Zur Freigabe des neuen Linux stellen wir den Text um, damit Informationen zu den wichtigsten Neuerungen am Anfang stehen.

  • 2018-08-13, 6:45 – 2.0: Umstellung zum Release: Schnellüberblick am Anfang eingefügt, Seitenreihenfolge geändert, Abschnitt zum wieder rausgeworfenen AIO entfernt und eine wenig Finetuning hier und da.
  • 2018-08-09, 14:15 – 1.5.1: Speck-Diskussionen erwähnt.
  • 2018-08-01, 6:30 – 1.5: Details zu Bpfiler hinzugefügt.
  • 2018-07-25, 6:30 – 1.4: Verbeserungen rund um Treiber beschrieben.
  • 2018-07-18, 6:30 – 1.3: Neuerungen rund um Sicherheit erläutert.
  • 2018-07-11, 19:40 – 1.2.1: Textkorrektur im Raspi-3B-Abschnitt zu Gigabit-Ethernet-Controller, denn den haben nicht wie ursprünglich spezifiziert beide, sondern nur der B+.
  • 2018-07-11, 6:30 – 1.2: Neuerungen rund um Architektur und Infrastruktur beschrieben.
  • 2018-06-29, 16:15 – 1.1.2: Erwähnt, dass Torvalds das neue AIO-Polling-Interface wieder entfernt hat.
  • 2018-06-27, 15:15 – 1.1.1: Nach Entwickler-Feedback noch einen Satz mit zwei Links ergänzt, der den Einsatz von TCP_ZEROCOPY_RECEIVE bei Google erwähnt; außerdem einen Absatz zum Verhältnis zwischen DPDK und AF_XDP ergänzt.
  • 2018-06-27, 06:30 – 1.1: Neuerungen des Netzwerkbereich-Subsystems erläutert; der Bpfilter blieb allerdings außen vor und folgt in einem späteren Update
  • 2018-06-17, 08:30 – v1.0: Erste Version, die sich auf die Neuerungen rund um die Datenspeicherung konzentriert.

Der Newsticker von heise online erwähnt alle größeren Texterweiterungen.

(thl)