Poradnik jest poprawioną i uwzględniającą zmiany w repozytorium, wersją poradnika, jaki udostępniłem na forum openlinux.plW tytule jest pewna nieścisłość. Otóż kernele, o których za chwile nie są kernelami przygotowywanymi przez Cona Kolivasa, a jedynie jeden z patchy, który jest przez niego przygotowywany, a mianowicie CK. Patch jest optymalizowany dla użycia w typowych systemach desktopowych, stąd też prawdopodobnie nigdy nie stanie się częścią jądra rozwijanego przez Linusa, które z założenia ma być bardziej uniwersalne. CK jest "zbiorczym" patchem zawierającym najważniejszy patch rozwijany przez Kolivasa, czyli BFS oraz kilka innych, w tym między innymi podwyższający TF do 1000Hz. Warto zauważyć, że kernele zawierające "poprawki" Cona Kolivasa oferowane są np. w dystrybucji OpenMandriva, jako jedne z możliwych do wyboru. Te, o których mowa poniżej zostały przygotowane przez graysky'ego i oferowane są w jego prywatnym repozytorium. Stąd też łatwa instalacja (bez kompilacji) i aktualizacja. Co ciekawe graysky oferuje również wersje optymalizowane dla poszczególnych rodzin procesorów. Alternatywą dla opisanego tu rozwiązania jest kompilacja kerneli zawierających patche CK bądź BFS, najwygodniej z AUR (np. linux-ck, linux-uksm-ck, linux-bridge-pl, czy linux-bfs; o tym jednak kiedy indziej).
I. Dodajemy repozytoria Con KolivasaDowolnym edytorem tekstowym (u mnie będzie to konsolowy nano, albowiem występuje niemal w każdej dystrybucji), ale broń boże jakimś procesorem tekstu, edytujemy pacman.conf i dopisujemy stosowne repozytorium.
sudo nano /etc/pacman.conf
i dodajemy pod listą repozytoriów następujący wpis:
# Repo-CK
[repo-ck]
Server = http://repo-ck.com/$arch
Oczywiście nie jest konieczne wpisanie "# Repo-CK", jednakże polecam jakieś oznaczanie niestandardowych repozytoriów dodawanych do pacman.conf.
II. Dodajemy klucze GPG repozytium CKsudo pacman-key -r 5EE46C4C
sudo pacman-key --lsign-key 5EE46C4C
III. Aktualizujemy bazy pacmanasudo pacman -Syy
IV. Odszukujemy właściwy kernel dla naszego systemugcc -c -Q -march=native --help=target | grep march
W wyniku czego otrzymamy coś w tym rodzaju:
-march= nazwa_flagi
Owa tajemnicza "nazwa_flagi" jest dla nas wskazówką, jaki spośród kerneli przygotowanych przez graysky'ego winniśmy zainstalować w naszym komputerze. Odszukujemy odpowiedni dla nas kernel posługując się poniższą tabelą:
Dla procesorów Intel:
bonnell - linux-ck-atom core2 - linux-ck-core2 nehalem - linux-ck-nehalem sandybridge - linux-ck-sandybridge ivybridge - linux-ck-ivybridge haswell - linux-ck-haswell pentium4, nocona - linux-ck-p4 pentm, pentium-m - linux-ck-pentm |
Dla procesorów AMD:
athlon, athlon-4, athlon-tbird, athlon-mp, athlon-xp, k8-sse3 - linux-ck-kx amdfam10 - linux-ck-k10 barcelona - linux-ck-barcelona btver1 - linux-ck-bobcat bdver1 - linux-ck-bulldozer bdver2 - linux-ck-piledriver |
V. Instalacja kernelaZ powyższej tabeli odczytujemy nazwę paczki z kernelem (
linux-ck-nazwa) i instalujemy:
sudo pacman -S nazwa_kernela
i ewentualnie jeszcze nagłówki których nazwa ma strukturę
nazwa_kernela-headersJeśli na liście z punktu IV nie ma odpowiedniego dla nas kernela, to można zainstalować wersję generic:
sudo pacman -S linux-ck
Po zainstalowaniu kernela należy wydać jeszcze polecenie:
# grub-mkconfig -o /boot/grub/grub.cfg
lub w Manjaro (bądź z zainstalowanym update-grub bądź wprowadzonym takim aliasem):
sudo update-grub
W ten sposób uaktualnimy GRUB i lista dostępnych w systemie kerneli zostanie zaktualizowana.
VI. Użytkownicy GPU NVidiaW repozytorium repo-ck znajdują się również przygotowane specjalne paczki, które przeznaczone są dla użytkowników kart NVidia. Jeśli Wasz system jest wyposażony w taką kartę, możecie zainstalować odpowiednią wersję sterowników, właściwych dla Waszej karty graficznej:
Sterowniki w wersji 304
sudo pacman -S nvidia-304xx-wersja_kernela_ck-wersja_sterownika
lub sterowniki w wersji 340
sudo pacman -S nvidia-wersja_kernela_ck-wersja_sterownika
Wersja kernela, przybiera nazwę ck-procesor wg informacji powyżej.
Lub sterowniki w wersji 343 gdzie do wyboru mamy paczki dla "generic", atom, core2, kx, p4 i pentm zaś polecenie przyjmuje postać:
sudo pacman -S nvidia-ck-ewentualna_nazwa_procesora
VII. Użytkownicy kart WIFI opartych o chipset BroadcomW repozytorium znajdują się również specjalnie przygotowane paczki dla użytkowników bezprzewodowych kart sieciowych f-my Broadcom. Instalujemy je w następujący sposób:
sudo pacman -S broadcom-wl-wersja_kernela_ck-wersja_sterownika
Przy czym znów mamy dostępne wyłącznie paczki dla "generic", atom, core2, kx, p4 i pentm.
VIII. Użytkownicy korzystający z VirtualBOX na linuksieRepozytorium zawiera także specjalne paczki dla VirtualBOX (moduły gościa i hosta). Instalacja przebiega następująco:
Gość:
sudo pacman -S virtualbox-ck-guest-modules-nazwa_kodowa_procesora-wersja
Host:
sudo pacman -S virtualbox-ck-host-modules-nazwa_kodowa_procesora-wersja
Nazwa kodowa procesora, to nazwa instalowanego kernela z repozytorium CK pozbawiona prefiksu "ck-".
Dość łatwym sposobem zobaczenia treści repozytorium jest jego listing:
pacman -Sl repo-ck
bądź w jakimś programie do przeglądania repozytoriów (polecam pkg-browser).
IX. Uruchomienie BFQKernele przygotowane przez graysky'ego zawierają również planistę BFQ, który nie jest jednakże domyślnie włączony. Niekiedy jego stosowanie daje lepsze efekty. Można wypróbować. Uruchomienie polega na:
1. Uruchomienie dla wszystkich urządzeń dyskowych:
Edytujemy plik /etc/default/grub:
sudo nano /etc/default/grub
odnajdujemy linię rozpoczynającą się od:
GRUB_CMDLINE_LINUX_DEFAULT=
i dopisujemy
"elevator=bfq"
Jeśli ta linia zawiera już jakieś parametry kernela, to elevator=bfq dopisujemy gdzieś między cudzysłowem, który tam już jest.
2. dla określonego urządzenia:
sudo echo bfq > /sys/block/urządzenie/queue/scheduler
Gdzie urządzenie jest to sdX, przy czym X to litera oznaczająca urządzenie, dla którego BFS chcemy uruchomić.