QEMU - qemulátor

Petr Krčmář 6. 4. 2005

Potřebujete občas emulovat jiný procesor nebo byste rádi měli k dispozici virtuální počítač pro zkoušení nových distribucí? Pak je QEMU právě pro vás.

K čemu je to dobré

Emulátor procesoru je obecně velmi užitečná věc. Běžnému uživateli se hodí například ve chvíli, kdy potřebuje vyzkoušet novou distribuci nebo si chce odskočit do jiného systému. Místo složitého bootování nebo rozdělování disku prostě spustí aplikaci, která vytvoří v běžícím systému virtuální prostor. Velmi často se takovému provozu říká „akvárko”. Emulátor totiž skutečně vytváří jakési akvárium, ve kterém běží druhý systém. Důležité je, že systém v akváriu nemá o emulaci ponětí. Vzpomínáte si na simulátory ze StarTreku?

Konkrétních implementací existuje celá řada, za ty známé můžeme jmenovat například Bochs nebo VMWare. Ani jeden z nich však není bez chyb. Bochs je často proklínán za svou složitost a hromadu voleb a VMWare je sice špičkové, ale zase komerční. Existuje však i jednoduchá a svobodná alternativa. Tou je právě QEMU.

QEMU umí emulovat architektury x86, Sparc, ARM a PPC. Nejčastěji asi budete používat emulaci x86 na x86, ale emulace ostatních architektur funguje podobně.

Instalujeme

Instalace je zcela triviální. Buď již máte ve své distribuci příslušný balíček, nebo ho prostě stáhnete ze správné stahovací stránky. Verze pro Linux je zabalená v běžném tarballu (4.6 MB), a tak ji stačí rozbalit a zkopírovat do správných adresářů. Důležitý je samozřejmě adresář /usr/local/bin, zbytek je už jen dokumentace.

Soubory v tomto binárním balíčku jsou kompilovány staticky, takže nejsou potřeba žádné dodatečné knihovny. A už můžeme pouštět, to je celá instalace.

QEMUlujeme

QEMU může pracovat ve dvou režimech:

Plná emulace umožňuje přímo nabootovat virtuální počítač a provozovat na něm libovolný operační systém. Veškerý software pak vidí pouze virtuální hardware, který je mu podsouván QEMU.

Uživatelská emulace pracuje pouze v Linuxu a umožňuje spouštět aplikace určené pro jiný procesor.

Nás bude v tuto chvíli zajímat plná emulace, při které budeme provozovat celý systém. Ideální je například nějaké ISO live distribuce. Spuštění je jednoduché. QEMU potřebuje k běhu samozřejmě běžící X Window system, pak už stačí zadat:

$ qemu -m 256 -hda virtual.iso -cdrom neco.iso -boot d -enable-audio -user-net

Význam parametrů je následující: počítač bude mít 256 MB paměti, jako disk bude použit soubor virtual.iso, jako cdrom neco.iso, budeme bootovat z CD (c – disk, d – cdrom), chceme emulovat zvukovou kartu a síťovou taky.

Parametrů je samozřejmě mnohem více, kompletní seznam je k dispozici ve velmi podrobné dokumentaci. Za zmínku snad stojí ještě parametr -full-screen.

Soubory iso jsou samozřejmě běžné obrazy a disk si můžeme jednoduše vyrobit pomocí:

$ dd if=/dev/zero of=virtual.iso ibs=1024 count=1048576
$ /sbin/mkfs.ext2 virtual.iso 

Tím si vytvoříme 1GB soubor a vyrobíme v něm běžný souborový systém Ext2FS. Analogicky pak můžeme vytvořit třeba disk s FAT. Obraz cdrom se zase musí tvářit jako CD a v případě bootování musí mít všechny náležitosti.

QEMU

Pokud se nám všechno povedlo a QEMU běží, měli bychom vidět okno, ve kterém bootuje počítač. Normálně se nám objeví zavaděč a nastartuje systém ze zadanéhovirtuálního média. QEMU emuluje v případě PC tento hardware:

  • i440FX host PCI bridge a PIIX3 PCI to ISA bridge
  • Cirrus CLGD 5446 PCI VGA kartu nebo obyčejnou VGA kartu s VESA
  • PS/2 myš a klávesnici
  • dva PCI IDE disky nebo cdrom
  • Floppy disk
  • NE2000 PCI síťovou kartu
  • Sériové porty
  • Soundblaster 16 zvukovou kartu

V tuto chvíli by nám měl v okně běžet druhý systém. Jeho výkon se pohybuje mezi 10 % a 20 % běžného výkonu vašeho počítače. Relativně čersvým podprojektem QEMU je QEMU Accelerator, což je modul, který je k dispozici pouze pro Linux a měl by s jádry 2.4 nebo 2.6 zvýšit emulovaný výkon nad 90 % nominálního.

Systém běží, obvykle i zvučí a bez problému síťuje. V tomto ohledu jsem se za celou dobu používání QEMU nesetkal s žádným problémem. Virtuální počítač ukončíte jednoduše tak, že ho vypnete, například pomocí

$ halt

nebo jak jste zvyklí.

Závěr

QEMU je bezesporu velmi jednoduchý a praktický kus software. Hodí se při zkoušení nových distribucí nebo live distribucí, které zrovna nechcete pálit na CD. Může se hodit také tam, kde máte dualboot a nechce se vám zrovna rebootovat (jednoduše namíříte QEMU na /dev/…). QEMU je multiplatformní, takže si na PPC můžete provozovat třeba MS Windows nebo naopak. Fantasii se meze nekladou.

Pokud se vám nelíbí ovládání řádkou, můžete se podívat na projekt KQEMU. Jedná se o front-end napsaný v QT, který vám umožní nastavit si QEMU pohodlně z KDE.

Našli jste v článku chybu?
Podnikatel.cz: Kauza z Vinohrad pokračuje. Policie se omlouvá

Kauza z Vinohrad pokračuje. Policie se omlouvá

120na80.cz: Kam umístit silikony?

Kam umístit silikony?

Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

DigiZone.cz: Vláda schválila digitální vysílání ČRo

Vláda schválila digitální vysílání ČRo

DigiZone.cz: Evropa 2: od září nové vedení

Evropa 2: od září nové vedení

Lupa.cz: Sdílíte veřejně běhání a jízdu na kole?

Sdílíte veřejně běhání a jízdu na kole?

Vitalia.cz: Galerie: Strouhanka ze starých rohlíků? Kdepak

Galerie: Strouhanka ze starých rohlíků? Kdepak

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Vitalia.cz: Za její cukrovkou stojí rodiče

Za její cukrovkou stojí rodiče

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Vitalia.cz: Vakcína Cervarix je oficiálně i pro chlapce

Vakcína Cervarix je oficiálně i pro chlapce

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

Podnikatel.cz: OSA zdražuje poplatky. Zaplatíte o polovinu víc

OSA zdražuje poplatky. Zaplatíte o polovinu víc

Podnikatel.cz: Youtuber? Za 15 tisíc dělat nebude

Youtuber? Za 15 tisíc dělat nebude

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty

120na80.cz: Víte, co je svobodná menstruace?

Víte, co je svobodná menstruace?

Lupa.cz: Olympiáda zakázala GIFy. Moc to nepomáhá

Olympiáda zakázala GIFy. Moc to nepomáhá

Vitalia.cz: „Sjíždět“ porno není bez rizika

„Sjíždět“ porno není bez rizika

Podnikatel.cz: Týká se vás EET? Chtějte od berňáku posudek

Týká se vás EET? Chtějte od berňáku posudek

Lupa.cz: Co vzal čas: internetové kavárny a herny

Co vzal čas: internetové kavárny a herny