Die Neuerungen von Linux 4.17

Seite 4: Linux 5.0 vertagt, Schrumpfkur, Ausblick auf 4.18

Inhaltsverzeichnis

Der Kernel trägt jetzt den Codenamen Merciless Moray.

(Bild: git.kernel.org – 75bc37fefc44 )

Nach längerer Zeit hat der Kernel mit dieser Version mal wieder einen neuen Codenamen bekommen, denn seit der vierten Vorabversion von Linux 4.17 lautet er nicht mehr "Fearless Coyote", sondern "Merciless Moray".

Ein Versionssprung blieb indes aus, obwohl der Git-Repository mit den Linux-Quellen jetzt aus mehr als sechs Millionen Objekten besteht. Torvalds hatte in der Vergangenheit mehrfach gewitzelt, beim Durchbrechen dieser Marke die 5.y-Serie zu beginnen, schließlich waren es bei 3.0 zufällig zwei Millionen, bei 4.0 vier. Davon hat er jetzt abgesehen (u. a. 1, 2).

Linux 4.17 hätte auch die Versionsnummer 5.0 bekommen können; daraus wurde aber nichts.

(Bild: git.kernel.org – f0d98d85831b )

Möglicherweise steht der Sprung aber schon in zirka sieben Monaten rund um Weihnachten und Neujahr an: Der Wechsel auf 4.0 erfolgte schließlich, als 3.20 angestanden hätte, daher wird 4.19 womöglich die letzte Version der 4er-Reihe. Schon seit vielen Jahren erfolgen diese Sprünge nur, damit die zweite Zahl der Versionsnummer nicht zu groß wird. Ein Linux mit einer auf Null endenden Versionsnummer hat daher weder mehr noch aufsehenerregendere Änderungen als andere Versionen der Hauptentwicklungslinie. Torvalds bezeichnet die Versionsnummer daher immer mal wieder als "bedeutungslos".

Die Kernel-Entwickler haben aufgeräumt und den Support für die acht Prozessorarchitekturen Blackfin, Cris, Frv, M32r, Metag, Mn10300, Score und Tile entfernt. Um die rund 465.000 dafür zuständigen Codezeilen hatte sich ohnehin kaum noch jemand geschert, denn die meisten der Architekturen haben nie größere Bedeutung erlangt oder kommen kaum noch zum Einsatz; vielfach haben die Hersteller sie mittlerweile auch selbst aufgegeben.

Parallel stieß indes Support für die NDS32-Architektur zum Kernel, die AE3XX-Prozessoren von Andes Technologies aufweisen. Der Umfang von dieser und anderen Neuheiten hat die Menge des beim Frühjahrsputz rausgeworfenen Codes aber nicht wieder wett gemacht. Dadurch ist Linux 4.17 letztlich rund 180.000 Zeilen schlanker als sein Vorgänger. Es ist erst das dritte Mal in der Geschichte der modernen Linux-Entwicklung, dass der Quellcode mit einer neuen Version schrumpft. Beim am 6. oder 13. August erwarteten Linux 4.18 dürfte das aber schon wieder anders aussehen.

Mit der Freigabe von Linux 4.17 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, die Entwickler in den letzten Wochen für 4.18 vorbereitet haben, in den Hauptentwicklungszweig von Linux ein.

So liegen einige Änderungen zur umfangreicheren Secure-Boot-Unterstützung bereit, die schon zur Aufnahme in Linux 4.17 eingereicht wurden. Viele der Mainstream-Distributionen nutzen seit längerem Vorläufer dieser Patches. Sie schränken unter anderem die Rechte des Root-Anwenders an einigen Stellen ein und beschneiden aus Sicherheitsgründen auch einige Treiber. Diese und andere Einschränkungen sollen ein Umgehen von Secure Boot verhindern; Angreifer sollen es dadurch auch deutlich schwerer haben, Schadcode so tief im Betriebssystem oder Firmware zu verankern, dass er nur schwer zu entdecken und entfernen ist.

Um die für 4.17 eingereichten Änderungen entstand eine längere und streckenweise heftige Debatte, in der Linus Torvalds die Patches und die Idee dahinter mit deutlichen Worten zurückwies. Bei näherem Hinsehen der Wortwechsel zeigt sich aber, dass unter anderem schlechte Erklärungen durch den Patch-Entwickler zu Missverständnissen führten, die erst nach zahlreichem Hin und Her zutage traten. Am Ende der bei LWN.net näher beschriebenen Debatte gab sich Torvalds daher offener für die Änderung, sofern noch einige Details angepasst würden. Der federführende Entwickler hatte das zu der Zeit schon in Angriff genommen. Die Einschränkungen sollen dadurch nicht mehr so eng an Secure Boot hängen, sondern auch unabhängig nutzbar sein. Die Änderungen fließen daher womöglich ohne großes Aufhebens in 4.18 ein, sofern nicht noch neue Missverständnisse oder Kritikpunkte auftauchen.

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 oder acht Wochen dauert. Linux 4.18 erscheint daher wahrscheinlich am 6. oder 13. August.

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(-)
¹ 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. 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 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 Wochen im Rahmen der regulären Systemaktualisierung erhalten. Bei bereits erhältlichen Releases von OpenSuse Leap, Ubuntu und vielen anderen klassisch gewarteten Distributionen wird das nicht passieren: Bei diesen macht der Kernel normalerweise nur einen Versionssprung, wenn man auf ein neues Release der Distribution wechselt.

(thl)