Documentation/GettingStartedDevelopers: Difference between revisions
No edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
** Tracing framework is described at http://wiki.qemu.org/Features/Tracing | ** Tracing framework is described at http://wiki.qemu.org/Features/Tracing | ||
** Some of the internal functionality (and a bit of the human monitoring / control interface) is implemented in QAPI and QMP (or will be migrated to it): http://wiki.qemu.org/Features/QAPI and http://wiki.qemu.org/QMP | ** Some of the internal functionality (and a bit of the human monitoring / control interface) is implemented in QAPI and QMP (or will be migrated to it): http://wiki.qemu.org/Features/QAPI and http://wiki.qemu.org/QMP | ||
== Bugs == | == Bugs == | ||
* Read the Bug Tracker. | * Read the Bug Tracker. | ||
* Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches. | * Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches. | ||
== Getting Help == | |||
* IRC might be useful. The #qemu channel is on irc://irc.oftc.net (note: no longer on Freenode). |
Revision as of 03:15, 5 April 2011
You want to contribute code, documentation or patches to QEMU?
Then...
- ... you should probably first join the mailing list.
Wiki
- Create yourselves an account in the QEMU wiki.
- Start with reading the QEMU wiki.
- Contribute to the QEMU wiki by adding new topics or improving and expanding existing topics. It should help you and others in the future.
Documentation
- Continue with reading the existing documentation.
- Be prepared that all written documentation might be invalid - either because it is too old or because it was never correct. And it is never complete...
- If you find bugs in the documentation then fix them and send patches to the mailing list. See Contribute/ReportABug.
Code
- Get the code. If you want to be a developer, you almost certainly want to be building from git (see http://wiki.qemu.org/Download#Latest)
- Run the QEMU system and user mode emulation for different targets (x86, mips, powerpc, ...). Images can be obtained from http://wiki.qemu.org/Download#QEMU_disk_images
- QEMU has a lot of different parts (hardware device emulation, target emulation, code generation for different hosts, configuration, ...).
- Choose an interesting part and concentrate on it for some time and read the code.
- If you find bugs in the code, then fix them and send a patch to the mailing list (http://wiki.qemu.org/Contribute/SubmitAPatch)
- Patches need to go the mailing list, and possibly also to a specific maintainer (read the MAINTAINERS text file in the top of the source code tree).
- Read the HACKING and CODING_STYLE text files (in the top of the source code tree) before writing the patch
- Run your patch through the "checkstyle.pl" script (found in the directory imaginatively called "scripts")
Getting to know the code
- QEMU does not have a high level design description document - only the source code tells the full story.
- There are some useful (although usually dated) descriptions on various parts of the wiki, and sometimes in mailing list descriptions:
- Tracing framework is described at http://wiki.qemu.org/Features/Tracing
- Some of the internal functionality (and a bit of the human monitoring / control interface) is implemented in QAPI and QMP (or will be migrated to it): http://wiki.qemu.org/Features/QAPI and http://wiki.qemu.org/QMP
Bugs
- Read the Bug Tracker.
- Check for topics in it for which you feel capable of handling and try to fix the issue. Send patches.
Getting Help
- IRC might be useful. The #qemu channel is on irc://irc.oftc.net (note: no longer on Freenode).