ELBE XML Reference
RootFileSystem type: rfs:RootFileSystemType
describes one elbe project. An elbe project contains the creation of a build environment and the definition of a elbe target rootfilesystem.
TYPE: RootFileSystemType
includes all subelements to define the elbe project
Example
<RootFileSystemType>
<initvm> rfs:initvm </initvm>
<project> rfs:project </project>
<check-image-list> rfs:check-image-list </check-image-list>
<target> rfs:target </target>
<archive> base64Binary </archive>
<debootstrappkgs> rfs:fullpkg-list </debootstrappkgs>
<initvmpkgs> rfs:fullpkg-list </initvmpkgs>
<initvm_sources_list> rfs:string </initvm_sources_list>
<initvm_apt_prefs> rfs:string </initvm_apt_prefs>
<fullpkgs> rfs:fullpkg-list </fullpkgs>
<sources_list> rfs:string </sources_list>
<apt_prefs> rfs:string </apt_prefs>
<elbe_version> rfs:string </elbe_version>
<src-cdrom> rfs:src-cdrom </src-cdrom>
</RootFileSystemType>
Elements description
[attr] created dateTime :: timestamp of creation of the xml file
[attr] revision <<revisionNr,rfs:revisionNr>> :: revision of the xml file (needs to match revision of the schema)
initvm <<initvm,rfs:initvm>> *optional* :: Configurations that are used for creating the initvm e.g. the definition of the used debian mirrors, suite and buildtype
project <<project,rfs:project>> *optional* :: Configurations that are used for creating the buildenvironment and the target rootfilesystem. e.g. the definition of the used debian mirrors.
check-image-list <<check-image-list,rfs:check-image-list>> *optional* :: Sequence of image to check for emulation.
target <<target,rfs:target>> *optional* :: Configurations that are used to create the target rootfilesystem
archive base64Binary *optional* :: tar.bz2 file that contains configuration files for the target rootfilesystem. To alter this node use ‘elbe chg_archive’ and to get the content of this node ‘elbe get_archive’.
debootstrappkgs <<fullpkg-list,rfs:fullpkg-list>> *optional* :: List of packages installed right after debootstrap
initvmpkgs <<fullpkg-list,rfs:fullpkg-list>> *optional* :: List of packages installed right after debootstrap
initvm_sources_list <<string,rfs:string>> *optional* :: apt sources list.
initvm_apt_prefs <<string,rfs:string>> *optional* :: apt preferences list
fullpkgs <<fullpkg-list,rfs:fullpkg-list>> *optional* :: List of packages with their versions installed on the RFS
sources_list <<string,rfs:string>> *optional* :: apt sources list.
apt_prefs <<string,rfs:string>> *optional* :: apt preferences list
elbe_version <<string,rfs:string>> *optional* :: Elbe Version that was used in the last build of this file.
src-cdrom <<src-cdrom,rfs:src-cdrom>> *optional* :: Configurations of the source CDROM
SIMPLE TYPE: revisionNr
is used to decide if your elbe version is compatible with the given xml file
Base Type
integer
Restrictions
minInclusive |
6 |
maxInclusive |
6 |
TYPE: binary-url
e.g. “http://myhost/debian /” or “http://debian.org/debian main”
Example
<binary-url>
</binary-url>
Elements description
[attr] pin string :: Pin-Priority of packages from this source.
[attr] package string :: Packages that should be pinned.
TYPE: url
links to one additional debian mirror
Example
<url>
<binary> rfs:binary-url </binary>
<source> string </source>
<raw-key> rfs:string </raw-key>
<options> rfs:mirror-options </options>
</url>
Elements description
binary <<binary-url,rfs:binary-url>> *optional* :: e.g. “http://myhost/debian /” or “http://debian.org/debian main”
source string *optional* :: e.g. “http://myhost/sources /” or “http://debian.org/debian main”
raw-key <<string,rfs:string>> *optional* :: Raw Public Key used to sign this Repository
options <<mirror-options,rfs:mirror-options>> *optional* :: List of options for this mirror
TYPE: url-list
links to additional debian mirrors
Example
<url-list>
<url> rfs:url </url>
</url-list>
Elements description
url <<url,rfs:url>> *optional* :: describes an additional debian mirror
TYPE: mirror
specify main and additional debian mirrors
Example
<mirror>
<options> rfs:mirror-options </options>
<primary_host> rfs:string </primary_host>
<primary_path> rfs:string </primary_path>
<primary_proto> rfs:string </primary_proto>
<primary_proxy> rfs:string </primary_proxy>
<cdrom> rfs:string </cdrom>
<host> rfs:string </host>
<url-list> rfs:url-list </url-list>
</mirror>
Elements description
options <<mirror-options,rfs:mirror-options>> *optional* :: Options for the primary mirror.
primary_host <<string,rfs:string>> *optional* :: IP address or hostname of the primary debian mirror e.g. “debian.org” without a protocol or any slash
primary_path <<string,rfs:string>> *optional* :: base path to the debian mirror on the given host e.g. “/debian”
primary_proto <<string,rfs:string>> *optional* :: protocol to access the primary debian mirror e.g. “http” or “ftp”
primary_proxy <<string,rfs:string>> *optional* :: proxy to access the debian mirror e.g. “http://me:mypass@myproxy:8080”
cdrom <<string,rfs:string>> *optional* :: iso image of a cdrom/dvd with debian packages.
host <<string,rfs:string>> *optional* :: Url of the host mirror.
url-list <<url-list,rfs:url-list>> *optional* :: additional debian repositories, e.g. for own debian packages
TYPE: mirror-options
List of options for a mirror
Example
<mirror-options>
<option> rfs:string </option>
</mirror-options>
Elements description
option <<string,rfs:string>> *optional* :: e.g. trusted=yes or check-valid-until=no
TYPE: initvm
describes settings that apply to the creation of the initvm
Example
<initvm>
<buildtype> rfs:string </buildtype>
<mirror> rfs:mirror </mirror>
<noauth> rfs:string </noauth>
<preference> rfs:preference </preference>
<suite> rfs:suite-initvm </suite>
<pkg-list> rfs:pkg-list </pkg-list>
<preseed> rfs:preseed </preseed>
<size> rfs:string </size>
<mem> rfs:memory </mem>
<swap-size> rfs:memory </swap-size>
<max-cpus> integer </max-cpus>
<img> rfs:string </img>
<portforwarding> rfs:portforwarding </portforwarding>
<finetuning> rfs:initvm-finetuning </finetuning>
</initvm>
Elements description
buildtype <<string,rfs:string>> *optional* :: Default buildtype like armel, ppc, and in the future armel-virtio
mirror <<mirror,rfs:mirror>> :: used debian mirrors
noauth <<string,rfs:string>> *optional* :: allow installation of unsigned debian packages
preference <<preference,rfs:preference>> *optional* :: used for pinning of all packages TODO: example?
suite <<suite-initvm,rfs:suite-initvm>> :: name of the debian suite that should be used to generate the initvm. E.g. “buster”, “bullseye”, “bookworm”, “trixie”, “sid”, …
pkg-list <<pkg-list,rfs:pkg-list>> *optional* :: additional packages that are installed into the initvm.
preseed <<preseed,rfs:preseed>> *optional* :: Custom preseeding Values for apt
size <<string,rfs:string>> *optional* :: size of the virtual harddisk used to run the build environment
mem <<memory,rfs:memory>> *optional* :: amount of memory mapped into the virtual build environment
swap-size <<memory,rfs:memory>> *optional* :: size of the virtual swap partition used in the build environment. this size is subtracted from the size of the virtual harddisk. Supports unit prefixes like GiB, GB, and G.
max-cpus integer *optional* :: The number of cpus used by the initvm is clamped to this value. This shall protect the initvm from running out of memory, when running on machines with large numbers of cores. When increasing this value, be sure to also increase mem and maybe add some swap.
img <<string,rfs:string>> *optional* :: hd image backend format: raw, qcow, vmdk, …
portforwarding <<portforwarding,rfs:portforwarding>> *optional* :: network ports of the buildenvironment that are forwarded to the host machine
finetuning <<initvm-finetuning,rfs:initvm-finetuning>> *optional* :: Lists of commands to execute or files to create on the initvm at the very end after the debian-installer.
TYPE: project
describes elbe project settings that apply to the creation of the target rootfilesystem and include the definition of the build environment
Example
<project>
<name> rfs:string </name>
<version> rfs:string </version>
<description> rfs:string </description>
<buildtype> rfs:string </buildtype>
<mirror> rfs:mirror </mirror>
<noauth> rfs:string </noauth>
<preference> rfs:preference </preference>
<raw-preference> rfs:raw-preference </raw-preference>
<suite> rfs:string </suite>
<buildimage> rfs:buildimage </buildimage>
<preseed> rfs:preseed </preseed>
</project>
Elements description
name <<string,rfs:string>> *optional* :: name of the project this rootfilesystem is associated with
version <<string,rfs:string>> *optional* :: version of the rootfilesystem definition
description <<string,rfs:string>> *optional* :: human readable description of the project
buildtype <<string,rfs:string>> *optional* :: Default buildtype like armel, ppc, and in the future armel-virtio
mirror <<mirror,rfs:mirror>> :: used debian mirrors
noauth <<string,rfs:string>> *optional* :: allow installation of unsigned debian packages
preference <<preference,rfs:preference>> *optional* :: used for pinning of all packages TODO: example?
raw-preference <<raw-preference,rfs:raw-preference>> *optional* :: gets dedented and striped and is then written to /etc/apt/preferences TODO: example?
suite <<string,rfs:string>> :: name of the debian suite that should be used to generate the buildenvironment and the rootfilesystem. E.g. “bullseye”, “bookworm”, “trixie”, “sid”, …
buildimage <<buildimage,rfs:buildimage>> *optional* :: reference to the buildimage which is used to generate the rootfilesystem
preseed <<preseed,rfs:preseed>> *optional* :: Custom preseeding Values for apt
TYPE: check-image-list
Describes a sequence of check to be done on images.
Example
<check-image-list>
<check> rfs:check-img </check>
<check-script> rfs:check-script </check-script>
</check-image-list>
Elements description
check <<check-img,rfs:check-img>> :: FIXME - I have no documentation
check-script <<check-script,rfs:check-script>> :: FIXME - I have no documentation
TYPE: interpreter-firmware
Describes aspects of a firmware binary needed to run an image. A matching firmware image will be looked for in QEMU’s database of installed firmware binaries.
Example
<interpreter-firmware>
</interpreter-firmware>
Elements description
[attr] architecture string :: FIXME - I have no documentation
[attr] machine string :: FIXME - I have no documentation
[attr] interface_types string :: FIXME - I have no documentation
[attr] features string :: FIXME - I have no documentation
TYPE: check-img
Name of the image in the build to emulate. Image that were .tgz are also accepted.
Example
<check-img>
<img> rfs:string </img>
<interpreter> rfs:string </interpreter>
<interpreter-opts> rfs:string </interpreter-opts>
<interpreter-firmware> rfs:interpreter-firmware </interpreter-firmware>
<action> rfs:check-img-action </action>
</check-img>
Elements description
img <<string,rfs:string>> *mandatory:: Name of the image in the build to emulate. Image that were .tgz are also accepted.
interpreter <<string,rfs:string>> *mandatory:: Name of the interpreter to use for the emulation. e.g., qemu-system-x86_64 or qemu-system-ppc, etc.
interpreter-opts <<string,rfs:string>> *mandatory:: Options to pass to the interpreter. e.g., -enable-kvm or -drive format=raw,file=$ELBE_IMG or -hda $ELBE_IMG Word expansion is done before passing it to the interpreter. You can safely assume that the environment variable ELBE_IMG contains the absolute path to the target image to emulate.
interpreter-firmware <<interpreter-firmware,rfs:interpreter-firmware>> *optional* :: Firmware to start the interpreter with.
action <<check-img-action,rfs:check-img-action>> :: Action to be done on the target image to emulate.
TYPE: check-img-action
Action to perform on the images of a build.
Example
<check-img-action>
<login> rfs:string </login>
<serial> rfs:serial </serial>
</check-img-action>
Elements description
login <<string,rfs:string>> *optional* :: Try to login into root session and shutdown the machine. The element takes an (optional) plain-text password for root. Default password is “root”.
serial <<serial,rfs:serial>> *optional* :: Serial communication to do with the interpreter. This requires ‘-serial stdio’ for QEMU’s interpreters.
TYPE: serial
Describes a communication to do over a serial line. The communication is done sequentially as it.
Example
<serial>
</serial>
Elements description
GROUP : serial-action
Definition of possible action on serial communication.
expect type: rfs:string
A regular expression to expect to receive on the line.
sendline type: rfs:string
Send a string terminated with a newline character on the line.
EOF type: rfs:string
Expect the connecion to be closed. This should only be the last item in the sequence.
TYPE: check-script
Validate the build results by running a script. The script will be passed the build directory as argument. Exit code 0 means success.
Example
<check-script>
</check-script>
Elements description
[attr] location string :: Read the script from a location on disk.
SIMPLE TYPE: suite-initvm
FIXME - I have no documentation
Base Type
string
Restrictions
enumeration |
sid |
enumeration |
bullseye |
enumeration |
bookworm |
enumeration |
trixie |
TYPE: preference
describes a global pinning of debian packages
Example
<preference>
</preference>
Elements description
[attr] pin string :: TODO: format?
TYPE: raw-preference
content is directly written to /etc/apt/preferences.
Example
<raw-preference>
</raw-preference>
Elements description
TYPE: buildimage
definition of the build environment
Example
<buildimage>
<arch> rfs:string </arch>
<size> rfs:string </size>
<interpreter> rfs:string </interpreter>
<interpreterversion> rfs:string </interpreterversion>
<kinitrd> rfs:string </kinitrd>
<console> rfs:string </console>
<machine> rfs:string </machine>
<triplet> rfs:string </triplet>
<NIC> rfs:NIC </NIC>
<portforwarding> rfs:portforwarding </portforwarding>
<pkgversionlist> rfs:string </pkgversionlist>
<pkg-list> rfs:pkg-list </pkg-list>
</buildimage>
Elements description
arch <<string,rfs:string>> *optional* :: architecture of the target system. e.g. “amd64”, “armel”, “ppc”, ..
size <<string,rfs:string>> *optional* :: size of the virtual harddisk used to run the build environment
interpreter <<string,rfs:string>> *optional* :: virtual machine interpreter, e.g. “kvm”, “qemu-system-arm”, …
interpreterversion <<string,rfs:string>> *optional* :: virtual machine interpreter version, no longer in use
kinitrd <<string,rfs:string>> *optional* :: pkg name of the initrd/kernel package. (obsolete and ignored)
console <<string,rfs:string>> *optional* :: serial console of the virtual machine, e.g. “ttyAMA0,115200n1”
machine <<string,rfs:string>> *optional* :: virtual platform to host the build environment, e.g. “versatilepb”
triplet <<string,rfs:string>> *optional* :: The triplet that is used to generate the SDK environment.
NIC <<NIC,rfs:NIC>> *optional* :: network interface emulation
portforwarding <<portforwarding,rfs:portforwarding>> *optional* :: network ports of the buildenvironment that are forwarded to the host machine
pkgversionlist <<string,rfs:string>> *optional* :: create /etc/elbe_pkglist on the target RFS. It includes all packages that include files that are used in the target. The list also contains the versions of the used packages.
pkg-list <<pkg-list,rfs:pkg-list>> *optional* :: additional packages that are only installed into the build environment; not into the target root filesystem.
TYPE: memory
Helper around memory_restriction to allow XML base attribute
Example
<memory>
</memory>
Elements description
SIMPLE TYPE: memory_restriction
Memory can be specified using binary unit prefixes like MiB and GiB, or SI prefixes like GB,MB or simply G or M.
Base Type
string
Restrictions
pattern |
(\d+(k|M|G|kB|MB|GB|kiB|MiB|GiB)?) |
TYPE: NIC
describes a virtual network interface
Example
<NIC>
<model> rfs:string </model>
<MAC> rfs:string </MAC>
</NIC>
Elements description
model <<string,rfs:string>> *optional* :: hardware emulation of the network interface; e.g. “e1000”
MAC <<string,rfs:string>> *optional* :: mac address of the virtual network interface
TYPE: fw_proto
Helper around fw_proto_restriction to allow XML base attribute
Example
<fw_proto>
</fw_proto>
Elements description
SIMPLE TYPE: fw_proto_restriction
only tcp and udp are allowed protocols for forwarding
Base Type
string
Restrictions
enumeration |
tcp |
enumeration |
udp |
TYPE: forward
forward a network port from the build environment to the host machine
Example
<forward>
<proto> rfs:fw_proto </proto>
<buildenv> integer </buildenv>
<host> integer </host>
</forward>
Elements description
proto <<fw_proto,rfs:fw_proto>> *mandatory:: network protocol to forward either “udp” or “tcp”
buildenv integer *mandatory:: port on the buildenvironment, e.g. “22” for ssh
host integer *mandatory:: port on the host machine, e.g. “10022”
TYPE: portforwarding
forward network ports from the build environment to the host machine
Example
<portforwarding>
<forward> rfs:forward </forward>
</portforwarding>
Elements description
forward <<forward,rfs:forward>> *optional* :: describes a single port forward
TYPE: target
configuration of the target rootfilesystem
Example
<target>
<hostname> rfs:string </hostname>
<domain> rfs:string </domain>
<passwd_hashed> rfs:string </passwd_hashed>
<console> rfs:string </console>
<debootstrap> rfs:debootstrap </debootstrap>
<package> rfs:package </package>
<images> rfs:images </images>
<fstab> rfs:fstab </fstab>
<tighten> rfs:string </tighten>
<diet> rfs:string </diet>
<setsel> rfs:string </setsel>
<install-recommends> rfs:string </install-recommends>
<finetuning> rfs:finetuning </finetuning>
<project-finetuning> rfs:project-finetuning </project-finetuning>
<pbuilder> rfs:pbuilder </pbuilder>
<pkg-list> rfs:pkg-list </pkg-list>
<pkg-blacklist> rfs:blacklist </pkg-blacklist>
<hostsdk-pkg-list> rfs:pkg-list </hostsdk-pkg-list>
</target>
Elements description
hostname <<string,rfs:string>> *mandatory:: hostname of the system
domain <<string,rfs:string>> *optional* :: domainname of the network the target system is part of
passwd_hashed <<string,rfs:string>> *mandatory:: Hashed root password. The method must be supported by the target system. The default method since bullseye is yescrypt. elbe preprocess generates one from cleartext password with sha512crypt for compatibility reasons. You can generate a crypt hash via mkpasswd from whois package, e.g.: mkpasswd –method=sha512crypt –rounds=656000
console <<string,rfs:string>> *optional* :: serial console for getty
debootstrap <<debootstrap,rfs:debootstrap>> *optional* :: Bootstrap configuration
package <<package,rfs:package>> *optional* :: package rootfilesystem as a tarball, cpio or a squashfs image
images <<images,rfs:images>> *optional* :: generate (flashable) images of the rootfilesystem
fstab <<fstab,rfs:fstab>> *optional* :: specify which resources should be mounted
tighten <<string,rfs:string>> *optional* :: don’t install any dependencies; just the content of the given debian packages
diet <<string,rfs:string>> *optional* :: use reverse dependencies of the given debian packages to determine the rootfilesystem content; this is useful to get rid of dpkg/apt.
setsel <<string,rfs:string>> *optional* :: Elbe uses +dpkg –set-selections+ to install packages in the target. The rootfs still needs dpkg, and all dependencies need to be specified in the pkg-list. The target will contain all postinst generated scripts.
install-recommends <<string,rfs:string>> *optional* :: Activate the installation of recommended Packages.
finetuning <<finetuning,rfs:finetuning>> *optional* :: apply the given commands to the target rootfilesystem
project-finetuning <<project-finetuning,rfs:project-finetuning>> *optional* :: apply the given commands to the project directory, after images have been generated. Currently supported use-cases are: * extract partition from image and mark as build artifact. * mark files as build artifacts * mv files from target directory to project directory
pbuilder <<pbuilder,rfs:pbuilder>> *optional* :: build and optionaly install debianized sources
pkg-list <<pkg-list,rfs:pkg-list>> *optional* :: install the given packages into the rootfilesystem
pkg-blacklist <<blacklist,rfs:blacklist>> *optional* :: avoid installation of packages into sysroot or target
hostsdk-pkg-list <<pkg-list,rfs:pkg-list>> *optional* :: install the given packages into the hostsdk. (ignores pin and versions, with the current implementation)
TYPE: debootstrap_variant
Helper around debootstrap_variant_restriction to allow XML base attribute
Example
<debootstrap_variant>
</debootstrap_variant>
Elements description
SIMPLE TYPE: debootstrap_variant_restriction
Restrict the possible debootstrap variants
Base Type
string
Restrictions
enumeration |
minbase |
enumeration |
buildd |
enumeration |
fakechroot |
TYPE: debootstrap
Container for debootstrap configuration.
Example
<debootstrap>
<variant> rfs:debootstrap_variant </variant>
<include> string </include>
<exclude> string </exclude>
</debootstrap>
Elements description
variant <<debootstrap_variant,rfs:debootstrap_variant>> *optional* :: Name of the bootstrap script variant to use. The following variants are supported: * minbase: required packages and apt. * buildd: build-essential packages. * fakechroot: installs the packages without root privileges.
include string *optional* :: Comma separated list of packages which will be added to download and extract lists.
exclude string *optional* :: Comma separated list of packages which will be removed from download and extract lists. WARNING: you can and probably will exclude essential packages, be careful using this option.
TYPE: ubi_type
Helper around ubi_type_restriction to allow XML base attribute
Example
<ubi_type>
</ubi_type>
Elements description
SIMPLE TYPE: ubi_type_restriction
a ubi volume can be either static or dynamic
Base Type
string
Restrictions
enumeration |
static |
enumeration |
dynamic |
TYPE: ubi
describes a ubi volume
Example
<ubi>
<type> rfs:ubi_type </type>
<label> rfs:string </label>
<id> integer </id>
<size> rfs:part_size </size>
<binary> rfs:string </binary>
<empty> rfs:string </empty>
</ubi>
Elements description
type <<ubi_type,rfs:ubi_type>> *mandatory:: type of the ubi volume; either “static” or “dynamic”
label <<string,rfs:string>> *mandatory:: human readable name of the ubi volume (also used for mount by label)
id integer *mandatory:: id of the ubi volume
size <<part_size,rfs:part_size>> *mandatory:: size of the ubi volume
binary <<string,rfs:string>> *optional* :: path and filename of a binary image which will be used as a source for this volume; this can be used for example to store the linux kernel in a static ubi volume
empty <<string,rfs:string>> *optional* :: if binary is used or a label was given that is also available in the fstab this tag can be used to force the creation of an empty ubi volume.
TYPE: ubivg
container for all ubi volumes of a mtd device
Example
<ubivg>
<label> rfs:string </label>
<miniosize> rfs:string </miniosize>
<maxlogicaleraseblockcount> rfs:string </maxlogicaleraseblockcount>
<logicaleraseblocksize> rfs:string </logicaleraseblocksize>
<physicaleraseblocksize> rfs:string </physicaleraseblocksize>
<subpagesize> rfs:string </subpagesize>
<ubi> rfs:ubi </ubi>
</ubivg>
Elements description
label <<string,rfs:string>> *mandatory:: human readable name; used to generate filename for the flashable image file
miniosize <<string,rfs:string>> *mandatory:: flash parameter minimal i/o size
maxlogicaleraseblockcount <<string,rfs:string>> *mandatory:: flash parameter maximum logical erase block count
logicaleraseblocksize <<string,rfs:string>> *mandatory:: flash parameter logical erase block size
physicaleraseblocksize <<string,rfs:string>> *mandatory:: flash parameter physical erase block size
subpagesize <<string,rfs:string>> *optional* :: flash parameter subpagesize
ubi <<ubi,rfs:ubi>> :: list of ubi volumes
TYPE: mtd
describes a mtd device
Example
<mtd>
<name> rfs:string </name>
<nr> integer </nr>
<size> rfs:part_size </size>
<binary> rfs:string </binary>
<ubivg> rfs:ubivg </ubivg>
</mtd>
Elements description
name <<string,rfs:string>> *mandatory:: human readable name of the mtd device
nr integer *mandatory:: number of the mtd device
size <<part_size,rfs:part_size>> *mandatory:: size of the mtd device
binary <<string,rfs:string>> *optional* :: path and filename of a binary image which will be used as a source for this mtd device; this can be used for example to store the bootloader in the beginning of the flash (mtd0)
ubivg <<ubivg,rfs:ubivg>> *optional* :: if the mtd will be used to store ubi volumes, this container is used to define them
TYPE: gpthd
describes a harddisk
Example
<gpthd>
<name> rfs:string </name>
<size> rfs:part_size </size>
<first_partition_sector> rfs:part_size </first_partition_sector>
<grub-install> rfs:string </grub-install>
<binary> rfs:binaryblob </binary>
<partition> rfs:partition </partition>
</gpthd>
Elements description
name <<string,rfs:string>> *mandatory:: human readable name of the harddisk, this will be used as name for the image file
size <<part_size,rfs:part_size>> *mandatory:: size of the harddisk
first_partition_sector <<part_size,rfs:part_size>> *optional* :: Starting sector for the first partition
grub-install <<string,rfs:string>> *optional* :: Installs grub on this harddisk. The text content will be used as additional command line arguments to Elbe’s grub-install call.
binary <<binaryblob,rfs:binaryblob>> *optional* :: binary blob that is dd’ed to the specified offset
partition <<partition,rfs:partition>> *optional* :: Partition Entries of this harddisk
TYPE: binaryblob
a binary that is dd’ed to the specified offset. If path starts with a /, the binary blob will be interpreted as relative to target root. Otherwise, the path will be interpreted as being relative to the corresponding elbe project.
Example
<binaryblob>
</binaryblob>
Elements description
[attr] offset int :: byteoffset from the beginning of the image
[attr] blocksize int :: blocksize in bytes for the bytewise copy (default 1)
TYPE: msdoshd
describes a harddisk
Example
<msdoshd>
<name> rfs:string </name>
<size> rfs:part_size </size>
<first_partition_sector> rfs:part_size </first_partition_sector>
<grub-install> rfs:string </grub-install>
<binary> rfs:binaryblob </binary>
<partition> rfs:partition </partition>
<extended> rfs:extended </extended>
</msdoshd>
Elements description
name <<string,rfs:string>> *mandatory:: human readable name of the harddisk, this will be used as name for the image file
size <<part_size,rfs:part_size>> *mandatory:: size of the harddisk
first_partition_sector <<part_size,rfs:part_size>> *optional* :: Starting sector for the first partition
grub-install <<string,rfs:string>> *optional* :: Installs grub on this harddisk. The text content will be used as additional command line arguments to Elbe’s grub-install call.
binary <<binaryblob,rfs:binaryblob>> *optional* :: binary blob that is dd’ed to the specified offset
partition <<partition,rfs:partition>> *optional* :: Partition Entries of this harddisk (max: 4)
extended <<extended,rfs:extended>> *optional* :: Extended Partition Entries of this harddisk (max: 1)
TYPE: images
container for all storage devices of the target
Example
<images>
<mtd> rfs:mtd </mtd>
<msdoshd> rfs:msdoshd </msdoshd>
<gpthd> rfs:gpthd </gpthd>
<passno> rfs:string </passno>
</images>
Elements description
mtd <<mtd,rfs:mtd>> *optional* :: container for all mtd devices of the target
msdoshd <<msdoshd,rfs:msdoshd>> *optional* :: container for Harddisks with msdos Partitionlabel.
gpthd <<gpthd,rfs:gpthd>> *optional* :: container for Harddisks with GPT Partitionlabel
passno <<string,rfs:string>> *optional* :: passno order for fsck
TYPE: fs
description of a linux filesystem
Example
<fs>
<type> rfs:fs_type </type>
<mkfs> rfs:string </mkfs>
<fs-finetuning> rfs:fs-finetuning </fs-finetuning>
<passno> rfs:string </passno>
</fs>
Elements description
type <<fs_type,rfs:fs_type>> *mandatory:: filesystemtype, e.g. “ext3”, “ubifs”, …
mkfs <<string,rfs:string>> *optional* :: options passed to the mkfs command
fs-finetuning <<fs-finetuning,rfs:fs-finetuning>> *optional* :: apply the given commands to the filesystem
passno <<string,rfs:string>> *optional* :: passno order for fsck
TYPE: bylabel
mount storage by the label of the partition or volume
Example
<bylabel>
<label> rfs:string </label>
<mountpoint> rfs:string </mountpoint>
<fs> rfs:fs </fs>
<options> rfs:string </options>
<nofstab> rfs:empty </nofstab>
</bylabel>
Elements description
label <<string,rfs:string>> *mandatory:: label of the partition/volume to mount
mountpoint <<string,rfs:string>> *mandatory:: path in the rootfilesystem where the partition/volume is mounted
fs <<fs,rfs:fs>> *mandatory:: filesystem of the partition/volume to mount
options <<string,rfs:string>> *optional* :: options passed to the mount command
nofstab <<empty,rfs:empty>> *optional* :: This mountpoint shall not be inserted into fstab. Useful for redundant filesystems, where two entries with identical mountpoint would end up in the fstab.
TYPE: bydev
mount virtual filesystems or other storage devices device-node
Example
<bydev>
<source> rfs:string </source>
<mountpoint> rfs:string </mountpoint>
<fs> rfs:fs </fs>
<options> rfs:string </options>
</bydev>
Elements description
source <<string,rfs:string>> *mandatory:: either a device-node or “none” for virtual filesystems
mountpoint <<string,rfs:string>> *mandatory:: path in the rootfilesystem where the device or virtual filesystem is mounted
fs <<fs,rfs:fs>> *mandatory:: filesystem of the device or the virtual filesystem name
options <<string,rfs:string>> *optional* :: options passed to the mount command
TYPE: fstab
container for mounts
Example
<fstab>
<bylabel> rfs:bylabel </bylabel>
<bydev> rfs:bydev </bydev>
</fstab>
Elements description
bylabel <<bylabel,rfs:bylabel>> *optional* :: describes a mount by a volume or partition label
bydev <<bydev,rfs:bydev>> *optional* :: describes a mount based on a device node or a mount of a virtual filesystem like debugfs or tmpfs
TYPE: fs-finetuning
container for filesystem finetuning commands; these commands are executed directly after the filesystem was created.
Example
<fs-finetuning>
</fs-finetuning>
Elements description
GROUP : fs-action
definition of filesystem finetuning commands
device-command type: rfs:string
execute the defined command in /bin/sh. The command is being executed before the filesystem is mounted. The placeholder {device} is pointing to the device containing the filesystem.
path-command type: rfs:string
execute the defined command in /bin/sh. The command is being executed after the filesystem is mounted. The placeholder {path} is pointing to the path where the filesystem is mounted to.
TYPE: package
list of packages, each contains the hole rootfilesystem
Example
<package>
<tar> rfs:tar </tar>
<cpio> rfs:cpio </cpio>
<squashfs> rfs:squashfs </squashfs>
</package>
Elements description
tar <<tar,rfs:tar>> *optional* :: tar package of the rootfilesystem
cpio <<cpio,rfs:cpio>> *optional* :: cpio package of the rootfilesystem
squashfs <<squashfs,rfs:squashfs>> *optional* :: squashfs image of the rootfilesystem
TYPE: tar
describes a tar package
Example
<tar>
<name> rfs:string </name>
<options> rfs:string </options>
</tar>
Elements description
name <<string,rfs:string>> *optional* :: filename of the tar package
options <<string,rfs:string>> *optional* :: options passed to the tar command
TYPE: cpio
describes a cpio package
Example
<cpio>
<name> rfs:string </name>
</cpio>
Elements description
name <<string,rfs:string>> *optional* :: filename of the cpio package
TYPE: squashfs
describes a squashfs image
Example
<squashfs>
<name> rfs:string </name>
<options> rfs:string </options>
</squashfs>
Elements description
name <<string,rfs:string>> *optional* :: filename of the squashfs image
options <<string,rfs:string>> *optional* :: options passed to the mksquashfs command
TYPE: partition
describes a partition of a harddisk
Example
<partition>
<size> rfs:part_size </size>
<label> rfs:string </label>
<name> rfs:string </name>
<binary> rfs:string </binary>
<bootable> rfs:string </bootable>
<biosgrub> rfs:string </biosgrub>
</partition>
Elements description
size <<part_size,rfs:part_size>> :: size of the partition
label <<string,rfs:string>> :: human readable label of the partition used for mount by label and as filename for the flashable image
name <<string,rfs:string>> *optional* :: human readable name of the partition used for naming a gpt partition
binary <<string,rfs:string>> *optional* :: path and filename of a binary image which will be used as a source for this volume; this can be used for example to store a bootloader in a partition.
bootable <<string,rfs:string>> *optional* :: Whether this partition is marked bootable.
biosgrub <<string,rfs:string>> *optional* :: Whether this partition is marked as biosgrub partition.
TYPE: extended
describes a extended partition of a harddisk
Example
<extended>
<size> rfs:part_size </size>
<logical> rfs:partition </logical>
</extended>
Elements description
size <<part_size,rfs:part_size>> :: size of the partition
logical <<partition,rfs:partition>> *optional* :: logical partition of this extended partition
TYPE: part_size
Helper around part_size_restriction to allow XML base attribute
Example
<part_size>
</part_size>
Elements description
SIMPLE TYPE: part_size_restriction
format of the partition size
Base Type
string
Restrictions
pattern |
(\d+(k|M|G|kB|MB|GB|kiB|MiB|GiB)?|remain) |
TYPE: fs_type
Helper around fs_type_restriction to allow XML base attribute
Example
<fs_type>
</fs_type>
Elements description
SIMPLE TYPE: fs_type_restriction
list of supported filesystems
Base Type
string
Restrictions
enumeration |
ext2 |
enumeration |
ext3 |
enumeration |
ext4 |
enumeration |
f2fs |
enumeration |
ubifs |
enumeration |
tmpfs |
enumeration |
debugfs |
enumeration |
configfs |
enumeration |
devpts |
enumeration |
proc |
enumeration |
sysfs |
enumeration |
vfat |
enumeration |
btrfs |
enumeration |
devtmpfs |
enumeration |
swap |
TYPE: initvm-finetuning
container for initvm-finetuning actions; these actions are executed at the end of the init-elbe.sh script in the target.
Example
<initvm-finetuning>
<command> rfs:string </command>
</initvm-finetuning>
Elements description
GROUP : initvm-action
definition of initvm-finetuning actions
command type: rfs:string
execute a shell command in the target
TYPE: finetuning
container for finetuning commands; these commands are executed in the root of the target filesystem after the target filesystem was created
Example
<finetuning>
<addgroup> rfs:addgroup </addgroup>
<adduser> rfs:adduser </adduser>
<file> rfs:file </file>
<rm> rfs:rm </rm>
<cp> rfs:cpmv </cp>
<ln> rfs:cpmv </ln>
<buildenv_cp> rfs:cpmv </buildenv_cp>
<b2t_cp> rfs:cpmv </b2t_cp>
<t2b_cp> rfs:cpmv </t2b_cp>
<mv> rfs:cpmv </mv>
<buildenv_mv> rfs:cpmv </buildenv_mv>
<t2p_mv> rfs:cpmv </t2p_mv>
<mkdir> rfs:string </mkdir>
<buildenv_mkdir> rfs:string </buildenv_mkdir>
<mknod> rfs:mknod </mknod>
<purge> rfs:string </purge>
<raw_cmd> rfs:string </raw_cmd>
<command> rfs:string </command>
<buildenv_command> rfs:string </buildenv_command>
<updated> rfs:string </updated>
<artifact> rfs:string </artifact>
<rm_apt_source> rfs:string </rm_apt_source>
</finetuning>
Elements description
GROUP : action
definition of finetuning commands
addgroup type: rfs:addgroup
add a group by name
adduser type: rfs:adduser
add a user account by login name
file type: rfs:file
write or append text to a file
rm type: rfs:rm
remove a file or directory (recursive). Also allows specifying an exclude pattern.
cp type: rfs:cpmv
copy a file or directory (recursive)
ln type: rfs:cpmv
create a symbolic link
buildenv_cp type: rfs:cpmv
copy a file or directory (recursive)
b2t_cp type: rfs:cpmv
copy a file or directory (recursive)
t2b_cp type: rfs:cpmv
copy a file or directory (recursive)
mv type: rfs:cpmv
move a file or directory
buildenv_mv type: rfs:cpmv
move a file or directory
t2p_mv type: rfs:cpmv
move a file from the target to the project directory
mkdir type: rfs:string
create a directory
buildenv_mkdir type: rfs:string
create a directory
mknod type: rfs:mknod
move a file or directory
purge type: rfs:string
purge a debian package out of the rootfilesystem
raw_cmd type: rfs:string
execute the defined command without a shell
command type: rfs:string
execute the defined command in /bin/sh
buildenv_command type: rfs:string
execute the defined command
updated type: rfs:string
include the base debian repository in the target rfs to enable downgrades via elbe-updated
artifact type: rfs:string
make the named file an artifact. The path is relative to the target root.
rm_apt_source type: rfs:string
remove the specified source from the sources.list on the target
TYPE: project-finetuning
container for project-finetuning commands; these commands are executed in the project directory, after the images have been generated.
Example
<project-finetuning>
<t2p_mv> rfs:cpmv </t2p_mv>
<artifact> rfs:string </artifact>
<rm_artifact> rfs:string </rm_artifact>
<losetup> rfs:losetup </losetup>
<img_convert> rfs:img_convert </img_convert>
<set_packer> rfs:set_packer </set_packer>
</project-finetuning>
Elements description
GROUP : project-action
definition of finetuning commands
t2p_mv type: rfs:cpmv
move a file from the target to the project directory
artifact type: rfs:string
make the named file an artifact. The path is relative to the project directory.
rm_artifact type: rfs:string
remove a project artifact from the list of artifacts.
losetup type: rfs:losetup
Setup the loop device with an image file. This node wraps image_finetuning Actions, which access the loop device then.
img_convert type: rfs:img_convert
Convert a Partitionimage to another format. The new Image is added to the list of artifacts.
set_packer type: rfs:set_packer
Specify the packer to use for an artifact.
TYPE: losetup
Container for image_finetuning commands; these commands are executed in the project directory, while a drive image is setup as a loop device. The loop device id is passed to the individual actions.
Example
<losetup>
<extract_partition> rfs:extract_partition </extract_partition>
<copy_from_partition> rfs:copy_from_partition </copy_from_partition>
<copy_to_partition> rfs:copy_to_partition </copy_to_partition>
<set_partition_type> rfs:set_partition_type </set_partition_type>
<command> rfs:partition-command </command>
</losetup>
Elements description
[attr] img string :: Name of the image artifact that would be used for loop mounting.
GROUP : image_action
definition of image finetuning commands
extract_partition type: rfs:extract_partition
Extract a Partition from the currently mounted loop device.
copy_from_partition type: rfs:copy_from_partition
Copy a file from a partition. The partition is mounted, and the file is then copied from the mounted filesystem into the builddir. Its marked as an Artifact.
copy_to_partition type: rfs:copy_to_partition
Copy an artifact onto a partition. The partition is mounted, and the file is then copied into the mounted filesystem.
set_partition_type type: rfs:set_partition_type
Set the type of a partition via fdisk. (to support esoteric partition types, that parted does not support.)
command type: rfs:partition-command
Execute a command with a partition mounted. Before the comand is executed, the environment variable ELBE_MNT is set to the absolute filepath to the mount point.
TYPE: extract_partition
Describe the partition to be extracted (nr) and the destination filename. The value of the tag describes the filename of the generated Imagefile. The Image is per default compressed with gzip afterwards.
Example
<extract_partition>
</extract_partition>
Elements description
[attr] part integer :: The partition of the rfs image in integer that needs to be extracted.
TYPE: partition-command
The tag’s text node should be valid shell commands.
Example
<partition-command>
</partition-command>
Elements description
[attr] part integer :: This is the device partition number.
[attr] nomount boolean :: If true, device will not be mounted.
TYPE: copy_from_partition
Using “copy_from partition”, the user gets an opportunity to copy a file from a partition and save it as an atrifact in the build output. This element’s content is the file’s path mentioned in the “part” partition.
Example
<copy_from_partition>
</copy_from_partition>
Elements description
[attr] part integer :: Describes the partition to which the required file belongs.
[attr] artifact string :: The name of the file that needs to be extracted is termed as an “artifact”.
TYPE: copy_to_partition
It copies the artifact to a given partition that will be mounted. Please note that this element’s value is destination’s path in “part” partition.
Example
<copy_to_partition>
</copy_to_partition>
Elements description
[attr] part integer :: Describes the partition number that the required file is copied to.
[attr] artifact string :: The name of the file that is copied to the destination is termed as “artifact”
TYPE: set_partition_type
Sets the partition type of a particular partition to the specified type for disk labels. When changing partition type, it asks user the partition number in case of many partitions, and then the type.
Example
<set_partition_type>
</set_partition_type>
Elements description
[attr] part integer :: Describes the partition to be modified in integer.
[attr] type string :: Describes the numerical partition id, as understood by fdsik. It is the “partition type” and can be a numerical id or a textual alias for it.
TYPE: addgroup
describes an additional user group to be created. the following parameters are available: ‘gid’ - group id. ‘system = “True” - system group. The value of the tag describes the group name for the account.
Example
<addgroup>
</addgroup>
Elements description
[attr] gid string :: Describes the numerical value of group’s ID. Since the type is string, this can be a numerical or textual alias
[attr] system boolean :: It needs to be True by default to create a new system group. This makes it possible to have the system groups chosen in the range of SYS_GID_MIN-SYS_GID_MAX.
TYPE: img_convert
Gives an opportunity to convert the image to a specific format. The Image is by default compressed with gzip afterwards. The value of the tag describes the name of the image.
Example
<img_convert>
</img_convert>
Elements description
[attr] dst string :: Describes the filename of the converted image file.
[attr] fmt string :: Describes the format which image file needs to be converted to. Please check supported formats section in “qemu-img –help”.
[attr] keep_src boolean :: If set to ‘true’ the original image file is kept.
TYPE: set_packer
Set the packer to use for an artifact. The value of the tag describes the filename of the Imagefile.
Example
<set_packer>
</set_packer>
Elements description
[attr] packer <<packer-type,rfs:packer-type>> :: Describes the compressor for the resulting image from the following values:(none, gzip, zstd, tar, targz, tarxz, tarzstd).
SIMPLE TYPE: packer-type
FIXME - I have no documentation
Base Type
string
Restrictions
enumeration |
none |
enumeration |
gzip |
enumeration |
zstd |
enumeration |
tar |
enumeration |
tarxz |
enumeration |
targz |
enumeration |
tarzstd |
TYPE: file
Gives opportunity to write, append, encode data to a specific file on the target image, change permissions, owner and group of file. The value of the tag is the raw/encoded content to write/append to the destination.
Example
<file>
</file>
Elements description
[attr] dst string :: This defines the destination to write to.
[attr] encoding string :: This is an optional attribute for encoding of the content. Please note that available encoding options are plain, raw and base64.
[attr] append boolean :: If true, appends the content to file instead of writing.
[attr] owner string :: This sets the file owner to the file given in dst attribute.
[attr] group string :: This sets group ownership for the file given in dst attribute.
[attr] mode string :: This sets file permission using mode bits.
TYPE: adduser
Adds an additional user account for the rfs. It creates a new user or updates the default new user information. The value of the tag defines the name of the user to be added.
Example
<adduser>
</adduser>
Elements description
[attr] shell string :: This specifies the login shell for the user.
[attr] passwd_hashed string :: This is an optional attribute for hashed password for the user.
[attr] groups string :: This is a comma separated list of groups the user is member of.
[attr] uid string :: This gives user id for the required user.
[attr] gid string :: This is an optional attribute for primary group, may be numeric or a name.
[attr] home string :: The new user will be created using this value as a home directory. This can be used as user’s login directory.
[attr] system boolean :: This needs to be True by default to create a new system account.
[attr] create_home boolean :: This needs to be False to not create a home directory.
[attr] create_group boolean :: This needs to be “False” to not create a group with same name as the user.
TYPE: cpmv
Copies or moves a file within the root file system. The tag’s text node is the destination path where file needs to be moved or copied to.
Example
<cpmv>
</cpmv>
Elements description
[attr] path string :: This attribute is a source file that needs to be copied to the destination file.
TYPE: rm
Remove a file or directory from the target. The tag’s text node matches on the absolute location of the file to be deleted.
Example
<rm>
</rm>
Elements description
[attr] exclude string :: This sets an exclude pattern that will not be deleted.
TYPE: mknod
Describes a mknod operation in finetuning to make block or character special files. The value of tag’s text node is the special block or character file on which mknod needs to be operated.
Example
<mknod>
</mknod>
Elements description
[attr] opts string :: This attribute makes node of type, major number, minor number for a given file.
TYPE: git_src
The value of this tag is the URI of the git repository, e.g. “git://myhost/myrepo.git”.
Example
<git_src>
</git_src>
Elements description
[attr] revision string :: This attribute describes the revision to be checked out from the git tree.
TYPE: svn_src
The value of this tag is the URI of the svn repository, e.g. “svn://myhost/myrepo/tags/my_tag”.
Example
<svn_src>
</svn_src>
Elements description
[attr] revision string :: This attribute gives the revision to be checked out from the given svn repository.
TYPE: pkg
describes a debian binary package
Example
<pkg>
</pkg>
Elements description
[attr] origin string :: prefer the defined version of the debian package
[attr] release-name string :: prefer the defined codename of the debian package
[attr] release-archive string :: prefer the defined archive/suite of the debian package
[attr] release-version string :: prefer the defined Debian release version of the debian package
[attr] release-component string :: prefer the defined component of the debian package
[attr] release-origin string :: prefer the defined originator of the debian package
[attr] release-label string :: prefer the defined label of the debian package
[attr] uri string :: uniform resource identifier of the debian package
[attr] pin string :: prefer the defined version of the debian package Deprecated, use attribute “release-name” instead.
[attr] version string :: version of the package
[attr] auto boolean :: installed automatically as a dependency
[attr] md5 string :: md5 sum of the package.
[attr] sha1 string :: sha1 sum of the package.
[attr] sha256 string :: sha256 sum of the package.
[attr] sha512 string :: sha512 sum of the package.
[attr] prio string :: priority of the package in the original repository.
[attr] arch string :: architecture of the package in the original repository.
[attr] on_src_cd string :: If set to “False” the source will not be included on the source cdrom.
TYPE: pbuilder
reference to debian source packages
Example
<pbuilder>
<src-pkg> rfs:string </src-pkg>
<git> rfs:git_src </git>
<svn> rfs:svn_src </svn>
</pbuilder>
Elements description
src-pkg <<string,rfs:string>> *optional* :: reference to a debian source package from a deb-src archive. The source will be built with a pbuilder before the image generation.
git <<git_src,rfs:git_src>> *optional* :: reference to a git tree hosting a debian source package. The source will be built with a pbuilder before the image generation.
svn <<svn_src,rfs:svn_src>> *optional* :: reference to a svn repository hosting a debian source package. The source will be built with a pbuilder before the image generation.
TYPE: pkg-list
container of debian packages
Example
<pkg-list>
<pkg> rfs:pkg </pkg>
</pkg-list>
Elements description
pkg <<pkg,rfs:pkg>> *optional* :: reference to a binary debian package which will be installed from the given mirrors into the target rootfilesystem.
TYPE: blacklist
blacklists of debian packages
Example
<blacklist>
<sysroot> rfs:pkg-list </sysroot>
</blacklist>
Elements description
sysroot <<pkg-list,rfs:pkg-list>> *optional* :: avoid installing the specified packages into the sysroot
TYPE: fullpkg-list
List of packages to be validated against the installed list.
Example
<fullpkg-list>
<pkg> rfs:pkg </pkg>
</fullpkg-list>
Elements description
pkg <<pkg,rfs:pkg>> *optional* :: Reference to a binary debian package which is supposed to be installed.
TYPE: conf
describes a preseeding entry
Example
<conf>
</conf>
Elements description
[attr] owner string :: owner package of the config entry
[attr] key string :: key name of the entry
[attr] type string :: type of the config entry
[attr] value string :: value of the config entry
TYPE: preseed
container of config entries
Example
<preseed>
<conf> rfs:conf </conf>
</preseed>
Elements description
conf <<conf,rfs:conf>> *optional* :: A config entry
TYPE: empty
This element just acts like a flag. It might be there, or not.
Example
<empty>
</empty>
Elements description
TYPE: string
E.L.B.E. standard string. Allow XML base attribute.
Example
<string>
</string>
Elements description
TYPE: src-cdrom
Configuration of the src-cdrom
Example
<src-cdrom>
<size> rfs:memory </size>
<src-opts> rfs:iso-opts </src-opts>
<archive> rfs:src-cdrom-archive </archive>
</src-cdrom>
Elements description
size <<memory,rfs:memory>> *optional* :: The size limit for each source cdrom ISO image. The files are distributed on several cdroms as needed. Omitting this element means no size limit.
src-opts <<iso-opts,rfs:iso-opts>> *optional* :: Options for the source cdrom ISO images.
archive <<src-cdrom-archive,rfs:src-cdrom-archive>> *optional* :: tar.bz2 file that contains base64 encoded files for the source cdrom.
TYPE: src-cdrom-archive
Holds a base64 encoded tar.bz2 file that is added to the src-cdrom.
Example
<src-cdrom-archive>
</src-cdrom-archive>
Elements description
[attr] volume <<volume-type,rfs:volume-type>> :: Use this to control where the archive is stored when using split src-cdroms. It consists of a comma-separated list of volume numbers. A volume number can be 0 to n-1 for n equals the number of volumes if the src-cdrom is split. A volume number can also be negative to identify a volume beginning from the last index. (-1: last, -2: second last, …) If you do not specify this attribute, the archive is added to each volume.
SIMPLE TYPE: volume-type
FIXME - I have no documentation
Base Type
string
Restrictions
pattern |
(-?\d+,)*-?\d+|all |
TYPE: iso-opts
ISO image options passed to genisoimage(1).
Example
<iso-opts>
<abstract> rfs:string </abstract>
<app> rfs:string </app>
<biblio> rfs:string </biblio>
<copyright> rfs:string </copyright>
<publisher> rfs:string </publisher>
<preparer> rfs:string </preparer>
<sysid> rfs:string </sysid>
<volid> rfs:string </volid>
<volset> rfs:string </volset>
</iso-opts>
Elements description
[attr] strict boolean :: If set to “true”, fails in preprocessing stage if an option doesn’t respect ISO-9660. The default is “false”.
abstract <<string,rfs:string>> *optional* :: FIXME - I have no documentation
app <<string,rfs:string>> *optional* :: FIXME - I have no documentation
biblio <<string,rfs:string>> *optional* :: FIXME - I have no documentation
copyright <<string,rfs:string>> *optional* :: FIXME - I have no documentation
publisher <<string,rfs:string>> *optional* :: FIXME - I have no documentation
preparer <<string,rfs:string>> *optional* :: FIXME - I have no documentation
sysid <<string,rfs:string>> *optional* :: FIXME - I have no documentation
volid <<string,rfs:string>> *optional* :: FIXME - I have no documentation
volset <<string,rfs:string>> *optional* :: FIXME - I have no documentation