Autor Wątek: [How To]Dwa kernele w jednym systemie  (Przeczytany 1974 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

sir_lucjan

  • AUR-OR
  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 1327
  • Reputacja +11/-0
  • Nic nie działa, jak Polska cała!
    • Mój profil w AUR
  • Architektura: x86_64
  • DE/WM: Plasma 5
  • Distro: Arch Linux
  • GPU: Intel
  • Kernel: linux-bfq-haswell
[How To]Dwa kernele w jednym systemie
« dnia: Październik 27, 2014, 20:28:12 »
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
 
Dell Inspiron 15-3542 (3542-2538) || Linux Register User: #536661
[AUR]  [GitHub]

 

Polityka cookies
Darmowe Fora | Darmowe Forum
neverdie watahablackheart nanashin osw super-krasnale