qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Mike Kronenberg <mike.kronenberg@kberg.ch>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] news on the OS X cocoa port
Date: Thu, 04 Aug 2005 09:36:41 +0200	[thread overview]
Message-ID: <42F1C589.40608@kberg.ch> (raw)
In-Reply-To: <42DF9604.2090503@kberg.ch>

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

  parent reply	other threads:[~2005-08-04  7:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-21  9:44 [Qemu-devel] news on the OS X cocoa port Mike Kronenberg
2005-07-21 10:12 ` Hetz Ben Hamo
2005-07-21 12:33   ` Mike Kronenberg
2005-07-21 13:46     ` Hetz Ben Hamo
2005-07-21 17:33       ` Stealth Dave
2005-07-21 18:21         ` Natalia Portillo
2005-07-22  9:58       ` Pierre d'Herbemont
2005-07-22 11:28         ` Mike Kronenberg
2005-07-21 14:00     ` René Korthaus
2005-07-21 15:20       ` Jim C. Brown
2005-07-22  7:51         ` Mike Kronenberg
2005-07-22  8:44           ` René Korthaus
2005-07-22  9:42             ` Mike Kronenberg
2005-08-04  7:36     ` Mike Kronenberg [this message]
2005-08-04 18:39       ` Natalia Portillo
2005-08-05 11:45         ` Mike Kronenberg
2005-08-14 19:18       ` Mike Kronenberg
  -- strict thread matches above, loose matches on Subject: below --
2005-07-22  2:05 Joshua Root
2005-07-22  7:28 ` Mike Kronenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42F1C589.40608@kberg.ch \
    --to=mike.kronenberg@kberg.ch \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).