Emulators: Difference between revisions
[unchecked revision] | [unchecked revision] |
(fixed links, wrote about Bochs) |
(Copyediting, fixed some links) |
||
Line 4: | Line 4: | ||
== Emulation Packages == |
== Emulation Packages == |
||
=== QEMU === |
=== QEMU === |
||
[[QEMU]] is operated from the command line with the parameters used to specify the hardware environment of the system and also to link to the image which holds your kernel binary. It's available for Linux and Windows (the later as 'kqemu'). |
|||
Available for Linux and Windows (the latter as 'kqemu'). |
|||
Qemu is operated from the command line with the parameters used to specify the hardware environment of the system and also to link to the image which holds your kernel binary. |
|||
A simple command to run a floppy image would be: |
A simple command to run a floppy image would be: |
||
<source lang="bash"> |
|||
<code> |
|||
qemu -fda floppy.img |
qemu -fda floppy.img |
||
</ |
</source> |
||
You can use Ctrl+Alt to release the cursor (while captured). |
You can use Ctrl+Alt to release the cursor (while captured) and can use Ctrl+Alt+F to toggle fullscreen. There are further parameters available for use: |
||
You can use Ctrl+Alt+F to toggle fullscreen. |
|||
{| {{wikitable}} |
|||
There are further parameters available for use: |
|||
! heading !! heading |
|||
<table border=1> |
|||
|- |
|||
<tr> |
|||
| HDD Image/Device ''path'' || <code>-hda ''path''</code> |
|||
<td> |
|||
|- |
|||
HDD Image/Device ''path'' |
|||
| CD Image/Device ''path'' || <code>-cdrom ''path''</code> |
|||
</td> |
|||
|- |
|||
<td> |
|||
<code>- |
| Boot Device x(if not default) || <code>-boot x</code> |
||
|- |
|||
</td> |
|||
| (x)MB RAM || <code>-m x</code> |
|||
</tr> |
|||
|- |
|||
<tr> |
|||
| Localized Time || <code>-localtime</code> |
|||
<td> |
|||
|- |
|||
CD Image/Device ''path'' |
|||
| USB Support || <code>-usb</code> |
|||
<td> |
|||
|- |
|||
<code>-cdrom ''path''</code> |
|||
| Start in Full-Screen || <code>-full-screen</code> |
|||
<tr> |
|||
|} |
|||
<td> |
|||
Boot Device x(if not default) |
|||
</td> |
|||
<td> |
|||
<code>-boot x</code> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
(x)MB RAM |
|||
</td> |
|||
<td> |
|||
<code>-m x</code> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Localized Time |
|||
</td> |
|||
<td> |
|||
<code>-localtime</code> |
|||
<tr> |
|||
<td> |
|||
USB Support |
|||
</td> |
|||
<td> |
|||
<code>-usb</code> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
Start in Full-Screen |
|||
</td> |
|||
<td> |
|||
<code>-full-screen</code> |
|||
</td> |
|||
</tr> |
|||
</table> |
|||
For more information take a look in the links section below or this [[QEMU|wiki page]] |
|||
=== Bochs === |
=== Bochs === |
||
[[Bochs]] supports a variety of features, all of which can be carefully customized with command line switches or a settings file. It can emulate a PC with VBE, NE2000, and Sound Blaster 16. It also has a built-in debugger which can be useful for testing and debugging your kernel. Bochs can emulate CPUs with support for SMP and x86-64. However, Bochs itself does not use threading and the emulation is not ''virtualized'', so you can expect slow and CPU-intensive emulation. Bochs is available for Linux and Windows and is free and open source. |
|||
Bochs is also available for Linux and Windows. It is free and open source. |
|||
Bochs supports a variety of features, all of which can be carefully customized with command line switches or a settings file. It can emulate a PC with VBE, NE2000, and Sound Blaster 16. It also has a built-in debugger which can be useful for testing and debugging your kernel. Bochs can emulate CPUs with support for SMP and x86-64. However, Bochs itself does not use threading and the emulation is not ''virtualized'', so you can expect slow and CPU-intensive emulation. |
|||
See this [[Bochs|wiki page]] for more details on setting up and using Bochs. |
|||
=== Sun VirtualBox === |
=== Sun VirtualBox === |
||
[[Virtual Box]] is a desktop VM package. |
|||
''Desktop VM package'' |
|||
See this [[Virtual Box|wiki page]]. |
|||
=== Microsoft Virtual PC === |
=== Microsoft Virtual PC === |
||
[[Microsoft Virtual PC]] is a desktop VM package. |
|||
''Desktop VM package'' |
|||
See this [[Microsoft Virtual PC|wiki page]] |
|||
=== CPCE === |
=== CPCE === |
||
CPCE is an Amstrad emulator, see the [http://cpce.emuunlim.com/ official CPCE website] for installation and usage instructions. |
|||
''Amstrad Emulator'' |
|||
See the [http://cpce.emuunlim.com/ official CPCE website] for installation and usage instructions. |
|||
=== PearPC === |
=== PearPC === |
||
PearPC is a [[PowerPC Overview|PowerPC]] emulator, an [http://pearpcguide.tripod.com in-depth tutorial] on how to setup the PearPC emulator with a PowerPC Mac OS install is available. (Pop-up blocker installed recommended!) |
|||
''PowerPC Emulator'' |
|||
More information on the PowerPC architecture head to this [http://wiki.osdev.org/PowerPC_Overview wiki entry] |
|||
[http://pearpcguide.tripod.com/ This link] contains an in-depth tutorial on how to setup the PearPC emulator with a PowerPC Mac OS install. We recommend having a pop-up blocker installed! |
|||
=== YAPE === |
=== YAPE === |
||
[http://yape.homeserver.hu YAPE] is a Commodore emulator. |
|||
== External Links == |
|||
''Commodore Emulator'' |
|||
* [http://www.emulators.com/ A website filled with emulators from many platforms] |
|||
* [http://gablog.eu/online/node/39 Quick Qemu Tutorial] |
|||
To see this emulator's project home page click on [http://yape.homeserver.hu/ this link]. |
|||
* [http://qemu-forum.ipi.fi Qemu Forum] |
|||
* [http://www.thefreecountry.com/emulators/arm.shtml A good list of ARM emulators] |
|||
== Links == |
|||
http://www.emulators.com/ - ''A website filled with emulators from many platforms'' |
|||
http://gablog.eu/online/node/39 - ''Quick Qemu Tutorial'' |
|||
http://qemu-forum.ipi.fi/ - ''Qemu Forum'' |
|||
http://www.thefreecountry.com/emulators/arm.shtml - ''A good list of ARM emulators'' |
Revision as of 21:47, 9 July 2009
An emulator is a device, computer program, or system that accepts the same inputs and produces the same outputs of another device, computer program or system.
Emulators are available for everything from running Windows on the Mac OS to running Game Boy games on PS3s. In the context of kernel development however we want a generic emulator which emulates the environment you would like your kernel to run in.
Emulation Packages
QEMU
QEMU is operated from the command line with the parameters used to specify the hardware environment of the system and also to link to the image which holds your kernel binary. It's available for Linux and Windows (the later as 'kqemu').
A simple command to run a floppy image would be:
qemu -fda floppy.img
You can use Ctrl+Alt to release the cursor (while captured) and can use Ctrl+Alt+F to toggle fullscreen. There are further parameters available for use:
heading | heading |
---|---|
HDD Image/Device path | -hda path
|
CD Image/Device path | -cdrom path
|
Boot Device x(if not default) | -boot x
|
(x)MB RAM | -m x
|
Localized Time | -localtime
|
USB Support | -usb
|
Start in Full-Screen | -full-screen
|
Bochs
Bochs supports a variety of features, all of which can be carefully customized with command line switches or a settings file. It can emulate a PC with VBE, NE2000, and Sound Blaster 16. It also has a built-in debugger which can be useful for testing and debugging your kernel. Bochs can emulate CPUs with support for SMP and x86-64. However, Bochs itself does not use threading and the emulation is not virtualized, so you can expect slow and CPU-intensive emulation. Bochs is available for Linux and Windows and is free and open source.
Sun VirtualBox
Virtual Box is a desktop VM package.
Microsoft Virtual PC
Microsoft Virtual PC is a desktop VM package.
CPCE
CPCE is an Amstrad emulator, see the official CPCE website for installation and usage instructions.
PearPC
PearPC is a PowerPC emulator, an in-depth tutorial on how to setup the PearPC emulator with a PowerPC Mac OS install is available. (Pop-up blocker installed recommended!)
YAPE
YAPE is a Commodore emulator.