Poradniki > Software

[How To]Dwa kernele w jednym systemie

(1/1)

sir_lucjan:
O ile używanie dwóch kerneli na komputerze "fizycznym" nie sprawia najmniejszego problemu - to na VB pojawi się mały problem. Jaki? Mianowicie, żeby "w pełni" wykorzystać system na VB (tryb pełnoekranowy, kopiowanie tekstu między maszynami) musimy zainstalować pakiet virtualbox-guest-modules także do drugiego kernela. Wydaje się to proste - jednak nie zawsze działa. Po aktualizacji glibc oraz linux-api-headers pakiet virtualbox-guest-modules z drugiego kernela skutecznie unieruchomił system - ten nie uruchamiał się ani z pierwszego ani z drugiego kernela. Rozwiązanie okazało się dość specyficzne - ale o tym za chwilę.

I. Instalujemy nowy kernel

Za przykład posłuży nam kernel linux-ck, który w moim odczuciu działa nieco bardziej wydajnie w porównaniu do tego dystrybucyjnego

Musimy dodać repo:


--- Kod: ---[repo-ck]
SigLevel = TrustAll
Server = http://repo-ck.com/$arch
--- Koniec kodu ---

Następnie odświeżamy listę repozytoriów:


--- Kod: ---pacman -Syy
--- Koniec kodu ---

Wybieramy interesujący nas kernel:

--- Kod: ---$ pacman -Sl repo-ck
repo-ck broadcom-wl-ck 5.100.82.112-44
repo-ck broadcom-wl-ck-atom 5.100.82.112-44
repo-ck broadcom-wl-ck-barcelona 5.100.82.112-44
repo-ck broadcom-wl-ck-bobcat 5.100.82.112-44
repo-ck broadcom-wl-ck-bulldozer 5.100.82.112-44
repo-ck broadcom-wl-ck-core2 5.100.82.112-44
repo-ck broadcom-wl-ck-ivybridge 5.100.82.112-44
repo-ck broadcom-wl-ck-k10 5.100.82.112-44
repo-ck broadcom-wl-ck-kx 5.100.82.112-44
repo-ck broadcom-wl-ck-nehalem 5.100.82.112-44
repo-ck broadcom-wl-ck-p4 5.100.82.112-44
repo-ck broadcom-wl-ck-pentm 5.100.82.112-44
repo-ck broadcom-wl-ck-piledriver 5.100.82.112-44
repo-ck broadcom-wl-ck-sandybridge 5.100.82.112-44
repo-ck chromium-scroll-pixels 26.0.1410.63-2
repo-ck linux-ck 3.9.2-2
repo-ck linux-ck-atom 3.9.2-2
repo-ck linux-ck-atom-headers 3.9.2-2
repo-ck linux-ck-barcelona 3.9.2-2
repo-ck linux-ck-barcelona-headers 3.9.2-2
repo-ck linux-ck-bobcat 3.9.2-2
repo-ck linux-ck-bobcat-headers 3.9.2-2
repo-ck linux-ck-bulldozer 3.9.2-2
repo-ck linux-ck-bulldozer-headers 3.9.2-2
repo-ck linux-ck-core2 3.9.2-2
repo-ck linux-ck-core2-headers 3.9.2-2
repo-ck linux-ck-headers 3.9.2-2
repo-ck linux-ck-ivybridge 3.9.2-2
repo-ck linux-ck-ivybridge-headers 3.9.2-2
repo-ck linux-ck-k10 3.9.2-2
repo-ck linux-ck-k10-headers 3.9.2-2
repo-ck linux-ck-kx 3.9.2-2
repo-ck linux-ck-kx-headers 3.9.2-2
repo-ck linux-ck-nehalem 3.9.2-2
repo-ck linux-ck-nehalem-headers 3.9.2-2
repo-ck linux-ck-p4 3.9.2-2
repo-ck linux-ck-p4-headers 3.9.2-2
repo-ck linux-ck-pentm 3.9.2-2
repo-ck linux-ck-pentm-headers 3.9.2-2
repo-ck linux-ck-piledriver 3.9.2-2
repo-ck linux-ck-piledriver-headers 3.9.2-2
repo-ck linux-ck-sandybridge 3.9.2-2 [zainstalowano]
repo-ck linux-ck-sandybridge-headers 3.9.2-2 [zainstalowano]
repo-ck nvidia-304xx-ck 304.88-4
repo-ck nvidia-304xx-ck-atom 304.88-4
repo-ck nvidia-304xx-ck-barcelona 304.88-4
repo-ck nvidia-304xx-ck-bobcat 304.88-4
repo-ck nvidia-304xx-ck-bulldozer 304.88-4
repo-ck nvidia-304xx-ck-core2 304.88-4
repo-ck nvidia-304xx-ck-ivybridge 304.88-4
repo-ck nvidia-304xx-ck-k10 304.88-4
repo-ck nvidia-304xx-ck-kx 304.88-4
repo-ck nvidia-304xx-ck-nehalem 304.88-4
repo-ck nvidia-304xx-ck-p4 304.88-4
repo-ck nvidia-304xx-ck-pentm 304.88-4
repo-ck nvidia-304xx-ck-piledriver 304.88-4
repo-ck nvidia-304xx-ck-sandybridge 304.88-4
repo-ck nvidia-ck 319.17-2
repo-ck nvidia-ck-atom 319.17-2
repo-ck nvidia-ck-barcelona 319.17-2
repo-ck nvidia-ck-bobcat 319.17-2
repo-ck nvidia-ck-bulldozer 319.17-2
repo-ck nvidia-ck-core2 319.17-2
repo-ck nvidia-ck-ivybridge 319.17-2
repo-ck nvidia-ck-k10 319.17-2
repo-ck nvidia-ck-kx 319.17-2
repo-ck nvidia-ck-nehalem 319.17-2
repo-ck nvidia-ck-p4 319.17-2
repo-ck nvidia-ck-pentm 319.17-2
repo-ck nvidia-ck-piledriver 319.17-2
repo-ck nvidia-ck-sandybridge 319.17-2
repo-ck virtualbox-ck-guest-modules 4.2.12-4
repo-ck virtualbox-ck-guest-modules-atom 4.2.12-4
repo-ck virtualbox-ck-guest-modules-barcelona 4.2.12-4
repo-ck virtualbox-ck-guest-modules-bobcat 4.2.12-4
repo-ck virtualbox-ck-guest-modules-bulldozer 4.2.12-4
repo-ck virtualbox-ck-guest-modules-core2 4.2.12-4
repo-ck virtualbox-ck-guest-modules-ivybridge 4.2.12-4
repo-ck virtualbox-ck-guest-modules-k10 4.2.12-4
repo-ck virtualbox-ck-guest-modules-kx 4.2.12-4
repo-ck virtualbox-ck-guest-modules-nehalem 4.2.12-4
repo-ck virtualbox-ck-guest-modules-p4 4.2.12-4
repo-ck virtualbox-ck-guest-modules-pentm 4.2.12-4
repo-ck virtualbox-ck-guest-modules-piledriver 4.2.12-4
repo-ck virtualbox-ck-guest-modules-sandybridge 4.2.12-4
repo-ck virtualbox-ck-host-modules 4.2.12-4
repo-ck virtualbox-ck-host-modules-atom 4.2.12-4
repo-ck virtualbox-ck-host-modules-barcelona 4.2.12-4
repo-ck virtualbox-ck-host-modules-bobcat 4.2.12-4
repo-ck virtualbox-ck-host-modules-bulldozer 4.2.12-4
repo-ck virtualbox-ck-host-modules-core2 4.2.12-4
repo-ck virtualbox-ck-host-modules-ivybridge 4.2.12-4
repo-ck virtualbox-ck-host-modules-k10 4.2.12-4
repo-ck virtualbox-ck-host-modules-kx 4.2.12-4
repo-ck virtualbox-ck-host-modules-nehalem 4.2.12-4
repo-ck virtualbox-ck-host-modules-p4 4.2.12-4
repo-ck virtualbox-ck-host-modules-pentm 4.2.12-4
repo-ck virtualbox-ck-host-modules-piledriver 4.2.12-4
repo-ck virtualbox-ck-host-modules-sandybridge 4.2.12-4
--- Koniec kodu ---

