Arch-Like - nietypowy blog, nietypowe forum.

Poradniki => Podstawy => Wątek zaczęty przez: pavbaranov w Październik 28, 2014, 14:08:35

Tytuł: Instalacja "kerneli" Cona Kolivasa - wersja poprawiona
Wiadomość wysłana przez: pavbaranov w Październik 28, 2014, 14:08:35
Poradnik jest poprawioną i uwzględniającą zmiany w repozytorium, wersją poradnika, jaki udostępniłem na forum openlinux.pl

W 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 Kolivasa
Dowolnym 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.confi 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 CK
sudo pacman-key -r 5EE46C4C
sudo pacman-key --lsign-key 5EE46C4C

III. Aktualizujemy bazy pacmana
sudo pacman -Syy
IV. Odszukujemy właściwy kernel dla naszego systemu
gcc -c -Q -march=native --help=target | grep marchW wyniku czego otrzymamy coś w tym rodzaju:
-march=                               nazwa_flagiOwa 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 kernela
Z powyższej tabeli odczytujemy nazwę paczki z kernelem (linux-ck-nazwa) i instalujemy:
sudo pacman -S nazwa_kernelai ewentualnie jeszcze nagłówki których nazwa ma strukturę nazwa_kernela-headers

Jeś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.cfglub w Manjaro (bądź z zainstalowanym update-grub bądź wprowadzonym takim aliasem):
sudo update-grubW ten sposób uaktualnimy GRUB i lista dostępnych w systemie kerneli zostanie zaktualizowana.

VI. Użytkownicy GPU NVidia
W 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_sterownikalub sterowniki w wersji 340
sudo pacman -S nvidia-wersja_kernela_ck-wersja_sterownikaWersja 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 Broadcom
W 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_sterownikaPrzy 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 linuksie
Repozytorium 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-wersjaHost:
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-ckbądź w jakimś programie do przeglądania repozytoriów (polecam pkg-browser).

IX. Uruchomienie BFQ
Kernele 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/grubodnajdujemy 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/schedulerGdzie urządzenie jest to sdX, przy czym X to litera oznaczająca urządzenie, dla którego BFS chcemy uruchomić.