Wirtualizacja bez kombinowania: testowanie Linuksa będzie łatwiejsze
Wirtualizacja weszła pod strzechy – dzisiaj nie trzeba byćsysadminem, by w maszynie wirtualnej uruchomić taki systemoperacyjny, jaki nam akurat potrzeba. W dużym stopniu to zasługahiperwizora VirtualBox, który choć należy do Oracle, pozostaje idarmowym i wolnym oprogramowaniem. I właśnie tę szczególną rolęVirtualBoksa dostrzegli deweloperzy RedHata – za sprawą ichstarań, linuksowe jądro będzie wspierało pracę wzwirtualizowanym środowisku tego programu bez koniecznościkompilowania dodatkowych modułów.
17.01.2018 11:54
Zazwyczaj pierwszym krokiem po zainstalowaniu systemu operacyjnegow maszynie wirtualnej w VirtualBoksie jest pobranie i zainstalowanietzw. dodatków gościa. Bez nich zwirtualizowany system będziedziałał raczej kiepsko: z gorszą wydajnością, w ograniczonejrozdzielczości ekranu, bez możliwości współdzielenia katalogów,integracji schowka i łączenia pulpitów z systemem-gospodarzem.
Instalacja zaczyna się prosto: z menu Urządzenia okna maszynywirtualnej wybieramy funkcję Zamontuj obraz płyty z dodatkamigościa. W większości systemów automatycznie zamontuje to pobranyz sieci aktualny obraz tej płyty, VBoxGuestAdditions.iso. Zawiera onsterowniki na Windowsa, Linuksa i Solarisa.
Z Windowsem jest prosto, klikamy po prostu ikonę instalatorasterowników, Dalej, Dalej, Dalej, potem restart maszyny wirtualnej.Od użytkowników Linuksa i innych uniksopodobnych systemów wymagasię więcej – mamy do dyspozycji skrypt (np.VBoxLinuxAdditions.run), który albo zainstaluje moduły pasujące donaszego kernela, albo spróbuje je skompilować i zainstalować. Tapierwsza opcja rzadko kiedy jest dostępna, ta druga zwykle sprawiaproblemy. Świeżo zainstalowany linuksowy system zwykle nie zawierajeszcze pełnego środowiska budowania. Przykładowo dla Debianaprzed uruchomieniem skryptu instalacyjnego należy wpierwzaktualizować system (apt-get update && apt-get upgrade),następnie zainstalować pakiety środowiska kompilacyjnego (apt-getinstall build-essential module-assistant), potem przygotować systemdo budowania modułów kernela (m-a prepare). Na CentOS-ie robi się to oczywiście inaczej, ręka w górę, kto pamięta jak.
Sterowniki od razu w kernelu
Można łatwiej? Można: zarówno popularne Ubuntu jak i LinuxMint ładują gotowe moduły gościa, zgodne z dostarczanym kernelem,dzięki czemu hiperwizor uruchomi je od razu w maszynie wirtualnej zpełnymi możliwościami. Przynajmniej w teorii – zdarzają sięsytuacje, w których dostarczona tak wersja modułów nie pracujepoprawnie z daną wersją hiperwizora uruchomioną w systemiegospodarzu. Wtedy to użytkownik próbuje mozolnie moduły ze swojegoUbuntu czy Minta odinstalować, by zainstalować te najnowsze,dostarczane na aktualnym obrazie płyty dodatków gościa.
Wraz z kernelem 4.16 te problemy się skończą. Dziękiinicjatywie inżynierów RedHata, Linux będzie teraz oficjalniezawierał sterownik vboxguest. Kilka tysięcy liniikodu już zostało dodanych do gita. Dzięki nim każdadystrybucja korzystająca z kernela 4.16 będzie mogła zaoferowaćod razu kopiowanie i wklejanie zawartości schowka między gościem agospodarzem, pozwoli na włączenie trybu Seamless (czyli integracjipulpitów), a także wykorzystanie akceleracji sprzętowej OpenGL namaszynie-gospodarzu. Nie trzeba będzie z niczym kombinować, niczegokompilować ani instalować.
Zabraknie jedynie obsługi współdzielonych folderów. Ta jestmożliwa dzięki sterownikowi vboxsf, zależącemu od działaniavboxguest. Łatki zostały już dostarczone, ale nie załapie się onna okienko cyklu wydawniczego kernela 4.16, debiutując najpewniej wkernelu 4.17.
Uważni Czytelnicy zapewne zapytają, a co z grafiką? Tu jużnajważniejsze się dokonało. Dzięki pracy Hansa de Goede z RedHata, sterownik vboxvideo trafił już do kernela4.13. Nie było to zwykłe kopiuj-wklej, de Goede wziąłoryginalny sterownik mający niemal 53 tys. linii kodu, odchudzającgo do nieco ponad 7 tys. linii kodu. Deweloperzy Oracle’azaakceptowalito dzieło i obiecali, że nie zepsują kompatybilności interfejsówVirtualBoksa.
Na razie nie wiadomo, czy nowe sterowniki zostaną przeniesione dostarszych wersji kernela. Tak czy inaczej należy się spodziewać,że już Ubuntu 18.10 będzie oferowało kompletne wsparcie dlauruchamiania w maszynie wirtualnej VirtualBoksa „prosto z pudełka”.