środa, 16 grudnia 2015

Dla chcącego nic trudnego, czyli patchwork

W Arch Linuksie kerneli moc. Maksymalnie zbliżony do upstreamowego, LTS, grsec i zen -to w repozytoriach, są jeszcze przecież kernele, które są w nieoficjalnych repozytoriach, a nadto które  budujemy na podstawie skryptów z AUR bądź tworzonych we własnym zakresie.
Ostatnio sir_lucjan pożegnał się z kilkoma kernelami, których skryptami opiekował się w AUR. W ten sposób niektórzy mogą poszukiwać kerneli, które oparte są o rozwiązania, które proponował. Nie mam zamiaru tutaj pisać jak tworzyć PKGBUILD dla kerneli w Archu, jak nakładać patche itp. Jeśli ktoś z Was nie wie, to prościej i łatwiej skorzystać z gotowych czy to kerneli, czy to skryptów w AUR. Dla tych, którzy jednak wiedzą o co chodzi, czują się na siłach, czy to zrobić sobie PKGBUILD, czy też zbudować kernel w sposób tradycyjny po prostu garść linków, które być może ułatwią Wam znalezienie odpowiednich patchy. Pomijam te patche, które są dość łatwe do odnalezienia w gotowych kernelach, czy skryptach. Proszę również nie traktować tego wpisu jako zupełnego katalogu istniejących patchy. Podaję też jedynie patche ogólne, które nie są związane z konkretnym rozwiązaniem hardware'owym. Będę natomiast starał się na bieżąco podawać Wam, gdzie znaleźć można patche dla poszczególnych wersji kerneli począwszy od 4.3.3.

1. Patche BFS i CK
Właśnie ukazała się nowa wersja popularnych patchy Cona Kolivasa. Znajdziecie je tu:
BFS
wersja 467
CK
wersja CK3 dla kerneli 4.3
CK od BFS odróżnia istnienie w tym kernelu pewnych dodatkowych patchy, które - zdaniem Cona Kolivasa - powodują lepszą pracę BFS. Niemniej jednak jeśli ktoś chce użyć samego BFS i dostosować sobie kernel według własnych potrzeb, nic nie stoi na przeszkodzie w użyciu BFS.

2. Patch BFQ
Wszystkie 3 patche znajdziemy w repozytorium prowadzonym przez autora - Paolo Valente. Lucek wprawdzie się opiekuje cały czas linux-bfq, jednakże dość często BFQ używany jest we współpracy z BFS/CK/BLD dlatego też podaję.

3. Patch BLD
Patche dla różnych wersji kerneli dostępne są na GitHubie autora - Rahula Mullicka.

4. Patch graysky'ego rozszerzający możliwości użycia flag gcc dla większej ilości typów procesorów
Również i ten patch bardzo często występuje w PKGBUILDach. W zasadzie wykorzystywany jest obecnie wyłącznie przez autora dla tworzonych przez niego kerneli linux-ck oraz w kompilacjach własnych. Patch dostępny jest w repozytorium autora w kilku wersjach dostosowanych do wersji gcc oraz procesora.

5. Patch UKSM
Niestety od pewnego czasu autor zaniedbał rozwój tego patcha. Gdyby nie to, to powinien on być dostępny ze strony autorskiej projektu.
Wiadomo jednak, że np. Oleksandr Natalenko (twórca linux-pf) dostosowuje jego kod do używanych przez siebie patchy pf. Dla kernela w wersji 4.3 możemy pobrać ten patch z repozytorium mazdlc. Niestety nie wiem czy sam opiekun tego repozytorium jest jego twórcą, czy też pobrany został kod od Oleksandra Natalenki bądź Alfreda Chena, czy też z innych jeszcze źródeł. Sprawdziłem - działa, nie zauważyłem też w nim jakichś "pułapek" (tu jednak pamiętajcie: nie jestem informatykiem i używacie tego patcha w tej wersji na własne ryzyko).

6. Patch GC
To jedno z dwu autorskich rozwiązań Alfreda Chena, które zawiera m.in. BFS. Stąd też często, gdy Con Kolivas nie wypuszcza swoich patchy, można pobrać chenową wersję tego patcha. Więcej o tych kernelach znajdziecie na blogu Alfreda Chena.
Aktualna wersja patcha dla kernela 4.3, to 4.3.1, który wymaga nałożenia dwu patchy: gc_v4.3_0463_1 oraz 4.3_gc3_fix jeśli spotkaliście się z błędem wybudzania w przypadku użycia wyłącznie pierwszego.

7. Patch VRQ
To drugi z kerneli Alfreda Chena. O nim możecie się również dowiedzieć coś z blogu autora. Obecna weresja - podobnie jak w przypadku GC to 4.3.1, która wymaga nałożenia dwu patchy (na takich samych warunkach jak w GC):
vrq_v4.3_0465_2 oraz 4.3_vrq1_fix