QEMU (Quick Emulator) je virtualizacijski alat otvorenog koda koji vam omogućuje pokretanje operativnih sustava i programa dizajniranih za jednu arhitekturu stroja na drugoj arhitekturi. Omogućuje hardversku emulaciju za različite računalne sustave, uključujući x86, ARM, PowerPC i druge. QEMU se može koristiti kao emulator cijelog sustava, što znači da emulira cjelokupno hardversko okruženje ciljanog sustava, ili kao emulator korisničkog prostora, koji omogućuje pokretanje pojedinačnih aplikacija kompiliranih za drugu arhitekturu. Ukratko nešto poput Virtualbox-a samo bez onoga što ne volimo od Oracle-a.

Brzinska instalacija

Ovdje su naredbe za terminal s kojima možemo instalirati sve bez čitanja objašnjenja:

Naredbe
sudo apt update && upgrade
sudo apt-get install build-essential git python3-venv flex bison libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
sudo apt install qemu-kvm 
sudo apt install virt-manager
sudo apt install libvirt-daemon
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
cd ~/Downloads/
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
git submodule init
git submodule update --recursive
./configure
make
sudo make install

Instalacija s objašnjenjima

Ponajprije moramo ažurirati sustav:

sudo apt update && upgrade

Paket “build-essential” u Ubuntu-u je metapaket koji uključuje skup osnovnih alata i biblioteka potrebnih za kompajliranje softvera iz izvornog koda. Kada instalirate paket “build-essential”, on instalira nekoliko paketa koji su obično potrebni tijekom razvoja softvera. Ovo nam je potrebno za kompajliranje…

sudo apt-get install build-essential git python3-venv flex bison libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

Kada se koriste zajedno, QEMU i KVM čine moćnu kombinaciju poznatu kao QEMU-KVM ili jednostavno KVM. QEMU pruža okvir za emulaciju i virtualizaciju, dok KVM koristi hardverska virtualizacijska proširenja (kao što su Intel VT-x ili AMD-V) za poboljšanje performansi i učinkovitosti.

Uz QEMU-KVM možete kreirati i upravljati virtualnim strojevima koji pokreću gostujuće operativne sustave, kao što su Linux, Windows ili drugi podržani operativni sustavi. Virtualni strojevi imaju pristup virtualiziranim hardverskim resursima, uključujući CPU jezgre, memoriju, uređaje za pohranu i mrežna sučelja.

sudo apt install qemu-kvm 

Virt-manager je aplikacija za grafičko korisničko sučelje (GUI) za upravljanje virtualnim strojevima (VM) i hostovima za virtualizaciju. Izgrađen je na libvirt API-ju, koji je biblioteka za interakciju s različitim tehnologijama virtualizacije, uključujući QEMU-KVM, Xen, LXC i druge.

sudo apt install virt-manager

libvirt-daemon, ili jednostavno libvirtd, komponenta je libvirt knjižnice i alata. Djeluje kao pozadinska usluga (servis) koja upravlja mogućnostima virtualizacije i pruža API za interakciju s različitim tehnologijama virtualizacije, kao što su QEMU-KVM, Xen, LXC i druge. libvirt-daemon pruža zajedničko sučelje i sloj apstrakcije za upravljanje virtualnim strojevima i hipervizorima. Omogućuje aplikacijama i alatima kontrolu i nadzor virtualizacijskih hostova, izvođenje zadataka upravljanja virtualnim strojem i pristup resursima virtualizacije.

sudo apt install libvirt-daemon

Omogućimo servise:

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Zatim ćemo kompajlirati komponente koje nije moguće distribuirati u “binary” obliku:

cd ~/Downloads/
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
git submodule init
git submodule update --recursive
./configure
make
sudo make install

Za probu ćemo testirati Alpine Linux

Alpine Linux je lagana distribucija Linuxa usmjerena na sigurnost i vrlo učinkovita. Dizajniran je imajući na umu jednostavnost, učinkovitost resursa i sigurnost, što ga čini posebno prikladnim za ugrađene sustave, okruženja spremnika i poslužitelje s malim resursima.

Prvo ćemo potražiti ISO datoteku pa u tražilicu unosimo:

alpine linux download

Zatim skidamo EXTENDED x86_64 ISO verziju.

Nakon toga moramo napraviti virtualni disk a to radimo sa naredbom:

qemu-img create -f qcow2 alpine.qcow2 8G

A naredba s kojom pokrećemo naše virtualno računalo je:

qemu-system-x86_64 -m 512 -boot d -cdrom ./alpine-extended-3.18.2-x86_64.iso -hda alpine.qcow2 -display sdl -enable-kvm