Obsługa procesorów wielordzeniowych
From WikiDoc
Wstęp
Od KateOS 3.8 procesory wielordzeniowe są w pełni obsługiwane od razu po instalacji.
Domyślnie po instalacji KateOS 3.6 posiada tylko jedno jądro nie wykorzystujące możliwości procesorów wielordzeniowych, istnieje możliwość wymiany domyślnego jądra. Specjalny zestaw paczek obsługujący SMP, jest dostępny w repozytorium i tworzą je następujące paczki:
- kernel-smp
- kernel-smp-modules
- kernel-smp-headers
- kernel-smp-sources
dodatkowo dostępne są moduły funkcjonalne, niezbędne do pracy pewnych programów:
- realtime-lsm-smp (możliwość uruchamiania programów w trybie "rzeczywistym")
- ndiswrapper-kern-smp (niezbędny moduł do korzystania z ndiswrappera)
- svgalib-kern-smp (moduł svgalib_helper - niezbędny do używania biblioteki svgalib)
W systemie wszystkie te paczki mogą koegzystować wraz ze standardowym zestawem jądra.
Instalacja
Aby doinstalować jądro SMP za pomocą updateosa wykonujemy:
updateos -i kernel-smp kernel-smp-modules kernel-smp-headers kernel-smp-sources
Jeśli używamy pewnych programów wymagających dodatkowych modułów jądra wykonujemy:
updateos -i ndiswrapper-kern-smp realtime-lsm-smp svgalib-kern-smp
Po instalacji, w katalogu boot dostępny jest obraz jądra (vmlinuz-smp) oraz initrd dla tego jądra (initrd-smp zbudowany na bazie domyślnego obrazu initrd).
Aby używać nowego jądra musimy uzupełnić wpisy w naszym bootloaderze. Jeżeli nie chcemy używac domyślnego jądra, w pliku konfiguracyjnym gruba (/boot/grub/menu.lst) we wpisach KateOS wstawiamy zamiast "vmlinuz" - "vmlinuz-smp", za "initrd" - "initrd-smp". Przykładowy wpis:
title Kate OS 3.6 Virgin SMP
root (hd0,0)
kernel /boot/vmlinuz-smp ro root=/dev/hda1 vga=791 resume2=swap:/dev/hda8 splash=silent quiet
initrd /boot/initrd-smp
Komputer można uruchomić z nowego jądra.
Ewentualne problemy
Pewne problemy może powodować kompilacja nowych sterowników dla jądra SMP (np. kompilacja sterowników NVIDII). Jeżeli mamy zamiar kompilować kod z myślą o tym jądrze, warto stworzyć symboliczny link "linux" w katalogu /usr/src wskazujący na katalog ze źródłami jądra SMP. Można także odinstalować pakiet kernel-headers i skopiować zawartość katalogu /usr/include/SMP-headers do /usr/include.

