Software-update: Linux Kernel 5.0-rc1

NewTux logo (75 pix)De eerste releasecandidate van Linux Kernel 5.0 is vrijgegeven. De Kernel is het hart van het besturingssysteem en zit, simpel gezegd, als laag tussen de hardware en de applicaties in. Linus schrijft in zijn aankondiging dat er geen specifieke reden is om het versienummer te veranderen van 4.21 naar 5.0 en dat de lezer daar zijn eigen reden bij mag verzinnen. Zoals gewoonlijk kun je op Phoronix een samenvatting van de veranderingen terugvinden, daarin vinden we onder andere ondersteuning van AMD FreeSync, een Raspberry Pi Touchscreen-driver, een nieuw consolefont voor HiDPI-/retinaschermen en Adiantum data-encryptie terug. De aankondiging van Linus ziet er als volgt uit:

Linux 5.0-rc1

So this was a fairly unusual merge window with the holidays, and as a result I'm not even going to complain about the pull requests that ended up coming in late. It all mostly worked out fine, I think. And lot of people got their pull requests in early, and hopefully had a calm holiday season. Thanks again to everybody.

The numbering change is not indicative of anything special. If you want to have an official reason, it's that I ran out of fingers and toes to count on, so 4.21 became 5.0. There's no nice git object numerology this time (we're _about_ 6.5M objects in the git repo), and there isn't any major particular feature that made for the release numbering either. Of course, depending on your particular interests, some people might well find a feature _they_ like so much that they think it can do as a reason for incrementing the major number.

So go wild. Make up your own reason for why it's 5.0.

Because as usual, there's a lot of changes in there. Not because this merge window was particularly big - but even our smaller merge windows aren't exactly small. It's a very solid and average merge window with just under 11k commits (or about 11.5k if you count merges).

The stats look fairly normal. About 50% is drivers, 20% is architecture updates, 10% is tooling, and the remaining 20% is all over (documentation, networking, filesystems, header file updates, core kernel code..). Nothing particular stands out, although I do like seeing how some ancient drivers are getting put out to pasture (*cough*isdn*cough*).

As usual even the shortlog is much too big to post, so the summary below is only a list of the pull requests I merged.

Go test. Kick the tires. Be the first kid on your block running a 5.0 pre-release kernel.

Linus
Versienummer 5.0-rc1
Releasestatus Beta
Besturingssystemen Linux
Website Linux Kernel Archive
Download https://www.kernel.org/
Licentietype GPL

Door Japke Rosink

Meukposter

07-01-2019 • 15:51

7 Linkedin

Submitter: NiLSPACE

Bron: Linux Kernel Archive

Reacties (7)

7
6
5
1
0
0
Wijzig sortering
Beetje jammer dat Linus altijd een hoop roept over breaking changes, maar dan weer niet zoiets simpels als semver (of een beetje herkenbare variant) wil gebruiken om dit duidelijk te communiceren.
Is dit bij iets als een kernel niet heel moeilijk? Buiten wat drivers en wat performance kun je daar toch weinig echt breaking aan toevoegen? Enkel backwards incompatible changes kan ik persoonlijk verzinnen (voorbeeld een bepaalde feature), maar in API changes (waar symver om draait) kan ik echt niets nuttig of opbouwend verzinnen.
Normaal gesproken is het getal voor de eerste punt de mayor versie. Als je die veranderd, is het normaliter dat de API's dusdanig veranderd zijn, dat de kans klein is dat het niet omvalt. Van 4.18 naar 5.0 springen vind ik best een héle grote en merkwaardige stap te noemen. Had hij het 4.20 of 4.25 of zo gemaakt had ik het logischer gevonden.

Snap best dat er veel is toegevoegd (11.000 commits is niet niks), maar een paar persoonlijke highlights had dan imo beter gestaan als een zinnetje 'Verzin zelf maar een reden waarom het 5.0 is'.
Die 11.000 commits zijn tussen de laatste stabiele versie (4.20) en deze 5.0-rc1. Er komen elk jaar 5 of 6 versies van de Linux-kernel uit, met samen ongeveer 75.000 commits. Dit aantal commits is dus niet uitzonderlijk. Bestaande API’s van de Linux-kernel veranderen bijna nooit backwards-incompatibel.
Tijdens de ontwikkeling van kernels 2.6.x is besloten om de releases time-based te maken, dus als een feature niet af is voor het eind van het merge-window moet het wachten tot de volgende versie. In 2011 is dat 3.x geworden, omdat het al 7 jaar 2.6.x was, met als laatste versie 2.6.39. Sindsdien gaat de major-versie 1 omhoog na ongeveer 20 minor-versies, zonder dat dat iets te maken heeft met de features.

[Reactie gewijzigd door Eärendil op 7 januari 2019 22:44]

Linus heeft ook altijd geroepen dat Linux kernel versienummers redelijk arbitrair zijn en dat hij zich dus het recht voorbehoud om het 'major' versienummer op te hogen als hij daar zin in heeft en dat die kans toe neemt naarmate het 'minor' versienummer hoger wordt.

Wat betreft "breaking changes", die bestaan in Linux land in principe niet. De kernel API die beschikbaar wordt gemaakt aan user-space processen is extreem stabiel, als daar iets in wijzigt zal dit groots worden aangekondigd. Je hebt dus alleen de maken met incompatibiliteit tussen verschillende kernel versies als je een Linux kernel developer bent of zelf een patch of een driver voor Linux hebt geschreven die niet in de kernel tree is opgenomen. Als gewone gebruiker van software die op Linux draait zou je nooit tegen issues met de kernel API te maken mogen hebben vindt Linus Torvalds (bron).
Niet echt, de 3.x releases staan wel in de historie

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee