Linux E X P R E S

Facebook

Jádro 5/05

Číslování verzí jádra

Začátkem března vyvolal Linus Torvalds na LKML (Linux Kernel Mailing List) dlouhou debatu ohledně číslování verzí jádra po tom, co si pár lidí stěžovalo na jeho stabilitu při aktivním vývoji ve "stabilní" řadě 2.6. Linus vysvětlil, že problém řady 2.4 byl v tom, že doby mezi vydáními byly příliš dlouhé a lidem se nelíbilo zpětné a dopředné přidávání vlastností.

Proto navrhl změnit význam číslování tak, že schéma sudých a lichých verzí zůstane, ale na nižší úrovni. Tj. 2.6.12 by bylo "stabilní" a obsahovalo by jen opravy nad 2.6.11, 2.6.13 by bylo více vývojové, 2.6.14 stabilizační, atd. Distribuce by tedy používaly sudé verze.

Následovala dlouhá diskuze se smíšenými reakcemi, někteří byli pro, jiní v tom neviděli žádné řešení. Základní myšlenkou bylo zapojit více lidí do testování jádra. Dosavadní strategie -rc je totiž matoucí v tom, že ve většině projektů -rc znamená stabilní "release candidate", ale v jádře to znamená aktivní vývoj, a tím méně testování.

Číslování verzí jádra podruhé

V pokračování debaty o číslování verzí jádra se Linus překvapivě rozhodl proti přidávání významu sudým a lichým verzím. Nový plán je přejít z aktuálního číslování 2.6.x na jemnější 2.6.x.y. Linus bude jako dosud vydávat verze 2.6.x a -rc, zatímco někdo jiný by přidával triviální záplaty (téměř výhradně nutné opravy) a vydával 2.6.x.y do vydání 2.6.(x+1).

O spravování těchto "stabilních meziřad" se ihned přihlásili Greg KH a Chris Wright a obratem vydali první verzi 2.6.11.1 obsahující pouze tři jednoduché záplaty (opravy). Čtyři dny nato následovala druhá verze 2.6.11.2 s opravou jediné bezpečnostní chyby zneužitelné k získání rootovských práv nebo k zatuhnutí systému.

Požadavky na záplaty jsou: menší než 100 řádek a oprava jediné, skutečné, chyby (kompilační, spadnutí, vytuhnutí, bezpečnostní). Gregovým mottem je "vydávat rychle a často".

Závěr? (Nejen) Linusův problém byl sice vyřešen, ale nezodpovězené otázky a další stížnosti nyní navíc doprovázejí (velmi) rozporuplné reakce.

Knihy o linuxovém jádře

Začátkem roku vyšly nové edice dobře známých a výborných knih o linuxovém jádře, "Linux Device Drivers" a "Linux Kernel Development". Nové edice obou těchto knih popisují jádra řady 2.6, konkrétně jsou aktualizovány k verzi 2.6.10.

Linux Device Drivers, 3rd Edition, od autorů J. Corbeta, A. Rubiniho a G. Kroah-Hartmana podrobně a v příkladech vysvětluje vytváření ovladačů snad všech typů zařízení, která je možné pod Linuxem provozovat. Kniha je volně ke stažení na lwn.net/Kernel/LDD3/ ve formátu PDF.

Linux Kernel Development, 2nd Edition, od Roberta Lovea je praktickým a nenásilným pohledem na návrh a implementaci nové řady jádra, jednoduše řečeno velice přehledně popisuje jak to všechno funguje. Domovská stránka knihy je na rlove.org/kernel_book/.

Yaird

Podobně jako hotplug-ng má být nástupcem balíku hotplug, Yaird (Yet Another mkInitRD) Erika van Konijnenburga má ambice nahradit mkinitrd. Zatímco mkinitrd je shellový skript, který se spoléhá na nahrané moduly jádra a konfigurační soubory modulů, Yaird je napsán v Perlu a plně využívá algoritmy hotplugu a virtuální souborový systém sysfs (a vyžaduje tak jádro řady 2.6).

mkinitrd a Yaird jsou nástroje k vytvoření tzv. initrd, initial ramdisku. Tento ramdisk obsahuje malý kořenový souborový systém se všemi potřebnými moduly ovladačů pro připojení skutečného kořenového souborového systému. Jádro si při bootování připojí tento initrd a skripty na něm potom připojí skutečný kořenový souborový systém.

Tento mechanismus bootování hojně využívají distribuční jádra, protože umožňuje vytvořit malé jádro jen s nezbytnými moduly, které bootuje na mnoha hardwarových konfiguracích, přičemž všechny ostatní moduly se nahrají až v závislosti na přítomném HW.

Yaird je zatím vhodný jen pro testování, dostupný na www.xs4all.nl/~ekonijn/yaird/ ve verzi 0.0.4.

Diskuze (0) Nahoru