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.

Ohodnoťte jako ve škole:

Průměrná známka 2,47

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

DigiZone.cz: Mafra varuje před stíháním za pomluvu

Mafra varuje před stíháním za pomluvu

DigiZone.cz: Druhá anglická liga pro Digi TV

Druhá anglická liga pro Digi TV

Vitalia.cz: Sója a rakovina

Sója a rakovina

Root.cz: DDoS útoky aneb když vám zahltí dráty

DDoS útoky aneb když vám zahltí dráty

Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

Lupa.cz: Nová podoba Instagramu? Katastrofa

Nová podoba Instagramu? Katastrofa

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

DigiZone.cz: Šlágr TV dostala pokutu 100 000 Kč

Šlágr TV dostala pokutu 100 000 Kč

Vitalia.cz: Muži kouří 24 cigaret denně, ženy o dost míň

Muži kouří 24 cigaret denně, ženy o dost míň

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

Lupa.cz: Kam si doma dáte internet věcí? Na polici?

Kam si doma dáte internet věcí? Na polici?

120na80.cz: Poznáte, který z léků je pravý?

Poznáte, který z léků je pravý?

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí