Discrepancies of the definitions and conventions below will may be work, but are not supported!
Definitions & Conventions
qemu-init is designed with the following basics (requirements):
- All files which belongs to one dedicated virtual machine have to be in the same folder. It is possible to have multiple virtual machine in the same folder.
- The unique identifier <name> have to be unique for ALL registered machines. Recommendation: use alphabetical characters only!
- Using a bridged network - thus a bridge device must exists (default: br0).
For the virtual machines itself qemu-init is designed
- to run vm's in daemon mode (headless) with vnc enabled by default
- to access the monitor via unix sockets
Dependencies
qemu-init is designed to have less dependencies as possible. Most of the dependencies are trivial and should be fulfilled by default, but there may be exceptions:
- iptools: the
 ip 
command is required for bridged networking - socat: connect to the qemu monitor via unix sockets (default)
- bash1): must be installed and executable through the path environment variable
- sudo: required for dedicated privilege escalation
- a working qemu installation (include required kernel modules)
As the last three should be trivial, the iptools package is may be a challenging dependency (especially at *BSD). However, for advanced functionality it is required to have available:
Terms
Through the documentation we use some terms:
- host is the machine where the virtual machines are running (hosted).
- guest corresponds to the virtual machines which are running at host
Directory names
We use special terms for directory names, because the real locations differs depending on the used layout at build time. The term vardir (or VARDIR) refers to the var directory (for “variable” data). On Linux systems this is usually “/var”, perhaps with a suffix for a sub directory like “/var/qemud”. Similar terms are etcdir, libdir, rundir and others (see directories).
User and Group names
qemu-init requires one dedicated user and group (each). As this is configurable at build time we refer to it with the terms SYSUSR and SYSGRP.
root
The terms root user or root privileges refers to the user with uid 0 always.
Unique Identifier
Each virtual machine MUST have a unique identifier. The term <name> (with angle brackets) will be used as synonym of the unique identifier. The <name> is used to define which files belongs to one dedicated virtual machine. The <name> MUST
- contain letters and numbers only - it MUST NOT contain a dot or minus sign!
- NOT be longer than 40 chars
- NOT end with the number '0'
- be lower case unique for all registered guests
Recommended “best practice”: Use “<name>” as hostname (short, w/o domain) of the guest and as well as parameter of the qemu option  -name 
(default)!
File names
These abbreviations are used for some files further (see here):
- rc-file refers to the file
 <name>-qemud.rc 
, default configuration file (required). - cfg-file refers to the file
 <name>-qemu.cfg 
, the file for extended qemu user configuration (optional).
Attention!   qemu-init is the project name, qemud-init is a library!