
Hjemmesiden : www.qemu.com
Skrevet til Qemu version 0.7.2
Du har lige downloadet en Linux Live CD, som du meget gerne vil afprøve på computeren. Men ak SU'en rækker ikke særligt langt og du har desværre overskredet dit budget på et overforbrug af pastaskruer og fiskepinde. Så du har ikke råd til flere brændbare CD-rom'er.
Heldigvis findes der råd for dette. Med Qemu kan du bl.a. emulere en PC. Installationen er ganske ligefrem da, du enten kan installerer den med apt-get eller smutte ind på Qemu's hjemmesiden og hente den derfra både som kildekode eller præcompilet.
Qemu med en LiveCD
I dette eksempel vil vi bruge Kanotix som eksempel. Åben op for din terminal og skriv :
qemu -boot d -cdrom /dev/cdrom
qemu : er det program som emulerer PC'en.
-boot d : fortæller Qemu, at der skal boote fra CD-rom drevet.
-cdrom /dev/cdrom : Fortæller Qemu, at den skal bruge CD-rom drevet hvor Kanotix ligger i. Man kan også henvise til en *.iso fil så man slipper for at brænde en CD-rom.
Sådan ser det ud når Qemu emulerer en PC, der kører med Kanotix som OS.
Tip : hvis du trykker ctrl+alt+f når du er inde i den virtuelle PC, så kommer den i fuldskærm. Tryk den samme tastekombination igen og vupti. Du nu er tilbage med den virtuelle PC i et vindue.
Qemu til at installere et OS på en virtuel maskine
Vi vil i dette eksempel benytte Ubuntu som prøveklud. Benyt følgende kommando til at lave en harddisk :
qemu-img create ubuntu.img 8G
qemu-img : er programmet der laver en virtuel harddisk.
create : fortæller programmet, at den skal lave en harddisk.
ubuntu.img : er navnet på harddisken.
8G : er størrelsen på harddisken, G står for gigabyte.
Indsæt din Ubuntu CD-rom og skriv :
qemu -hda /home/mads/qemu-0.7.0-i386/ubuntu/ubuntu.img -cdrom /dev/cdrom -boot d -monitor stdio -user-net
qemu : Er det program som emulerer PC'en
-hda : er stien hvor det aktuelle harddisk image ligger eller hvilken harddisk enhed der skal bruges.
-cdrom : fortæller Qemu at den skal bruge mit CD-rom drev hvor Ubuntu installations CD'en ligger i. Man kan også henvise til en *.iso fil så man slipper for at brænde en CD-rom.
-boot d : fortæller Qemu at den skal boote fra CD-rom drevet, husk at ændre den til -boot c når den ikke skal bruge installations CD-rom'en.
-monitor stdio : Muliggøre at du kan sende kommandoer til Qemu, imens din virtuelle PC kører. Det kan eksempelvis være at du vil gemme din virtuelle maskine på et bestemt punkt. Brug "help" hvis du er i tvivl, der er mange funktioner her.
-user-net : Muliggører at den deler netkortet, så man kan komme på nettet med den virtuelle maskine.
Følg installationsproceduren for Ubuntu og forhåbentlig ender det med denne brune desktop :
Husk at det kan tage lang tid at installerer et operativsystem afhængig af din hardware du kører emulatoren på.
tip : Du kan også kører en virtuel PC hvis du dualbooter, så kan du undgå at skulle installere på en virtuel harddisk. Læs godt om snapshot funktionen, så du ikke smadre din partition med det andet OS.
tip : Under emulationen kan du bruge følgende tastekombinationer :
Ctrl-Alt-1 : Gæste operativ systemet skærmen.
Ctrl-Alt-2 : Monitor, har kan du sende kommandoer til emulatoren. Lige som "-monitor stdio"-switchen.
Ctrl-Alt-3 : Serial port, jeg vil ikke komme ind på hvad den skal benyttes til.
Lyd
Qemu kan emulerer et Soundblaster 16 kort hvis man vil have lyd fra sin virtuelle PC. Dette gøres ved at bruge "-enable-audio" switchen, eksempel :
qemu -user-net -hda windows2k.img -boot c -monitor stdio -enable-audio
Desværre er lydkortet ikke "plug'n'play", så det skal installeres manuelt i din virtuelle maskine. Der skal lige siges at hvis du bruger "enable-audio" switchen under installationen af din virtuelle Windows maskine, så finder den selv lydkortet. Hvis du først bruger switchen senere, så skal du igennem nedestående guide for Windows.
Jeg vil gennemgå et eksempel med installation af lydkort under Windows 2000 i Qemu:
- Start din virtuelle maskine op med switchen "enable-audio". Når den er bootet færdig og du er logget ind, så gå ind i "Control panel".
Her skal du så trykke på ikonet "Add/Remove Hardware" og følgende billede dukker op.
Tryk "Next".
Vælg "Add/Troubleshoot a device" og tryk "next".
Så er det bare at vente........
Vælg "Add a new device" og tryk "next".
Så er der kaffetid igen......
Nu skulle du gerne få følgende billede. Sørg for at der er et flueben ud for "Install Sound blaster 16 or AWE 32 or compatible (WDM)" og tryk så "next".
Tillykke, du har nu installeret lydkortet på din virtuelle maskine.
Installation af lydkort under Linux i Qemu
Installation af SB16 lydkortet er faktisk endnu simpler i Linux end i Windows 2000.
1. Boot ind i din Linux maskine
2. Åben en terminal
3. Bliv "root"
4. Skriv "modprobe sb".
5. Så skulle dit lydkort være installeret
Ellers tjek om det ikke kan gøres grafisk med de "Control center" der følger med din distribution.
Compiling af Qemu med KQemu
Fordelen med at compile Qemu selv er at man kan gøre brug af KQemu modulet, hvilket forøger den virtuelle PC's hastighed væsentlig - husk dette gælder kun for x86 intel, ikke PowerPC m.m. Det skal lige siges at compile programmer ikke er for nybegynderen som lige har installeret Linux. Denne bør til at starte med benytte sig af apt-get eller hente en præ compilet version.
Før du går igang skal du sikre dig at SDL ( libsdl1.2-dev )udviklingspakker er blevet installeret.
Samtidig skal du have hentet kildekoden til kernen som bliver brugt i SimplyMEPIS, den kan hentes fra http://www.mepislovers.org
Nå lad os gå igang :
- Hent kildekoden til Qemu på hjemmeside og hent pakken med KQemu modulet.
- Hent KQemu pakken.
- Pak Qemu pakken ud og derefter pak KQemu pakken ud i det nye Qemu bibliotek.
- Åben en konsol i dette bibliotek og kør kommandoen "./configure", hvilket burde give dette :
mads@2[qemu-0.7.0]$ ./configure
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/mads/Desktop/qemu-0.7.0
C compiler gcc
make make
host CPU i386
host big endian no
target list i386-user arm-user armeb-user sparc-user ppc-user i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link no
mingw32 support no
Adlib support no
FMOD support no
kqemu support yes
KQEMU Linux module configuration:
kernel sources /lib/modules/2.6.10/build
kbuild type 2.6
mads@2[qemu-0.7.0]$
- Læg mærke til at "SDL support" SKAL være "yes" ellers får du bare en sort skræm når du kører din virtuelle PC
- Læg mærke til at "kqemu support" SKAL være "yes" ellers får du ingen hastighedsforøgelse.
- skriv nu "make", Qemu kan på nuværende tidspunkt ikke compiles med GCC4. Prøv at skrive " make CC=gcc-3.3". Når den er færdig med at compile, skriv "make install som "Root".
- Nu skulle alt være installeret.
- Skriv nu "modprobe kqemu" som "SU" for at loade KQemu modulet ind i kernen.
- Nu er Qemu parat til at kører.
- Hvis Qemu skriver "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", så prøv at udfører følgende kommando som root :
mknod /dev/kqemu c 250 0
og derefter
chmod 666 /dev/kqemu
Galleri af andre virtuelle PC'ere
Damn Small Linux, kørt med kommandoen "qemu -cdrom dsl-1.0.1.iso -boot d":
Freesbie (FreeBSD), kørt med kommandoen "qemu -cdrom /dev/cdrom -boot d -user-net":
Syllable (Qemu pakken fra deres hjemmeside), kørt med kommandoen "qemu -fda floppy.img -hda harddisk.img -boot a":
ReactOS, kørt med kommandoen "qemu -cdrom roslive.iso -boot d":
Windows 2003, kørt med kommandoen "qemu -cdrom /dev/cdrom -hda win2k3 -boot c" :'
Windows 2000, kørt med kommandoen "qemu -hda windows2k.img -cdrom /dev/cdrom -boot c -user-net -monitor stdio":
Windows 98 SE, kørt med kommandoen "qemu -hda windows98se -cdrom /dev/cdrom -boot c -monitor stdio -user-net -no-kqemu":
Windows NT SP4, kørt med kommandoen "qemu -hda windowsnt -cdrom /dev/cdrom -boot c -monitor stdio -user-net":
QNX RTOS 6.2.0, kørt med kommandoen "qemu -hda QNX -cdrom /dev/cdrom -user-net -boot c -monitor stdio":
Debian 3.1, kørt med kommandoen "qemu -monitor stdio -cdrom /dev/cdrom -hda qemu-0.7.0-i386/debian -boot c" :
Minix, kørt med kommandoen "qemu -hda B30M -boot c":
Mads aka Pytmand fra http://mepis.linuxkiosken.dk