Linux 4.18 freigegeben: Raspi-3-Support und Vorboten neuer Firewall-Technik
Seite 8: Ausblick auf 4.19, WireGuard, Änderungsumfang & Changelog
Ausblick auf Linux 4.19
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.
Neue VPN-Lösung am Horizont
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.
Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels
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) |
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.
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)