[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] news on the OS X cocoa port
From: |
Mike Kronenberg |
Subject: |
Re: [Qemu-devel] news on the OS X cocoa port |
Date: |
Thu, 04 Aug 2005 09:36:41 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.6 (Macintosh/20050716) |
Mike Kronenberg wrote:
I'm thinking of a new way to store the images and saved VMs, too.
Maybe we could make something like vpc: A package with the config,
disk-images and saved VMs, located in ~/Documents/QEMU PCs/
QEMU guest PC Format, a Proposal
This should serve as a base for the discussion on a Structure/Format to
save preconfigured/saved guest PCs.
Structure:
all the Files needed by the VM are stored in a folder. The folder has an
ending of .qvm (QEMU Virtual Machine).
Mandatory Files:
- Harddiskimages
Configuration File (configuration.plist)
Other Files:
FDImages
CDImages
Thumbnail (thumbnail.png)
VM State File (saved.vm)
Host dependent Files:
PkgInfo (OS X)
info.plist (OS X)
Format:
As a general format, I propose XML. To be more exact: PropertyLists. You
find the definition for PropertyLists at:
http://www.apple.com/DTDs/PropertyList-1.0.dtd
Why XML?
We live in a small world, the QEMU community started out from France and
has now it's followers all over the world. The developers and (hard)core
users may stick to ASCII characters. But this is not the case for a
broader community. Localized Operating Systems and less
interested/educated users will fast break compatibility of simple
text/ini files. (There might even arise difficulties with
ASCII/MacRoman) So XML is the choice in the long run.
Why PropertyList?
Because they are easy to handle. Datatypes/Values and Variable Names are
stored as pairs:
<dict>
<key>author</key>
<string>Mike Kronenberg</string>
<key>date</key>
<date>2005-07-27T22:00:00Z</date>
</dict>
What should be covered by “configuration.plist”?
Version
About
Arguments
PC Data
Temporary
There is no particular Order, Data is accessed by key.
1.Version
Simple String to define the version of this configurations.plist file.
Format: 1.0.0
2.About
Author name, Date, Copyright/left. Place for further Descriptions.
3.Arguments
To have the highest compatibility, we should stick to a simple
option/value Scheme here, with boolean YES/NO for arguments with no
value, like -enable-audio. There should be no host dependent switches here.
4.PC Data
PC Name, PC Description, PC Status, emulated CPU and other guest PC
related “Meta” Information.
5.Temporary
“Nice to have” data, host dependent switches – shortly everything that
is NOT needed to guarantee the operation of QEMU.
Sample configuration.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>About</key>
<dict>
<key>author</key>
<string>Mike Kronenberg</string>
<key>copyright</key>
<string>© 2005, Mike Kronenberg</string>
<key>date</key>
<date>2005-07-27T22:00:00Z</date>
<key>description</key>
<string>This is a sample PC configuration.</string>
</dict>
<key>Arguments</key>
<dict>
<key>-boot</key>
<string>c</string>
<key>-cdrom</key>
<string>/dev/cdrom</string>
<key>-hda</key>
<string>Harddisk1.raw</string>
</dict>
<key>PC Data</key>
<dict>
<key>name</key>
<string>My new PC</string>
<key>state</key>
<string>saved</string>
<key>system</key>
<string>qemu-system-x86_64</string>
</dict>
<key>Temporary</key>
<dict/>
<key>Version</key>
<string>0.1.0</string>
</dict>
</plist>
Waiting for Your Suggestions...
Mike
- Re: [Qemu-devel] news on the OS X cocoa port,
Mike Kronenberg <=