Warunki systemowe
Kernele przeznaczone dla Ubuntu od wersji 12.04 do 14.04 w wersji 64 bitowej [w tym także Kubuntu/ Lubuntu/ Xubuntu/ Gnome Ubuntu]. Podkreślenia wymaga fakt, iż w przypadku korzystania z zamkniętych sterowników graficznych, konieczne będą ich najnowsze wersje dla Nvidii, bądź AMD/ATi. Obecnie wymagane sterowniki dostarczam w ramach aplikacji NeteXt'73, która od wersji 4.0 posiada dział ze sterownikami. Obecnie dostępne są dla 64 bitowych systemów zalecam zbudowane przeze mnie i udostępniane w ramach NeteXt'73 sterowniki Nvidii w wersji 334.21 oraz 304.121. natomiast dla AMD Radeon Catalysty 13.12 build v5 oraz 14.3 build v1 [zawierają obok patchy zapewniających zgodność z w/w kernel także inne usprawniające ich prace].
Poniższe kernele oraz proponowane modyfikacje powinny jednak - przy spełnieniu powyższych przesłanek - działać także z nowymi wersjami (odpowiadających obecnym wersjom Ubuntu) dystrybucji bazujących na Debianie - zatem Mint oraz innym pokrewnych. Jednakże instalacja na innych dystrybucjach niż Ubuntu - we wskazanych wersjach, realizowana jest jedynie na ryzyko i odpowiedzialność podejmujących się tego Śmiałków ;)
Stosowane rozwiązania
Kernele zostały zbudowane w oparciu o źródła Vanilla ("czysty" kernel) kernela 3.14.x. W tym przypadku podobnie, jak już to uczyniłem wcześniej, zastosowałem auto-grupowanie (Automatic process group scheduling). Poniższe kernele używają defaultowoschedulera I/O CFQ. Jednakże od APM w wersji 2.2 aktywowane są jednocześnie 2 schedulery I/O - w zależności od rodzaju dysku działa, dla: SSD - noop, a dla HDD - CFQ. Takie rozwiązanie pozwala na optymalizację wydajności i zwiększa bezpieczeństwo oraz żywotność dysków - w szczególności tyczy się to dysków SSD.
Linia kerneli oznaczonych jako v29.x, poza działaniami zmierzającymi do optymalizacji kodu wynikowego poszczególnych wersji kerneli, m.in. przez ich odpowiednia konfigurację oraz kompilacje, zawiera następujące zmiany w funkcjonalności w stosunku do wersji generic (standardowych kerneli np. Ubuntu), m.in.:
- Wprowadziłem patch naprawiający błąd - Fast TSC calibration failed.
- W obecnej wersji wyłączyłem wsparcie dla systemu plików AUFS.
- Dezaktywowałem SELinux - ze względu na "osłabione" zaufanie do jego Developerów > NSA.
- "Wbiłem na sztywno", tj. do image kernela najistotniejsze moduły firewalla [IPtables] oraz elementy odpowiedzialne za szyfrowanie - co praktycznie uniemożliwia ich podmianę w przypadku ataku typu "root-kit".
- Od kernela v28.7 aktywowany patch naprawiający błędne wskazania w tabeli kontrolerów ACPI następujących modeli laptopów Samsunga - Series 5: NP530U3C, NP535U3C, NP530U3B, NP550P5C oraz Series 9: NP900X3F, NP900X4B, NP900X4C, NP900X4D i NP900X3C.
Wersje
Na linię v29.x składają się następujące wersje kerneli [poniżej linki informacyjne]: