wtorek, 11 lutego 2014

Wersje stabilne [12.04 - 14.04] - Kernele [v28.x 64-bit] - oparte o Linux-3.13.x

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 331.38 oraz dla AMD Radeon Catalysty 13.12 build v3 [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.13.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 v28.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.
  • Dodałem wsparcie dla dongla Usb TV DVB-T - Leadtek WinFast DTV Dongle Mini D.
  • 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 dodałem 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. Standardowo ten patch pojawi się dopiero w źródłach kernela Linux-3.15.x.

Wersje

Na linię v28.x składają się następujące wersje kerneli [poniżej linki informacyjne]: