Обзор кастомных ядер Arch Linux

Обзор кастомных ядер Arch Linux

Кро­ме т.н. «ваниль­ных» (ори­ги­наль­ных, немо­ди­фи­ци­ро­ван­ных) ядер, в дис­три­бу­ти­ве Arch Linux есть воз­мож­ность уста­нов­ки и/или сбор­ки из исход­но­го кода кастом­ных ядер Linux, вклю­ча­ю­щих в себя новые воз­мож­но­сти, опти­ми­за­ции или соби­ра­ю­щи­е­ся с обес­пе­че­ни­ем повы­шен­ной без­опас­но­сти рабо­ты. В этом мате­ри­а­ле пред­ла­гаю соб­ствен­ный мини-обзор кастом­ных ядер для Arch Linux, кото­рый помо­жет опре­де­лить­ся нужен ли вам кастом­ный пинг­вин под капо­том (спой­лер: нужен) и какое ядро выбрать под свои зада­чи.

Linux Zen

Ядро Zen содер­жит мно­же­ство опти­ми­за­ций и улуч­ше­ний по срав­не­нию с «ваниль­ным» ядром, наце­лен­ных на предо­став­ле­ние «деск­топ­но­го» ядра Linux для реше­ния повсе­днев­ных задач и игры, подо что и опти­ми­зи­ро­ва­но.

Установка Linux Zen

Zen ядро лежит в офи­ци­аль­ном репо­зи­то­рии «extra» Arch Linux, поэто­му ком­пи­лить ниче­го не надо. Ста­вит­ся стан­дарт­ным пакет­ным мене­дже­ром Pacman:

sudo pacman -S linux-zen linux-zen-headers

Linux Xanmod

Отлич­ная моди­фи­ка­ция ядра Linux. Име­ет­ся боль­шое коли­че­ство улуч­ше­ний, в том чис­ле исполь­зо­ва­ние в каче­стве пла­ни­ров­щи­ка ЦП CacULE («каку­ля», у него и лого­тип соот­вет­сву­ю­щий). Не смот­ря на назва­ние – один из луч­ших пла­ни­ров­щи­ков ЦП. В ядре содер­жат­ся моду­ли Ashmem и Binder, с помо­щью кото­рых мож­но запус­кать Anbox. С пол­ным спис­ком изме­не­ний и улуч­ше­ний ядра Xanmod мож­но озна­ко­мить­ся на офи­ци­аль­ном сай­те. Кста­ти, там же есть инструк­ции по добав­ле­нию реп с ядром Xanmod в Debian/Ubuntu/Linux Mint. А вот в Arch Linux ядро Xanmod нуж­но соби­рать само­сто­я­тель­но, с помо­щью PKGBUILD-сце­на­рия из AUR.

Установка Linux Xanmod

В AUR есть мно­же­ство сце­на­ри­ев сбор­ки дан­ной моди­фи­ка­ции ядра. Обра­ти­те вни­ма­ние, что по умол­ча­нию соби­ра­ет­ся «generic» вер­сия ядра, хотя мож­но собрать вер­сию Xanmod, опти­ми­зи­ро­ван­ную для сво­е­го про­цес­со­ра, о чём я хочу напи­сать отдель­ный мате­ри­ал поз­же. А пока рас­смот­рим самые инте­рес­ные вари­ан­ты Xanmod в AUR.

linux-manjaro-xanmod

Xanmod с моди­фи­ка­ци­я­ми для дис­три­бу­ти­ва Manjaro:

yay -Sa linux-manjaro-xanmod linux-manjaro-xanmod-headers

linux-xanmod-anbox

Вари­ант Xanmod с моду­ля­ми Binder и Ashmem для Anbox:

yay -Sa linux-xanmod-anbox linux-xanmod-anbox-headers

linux-xanmod-cacule

Xanmod с пла­ни­ров­щи­ком цен­траль­но­го про­цес­со­ра CacULE:

yay -Sa linux-xanmod-cacule linux-xanmod-cacule-headers

linux-xanmod-cacule-uksm

Xanmod с ЦП пла­ни­ров­щи­ком CacULE и пат­чем UKSM (Ultra Kernel Samepage Merging). Послед­нее – очень класс­ная шту­ка, поз­во­ля­ю­щая в неко­то­рых ситу­а­ци­ях силь­но эко­но­мить опе­ра­тив­ную память про­во­дя её дедуб­ли­ка­цию. Напри­мер, если на обыч­ном ядре запу­стить 10 оди­на­ко­вых вир­ту­аль­ных машин – они будут жрать ОЗУ как 10 вир­ту­аль­ных машин. С пат­чем UKSM эти же 10 вир­ту­а­лок сожрут ОЗУ толь­ко как одна вир­ту­аль­ная маши­на. В этом мощь UKSM!

Ста­вит­ся так:

yay -Sa linux-xanmod-cacule-uksm linux-xanmod-cacule-uksm-headers

Linux Liquorix

Ядро Liquorix содер­жит все тюны ядра Zen, но в допол­не­ние к ним исполь­зу­ет I/O пла­ни­ров­щик MuQSS, пред­на­зна­чен­ный для игры, муль­ти­ме­диа и задач, тре­бу­ю­щих мини­маль­ные задерж­ки. Подроб­но­сти есть на офи­ци­аль­ном сай­те про­ек­та.

Установка Liquorix

Ядро соби­ра­ет­ся с помо­щью сце­на­рия из AUR:

yay -Sa linux-lqx linux-lqx-headers

Linux CK

Ядро CK собра­но с пат­ча­ми от Con Kolivas, вклю­ча­ет пла­ни­ров­щик ЦП MuQSS. Linux CK обес­пе­чи­ва­ет мак­си­маль­ную про­из­во­ди­тель­ность и отзыв­чи­вость для настоль­ных систем и не пред­на­зна­че­но для сер­ве­ров. Поль­зо­ва­те­ли Arch Linux отме­ча­ют отлич­ную отзыв­чи­вость систе­мы, рабо­та­ю­щей на CK ядре под любы­ми нагруз­ка­ми.

Установка Linux CK

CK ядро в AUR есть в несколь­ких вари­ан­тах.

linux-ck

Стан­дарт­ная моди­фи­ка­ция ядра CK. Уста­нов­ка:

yay -Sa linux-ck linux-ck-headers

linux-ck-uksm

Моди­фи­ка­ция Linux CK с пат­чем UKSM. Имен­но этот вари­ант ядра исполь­зую и я:

yay -Sa linux-ck-uksm linux-ck-uksm-headers

Linux PF

Дан­ная вер­сия моди­фи­ци­ро­ван­но­го ядра Linux так же ори­ен­ти­ро­ва­на на исполь­зо­ва­ние в деск­топ­ных систе­мах. Вклю­ча­ет UKSM в ста­на­др­тонй поставл­ке. Вари­ант для тех, кому нуж­но мини­маль­но моди­фи­ци­ро­ван­ное ядро Linux с под­держ­кой UKSM.

Установка Linux PF

Соби­ра­ем сце­на­ри­ем из AUR.

yay -Sa linux-pf linux-pf-headers

Какое ядро выбрать?

Конеч­но же, луч­ше все­го будет попро­бо­вать все вари­ан­ты моди­фи­ка­ций и выбрать тот, кото­рый понра­вит­ся боль­ше все­го. Реко­мен­дую сна­ча­ла собрать Xanmod если хочет­ся попро­бо­вать мак­си­маль­но тюнин­го­ван­ное ядро. Если же про­сто нуж­но UKSM – мож­но посту­пить как я и оста­но­вить­ся на ядре CK с пат­чем UKSM. Любое ядро будет рабо­тать ско­рее все­го не хуже сто­ко­во­го, по край­ней мере я дегра­да­ций не заме­чал, хотя пере­брал все моди­фи­ка­ции, пред­став­лен­ные в дан­ном мате­ри­а­ле. Про­буй­те, экс­пе­ри­мен­ти­руй­те!