Portál AbcLinuxu, 30. dubna 2025 16:48
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.
Tiskni
Sdílej:
make install
nie je prave najlepsi sposob, ako si udrzat v suboroch na disku poriadok apt-get install qemu kqemu-modules-2.6-xxx
apt-get
, yum
, ci neco jineho, jde o zpusob.
V cem se ty postupy lisi?V tom, ze tebou navrhovany postup nebude fungovat, pokud si nekdo sam zkompiloval jadro - coz je docela obvykle.apt-get install qemu kqemu-modules-2.6-xxx
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.