Portál AbcLinuxu, 20. července 2025 23:21
Škoda, že ten early userspace nezahrnuje taky možnost nahradit kernel jiným.
Jde o to, že když si stáhnu kernel pro ArchLinux, instrukční sada i řazení instrukcí budou pro Pentium Pro. (Možná už přešli na Pentium II, teď nevím.) To je pro Pentium III trochu nevhodné, pro Pentium M hodně nevhodné a tak dále. Nevyužívají se všechny možnosti těch procesorů zrovna v kódu, který by měl být optimalizovaný ze všeho nejlépe. To je škoda.
Proto si vždy kompiluju kernel sám, abych si mohl správně zvolit procesor. Pokud vím, 2.6.32 už konečně má možnost kompilovat všechno s -march=native
, což je zase o krok dál.
Bohužel mé pátrání po tom, jak zkompilovat OS/Net Nevada s optimalizacemi pro můj procesor, bylo zatím neúspěšné. No, snad i tohle jednou půjde...
ABS používám na všechny své balíčky (které v repository nejsou), ale rozhodně ne na kernel. Tam je to kanón na vrabce a naprosto zbytečná komplikace. Kromě toho je PKGBUILD nesmyslně složitý a příliš se mění od verze k verzi. Kernel je nejjednodušší zkompilovat klasicky pomocí make. Pak mám čtyřřádkový skript, který zajistí instalaci nového kernelu a označení toho starého jako „backup“ volbu v zavaděči LILO.
ABS je skvělé na všechno kromě kernelu. Kompilace kernelu je v podstatě triviální úkon, ale ABS z toho dokáže udělat pořádný zmatek.
Že by mi vlastní kernel nenabootoval, to se mi za posledních 5 let nestalo, takže nevím, proč taková věc vůbec stojí za zmínku.
Nejsnazší cesta k vlastnímu kernelu vede (světe div se) přes make
. To mi zabere zlomek (lidského) času ve srovnání s ABS. Rozbalit zdroják, udělat na něj symlink linux
, aplikovat patche (chci-li vůbec nějaké), vzít konfiguraci z /proc/config.gz
, pak cíl oldconfig
, občas doladění přes menuconfig
či xconfig
a nakonec třeba bzImage
modules
modules_install
. Nakopírovat potřebné binárky do /boot
a zavolat LILO je trivialita, skript na pět řádků.
Při použití ABS můžu asi tak půl dne vrtat v PKGBUILD
u a pátrat, proč to už zase selhalo a co zase tahle verze dělá nestandardně, špatně nebo zkrátka hloupě. PKGBUILD
se od verze k verzi zpravidla změní k nepoznání a pokud chci zrovna jinou verzi kernelu (ať už novější (pro experimentování) nebo starší (protože pro tu současnou ještě není Reiser4)), mám prostě problém.
Nejzásadnější potíže tkví v tom, že já přece chci mít nainstalovaných víc kernelů! Můj pětiřádkový skript prostě zajistí to, aby se současný kernel přesunul v zavaděči LILO o jednu položku níž a aby ten nový zaujal jeho místo. Pokud mám pocit, že je v tom novém kernelu něco špatně, například že už zase nefunguje věčně rozbitý Atheros, není nic snazšího než to prověřit s původním kernelem. A tohle mi ABS + pacman
nedovedou zajistit.
Mít kernel jako softwarový balíček zkrátka není vždy vhodné. V nějakém systému, který má být bezúdržbový, to asi myslitelné je, ale jakmile chce člověk byť jen trochu experimentovat, použitím ABS na kernel hází sám sobě klacky pod nohy.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.