Instalujemy poleceniem:


--- Kod: ---pacman -S linux-ck linux-ck-headers
--- Koniec kodu ---

Tutaj mała "nowość" w porównaniu z Ubuntu/Mint/Debian. Sami musimy "odświeżyć" GRUB:


--- Kod: ---grub-mkconfig -o /boot/grub/grub.cfg
--- Koniec kodu ---

Nie musimy tego robić po każdej aktualizacji kernela - to zabieg jednorazowy.

II. Sytuacja na VB

Tutaj sytuacja przedstawia się trochę trudniej. Na początek musimy zainstalować dodatkowe pakiety:


--- Kod: ---pacman -S dkms virtualbox-guest-dkms
--- Koniec kodu ---

Następnie logujemy się na nowym kernelu (nie zdziwmy się, że system nie działa w trybie pełnoekranowym oraz nie jest możliwe kopiowanie między maszynami) i wydajemy polecenie:


--- Kod: ---dkms install vboxguest/4.2.12
--- Koniec kodu ---

Po kolejnym uruchomieniu system powinien działać w trybie pełnoekranowym oraz powinno być możliwe kopiowanie między maszynami.

Teraz mała uwaga - jeśli chcemy mieć pewność, że również na domyślnym kernelu wszystko będzie działało bez przeszkód (zdarzało się, że po paru aktualizacjach system nie działał w trybie pełnoekranowym oraz nie było możliwe kopiowanie tekstów i dopiero kolejne aktualizacje naprawiały problem) - możemy przeprowadzić podobną operację. Najpierw odinstalujmy jeden pakiet:


--- Kod: ---pacman -Rcns virtualbox-guest-modules
--- Koniec kodu ---

Uwaga! Pakiet virtualbox-guest-utils jest potrzebny!

Po zalogowaniu się na domyślnym kernelu musimy ponownie wydać polecenie:


--- Kod: ---dkms install vboxguest/4.2.12
--- Koniec kodu ---

Od tej pory możemy mieć niemal 100% pewności, że wszystko będzie działało poprawnie. Niestety coś kosztem czegoś - powyższy zabieg powinniśmy powtarzać po każdej aktualizacji - chyba, że jesteśmy nieco leniwi - wtedy bez restartowania systemu wydajemy polecenie:


--- Kod: ---dkms autoinstall -k NOWA-WERSJA-KERNELA
--- Koniec kodu ---

Dobrze jest też uruchomić usługę dkms:


--- Kod: ---systemctl enable dkms.service
--- Koniec kodu ---

 

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej