Hlavní navigace

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?

6. 4. 2005 9:41

Díky za díky. Pravděpodobně nemáte přístupová práva k tomu zařízení. V každém případě je ale lepší udělat si nejprve obraz toho disku. Jednak tím nic neriskujete a hlavně si tím nerozázíte nastavení hardware toho systému. QEMU simuluje jiný hardware.

6. 4. 2005 8:24

No, jestli jsem dobře četl, tak je tam zmínka o tom, že výsledek má tak 10-20 procent výkonu stejného systému bez emulace... A z vlastní zkušenosti musím potvrdit, že je to DOST pomalé. Zkoušel jsem na Duronu 1800 MHz jet emulované Windows 95 a skoro se s tím nedalo dělat (jenom jak pomalu se otvíralo menu)... Oproti tomu na VMWare člověk skoro nepozná, že to jede emulovaně. Zkusím kouknout na ten akcelerátor, ten vypadá zajímavě...
Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Jste stále nemocní? Chybí vám zinek

Jste stále nemocní? Chybí vám zinek

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?