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:
[repo-ck]
SigLevel = TrustAll
Server = http://repo-ck.com/$arch
Następnie odświeżamy listę repozytoriów:
pacman -Syy
Wybieramy interesujący nas kernel:
$ 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
Instalujemy poleceniem:
pacman -S linux-ck linux-ck-headers
Tutaj mała "nowość" w porównaniu z Ubuntu/Mint/Debian. Sami musimy "odświeżyć" GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
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:
pacman -S dkms virtualbox-guest-dkms
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:
dkms install vboxguest/4.2.12
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:
pacman -Rcns virtualbox-guest-modules
Uwaga! Pakiet virtualbox-guest-utils jest potrzebny!
Po zalogowaniu się na domyślnym kernelu musimy ponownie wydać polecenie:
dkms install vboxguest/4.2.12
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:
dkms autoinstall -k NOWA-WERSJA-KERNELA
Dobrze jest też uruchomić usługę dkms:
systemctl enable dkms.service