Portál AbcLinuxu, 2. června 2024 01:25

QEMU a ReactOS pt.1: QEMU, kqemu a GCC4

15.3.2007 06:36 | Přečteno: 1784× | Linuxení aneb hrátky se šrotem | poslední úprava: 15.3.2007 06:38

Nedávno jsem na nějakém serveru zahlédnul zmínku, že vychází ReactOS verze 0.3.1. O projektu jsem měl pouze jakési základní povědomí, tak jsem se rozhodl jej vyzkoušet, ale jelikož mám svá data rád, rozhodl jsem se jej zkusit pod QEMU.

QEMU je emulátor virtuálního stroje kompletně licencovaný pod GNU/GPL. Sám o sobě sice neoplývá žádným zázračným výkonem, ale při doplnění jaderným modulem kqemu už je situace značně lepší. Zásadním problémem QEMU je jeho kompatibilita. Sám o sobě se odmítá zkompilovat s kompilátory GCC4 a vyššími, takže je nutné sáhnout po GCC34, se kterým se mi ho ale též nepodařilo zkompilovat, nebo po některém z patchů. V případě kqemu již situace tak tragická není.

K čemu je to dobré? V emulovaném PC lze bez nebezpečí zkoušet jiné operační systémy, jejich funkce, či zkoušet různé live distribuce, než se rozhodneme vypálit si tu, která vyjde nejlepší. To vše bez restartu systému a nebezpečí poškození dat na disku.

Instalace kqemu
Pro kompilaci a instalaci kqemu jsou nutné pouze zdrojové kódy kqemu a samotného jádra. Zdrojové kódy kqemu jsou ke stažení na stránkách QEMU. Stačí je pouze rozbalit a klasickým způsobem

./configure && make && make install

zkompilovat modul a nainstalovat jej. Zavedením modulu příkazem

modprobe kqemu

se vytvoří zařízení /dev/kqemu, které bude později QEMU využívat. Pokud ale nechceme QEMU spouštět neprakticky pouze pod rootem, je třeba zajistit, aby k zařízení měli přístup i další uživatelé systému. To lze provést příkazem

chmod a+rw /dev/kqemu

Automatizování těchto příkazů po startu systému je již věcí každého uživatele. Na SUSE k automatickému zavedení modulu lze použít YaST, konkrétně jeho Editor souborů /etc/sysconfig. Zde stačí do položky System - > Kernel - > MODULES_LOADED_ON_BOOT přidat kqemu. Změnu práv pak lze provést pridáním řádky chmod a+rw /dev/kqemu do /etc/init.d/boot.local. To by byla ta jednodušší část.

Instalace QEMU
Pro zkompilování QEMU na systémech s GCC4 a výše (prakticky všechny mladší než dejme tomu rok) je třeba provést patch zdrojových kódů. V některých diskusích jsem četl názory, že onen patch je udělaný tak tak aby to prošlo. Diskuzi kolem tohoto tématu bych odložil, neboť důležitý je výsledek - a to ten, že to prostě chodí.

Patch, který jsem použil je určen pro QEMU 0.8.1. Z adresáře s patchem lze stáhnout na zkoušku i image s předinstalovaným Red Hat 9, je však poměrně velký (405MB) a po rozbalení ještě větší (2GB). V diskuzi, ve které byl odkaz na tento patch, bylo uvedeno, že funguje i s QEMU 0.8.2, tuto variantu jsem ale netestoval. Na verzi 0.9.0 ale ano ... a nefunguje. Patch lze aplikovat ručně příkazem

patch -i qemu-gcc-4-all.patch

provedeným v adresáři s rozbalenými zdrojovými kódy. patch se vždy zeptá na cestu k souboru, který má upravit, a stačí mu pouze zadat cestu k tomuto souboru.

Máme-li patchnuté zdrojové kódy, nic nebrání začít s kompilací QEMU. Detekci verze GCC4 lze obejít při ./configure parametrem --disable-gcc-check doplněným o --enable-alsa pro podporu zvuku. Ale ani pak se QEMU při make nezkompiluje. Nezbývá tedy než vyloučit vše, co není nezbytně třeba, tedy hostitelské a emulované procesory. Jelikož můj hostitel je x86_64 a budu od něj vyžadovat emulaci procesoru řady i386, je výsledný příkaz pro konfiguraci

./configure --disable-gcc-check --enable-alsa --target-list=i386-user,i386-softmmu,x86_64-softmmu

a

make

pro zkompilování. Kompilace by již měla proběhnout bez problémů a po dokončení již stačí pouze příkazem

make install

QEMU nainstalovat.

V dalším díle přijde na řadu samotné QEMU, jeho použití a instalace ReactOS.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

andree avatar 15.3.2007 07:59 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Odpovědět | Sbalit | Link | Blokovat | Admin
neviem sice, aky system mas, ale make install nie je prave najlepsi sposob, ako si udrzat v suboroch na disku poriadok :-) taky checkinstall by to vyriesil lepsie =)
Luboš Doležel (Doli) avatar 15.3.2007 08:12 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Když to dává do /usr/local... navíc pak stejně může dát make uninstall.
pushkin avatar 15.3.2007 10:36 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Tenhle figl neznam, ale vypada to,ze by se to dalo vyuzit k vytvoreni vlastnich RPM, coz by se taky siklo. Dik za tip :-)
15.3.2007 16:01 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Sam na gentoo používám (ne vždy se mi chce vyrábět ebuild ;)) ./configure --prefix=/usr/local/qemu (třeba). Pak stačí daný adresář smazat :).
Baník pyčo!
15.3.2007 12:43 LuděkS | skóre: 31 | blog: publish | Liberec
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdravim, mozna by bylo take zajimave vyzkouset to ve VirtualBoxu.
Valoun avatar 15.3.2007 15:21 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Odpovědět | Sbalit | Link | Blokovat | Admin
V cem se ty postupy lisi?
apt-get install qemu kqemu-modules-2.6-xxx
15.3.2007 18:48 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
V tom, že ten navrhovaný tebou je mnohem lepší...
pushkin avatar 16.3.2007 07:26 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Hlavne v tom, ze to na SUSE 10.0 neudelam, nebot nova verze QEMU pro ni proste schazi. A ona by to nakonec ani nebyla takova zabava, ne? ;-)
Valoun avatar 17.3.2007 17:28 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Jako vetsi problem bych v tomto pripade videl fakt, ze v SUSE chybi asi i apt-get :-) Ale to je jen ma domnenka.
pushkin avatar 18.3.2007 19:18 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Neni dulezite jestli apt-get, yum, ci neco jineho, jde o zpusob.
16.3.2007 12:57 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
V cem se ty postupy lisi?
apt-get install qemu kqemu-modules-2.6-xxx
V tom, ze tebou navrhovany postup nebude fungovat, pokud si nekdo sam zkompiloval jadro - coz je docela obvykle.
Valoun avatar 17.3.2007 17:27 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: QEMU a ReactOS pt.1: QEMU, kqemu a GCC4
Ok, v tom pripade si dosad misto kqemu balicek kqemu-source + par vterin kompilace navic. Ackoliv jsem si myslel, ze vselike emulatory/virtualizace atd jsou slozita vec, kompilace prosla az prekvapive hladce (narozdil od davnych snah o rozjeti proprietalniho wmware)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.