$Id: kiwi.rnc 2957 2008-01-11 12:53:39Z thomas-schraitle $
RNC Schema Version 2.0
Published: 05/23/2008
Table of Contents
arch
— Describe Packages and Metadataarchitectures
— Describe Packages and Metadataauthor
— Author of the imagechroot
— Describe Packages and Metadatacommandline
— Specifies the Kernel Boot Commandlinecompressed
— Compress image. configuration
— Specifies Configuration filescontact
— Contact Information from the Author, like Email etc.defaultbaseroot
— Default Path if baseroot Option is not Specifieddefaultdestination
— Default Path if destdir Otion is Not Specifieddefaultroot
— Default Root Directory Name if root Option is Not Specifieddeploy
— Controls the Image Deploy Processdescription
— A Short Descriptiondrivers
— A Collection of Driver Files except
— A Pointer to a File which should be excludedfile
— A Pointer to a Fileignore
— Ignores a Packageimage
— The root element of the configuration file initrd
— Specifies where the Boot Image can be Foundinstrepo
— Name of a Installation Repositoryinstsource
— Describe Packages and Metadatakernel
— Specifies Where to Find the Boot Kernelkeytable
— Image keytable setup.locale
— Image locale setup.metadata
— Contains Metadatametafile
— A file Pointer Optionally Bundled With a Scriptoem-boot-title
— For oemboot driven images: setup of the boot menu text
displayed within the square brackets after first reboot
of the OEM image oem-home
— For oemboot driven images: use a home partition yes/nooem-reboot
— For oemboot driven images: reboot after first deployment yes/nooem-recovery
— For oemboot driven images: create a recovery archive yes/nooem-swap
— For oemboot driven images: use a swap partition yes/nooem-swapsize
— For oemboot driven images: Set the size of the swap
partition in MBoem-systemsize
— For oemboot driven images: Set the size of the system
(root) partition in MBopensusePattern
— Name of a Pattern From openSUSEpackage
— Name of an image Packagepackagemanager
— Name of the Package Managerpackages
— Specifies Packages/Patterns Used in Different Stagespartition
— A Partitionpartitions
— A List of Partitionspersistent
— Specifies Filenames in the Read-Write Disk Areapreferences
— Configuration Information Needed for Logical Extendproductinfo
— Describe Packages and Metadataproductoption
— Describe Packages and Metadataproductoptions
— Describe Packages and Metadataproductvar
— Describe Packages and Metadataprofile
— Creates Profilesprofiles
— Creates Namespace Section for Driversrepopackage
— Name of an instsource Packagerepopackages
— Specifies Packages for Installation Sourcerepository
— The Name of the Repositoryrpm-check-signatures
— Setup a Package Signaturerpm-force
— Force the Installation of a Packagesize
— Specifies the Size of an Image in (M)egabyte or (G)igabytesource
— A Pointer to a Repository/Package Sourcespecification
— A Detailed Descriptionsplit
— Describes Images in Read-Only and Read-Write Portionstemporary
— Specifies Files in RAMtimeout
— Specifies an ATFTP Download Timeouttimezone
— Setup Image Timezone setuptype
— The Image Type of the Logical Extendunion
— Specifies the Overlay Filesystemuser
— A User with Name, Password, Path to Its Home And Shellusers
— A List of Usersversion
— A Version Number for the Image, Consists of Major.Minor.Release arch
arch
— Describe Packages and Metadata
arch ::= EMPTY
architectures
architectures
— Describe Packages and Metadata
architectures ::= (arch)+
The architectures element contains a list of architectures for which the installation source is designed. At least one architecture must be defined. Fallback mecahnisms apply. Each arch element has an optional attribute <fallback> which is the next in the chain. An omitted value results in undefined value thus terminating the chain.
chroot
chroot
— Describe Packages and Metadata
chroot ::= TEXT
The chroot element contains one particular environment variable and its value. Shell rules for the names apply. The value must not exceed a certain length for sanity reasons. Any funny characters like tabs, line break, carriage return or combinations are converted to spaces (one each) which may lead to unexpected contents.
commandline
commandline
— Specifies the Kernel Boot Commandline
commandline ::= TEXT
configuration
configuration
— Specifies Configuration files
configuration ::= EMPTY
defaultbaseroot
defaultbaseroot
— Default Path if baseroot Option is not Specified
defaultbaseroot ::= TEXT
defaultdestination
defaultdestination
— Default Path if destdir Otion is Not Specified
defaultdestination ::= TEXT
defaultroot
defaultroot
— Default Root Directory Name if root Option is Not Specified
defaultroot ::= TEXT
deploy
deploy
— Controls the Image Deploy Process
deploy ::= timeout? & commandline? & kernel? & initrd? & partitions? & union? & (configuration)*
description
description
— A Short Description
description ::= author & (contact)+ & specification
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| type | Enumeration: "boot" | "system" | Required | Kiwi distinguishes between two basic image description types which uses the same format but one is created and provided by the kiwi developers and the other is created by the users of kiwi. The type=boot specifies a boot image (initrd) which should be provided by the kiwi developers wheras type=system specifies a standard image description created by a kiwi user. |
image
image
— The root element of the configuration file
image ::= description & preferences & profiles? & instsource? & (users)* & (drivers)* & (repository)+ & deploy? & split? & (packages)*
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| name | TEXT | Required | A name |
| inherit | TEXT | Required | Path to an image description directory from which the package Information is inherited |
| kiwirevision | xsd:nonNegativeInteger | Required | A kiwi SVN revision number which is known to build a working image from this description. If the kiwi SVN revision is less than the specified value the process will exit. |
| id | xsd:string | Required | An identification number which is represented in a file named /etc/ImageID |
| schemeversion | TEXT | Required | The allowed Schema version (fixed value) |
| xsi:noNamespaceSchemaLocation | xsd:anyURI | Required | The location of the XSD Schema (not relevant for RELAX NG or DTD) |
| xsi:schemaLocation | xsd:anyURI | Required | A pair of URI references: First is a namespace name, second the location of the XSD Schema (not relevant for RELAX NG or DTD) |
initrd
initrd
— Specifies where the Boot Image can be Found
initrd ::= TEXT
instsource
instsource
— Describe Packages and Metadata
instsource ::= architectures & productoptions & (instrepo)+ & metadata & repopackages
The instsource element is used to describe the packages and the metadata which is required to build an installation source suitable for Novell SUSE Linux installation media. From such a source it should be possible to create the standard SUSE CDs and DVDs as well as use this source as repository for image building.
kernel
kernel
— Specifies Where to Find the Boot Kernel
kernel ::= TEXT
metadata
metadata
— Contains Metadata
metadata ::= (repopackage)+ & (metafile)* & (chroot)*
oem-boot-title
oem-boot-title
— For oemboot driven images: setup of the boot menu text
displayed within the square brackets after first reboot
of the OEM image
oem-boot-title ::= TEXT
oem-home
oem-home
— For oemboot driven images: use a home partition yes/no
oem-home ::= TEXT
oem-reboot
oem-reboot
— For oemboot driven images: reboot after first deployment yes/no
oem-reboot ::= TEXT
oem-recovery
oem-recovery
— For oemboot driven images: create a recovery archive yes/no
oem-recovery ::= TEXT
oem-swap
oem-swap
— For oemboot driven images: use a swap partition yes/no
oem-swap ::= TEXT
oem-swapsize
oem-swapsize
— For oemboot driven images: Set the size of the swap
partition in MB
oem-swapsize ::= xsd:nonNegativeInteger
oem-systemsize
oem-systemsize
— For oemboot driven images: Set the size of the system
(root) partition in MB
oem-systemsize ::= xsd:nonNegativeInteger
opensusePattern
opensusePattern
— Name of a Pattern From openSUSE
opensusePattern ::= EMPTY
packages
packages
— Specifies Packages/Patterns Used in Different Stages
packages ::= (package)* & (opensusePattern)* & (ignore)*
The packages elements specifies a set of packages and/or patterns which are used in different stages of the image building process and also depends of the selected image output type.
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| type | Enumeration: "image" | "bootstrap" | "delete" | "testsuite" | "xen" | "vmware" | Required | |
| memory | TEXT | Required | The memory setup for the guest VM. Used only with the packages types xen and vmware |
| disk | TEXT | Required | The virtual disk device name of the guest VM. Used only with the packages types xen and vmware |
| HWversion | xsd:integer | Required | The virtual HW version number for the VMware configuration |
| guestOS_32Bit | TEXT | Required | the virtual guestOS identification string for VMware for 32bit guest systems |
| guestOS_64Bit | TEXT | Required | the virtual guestOS identification string for VMware for 64bit guest systems |
| profiles | TEXT | Required | Namespace this section applies to. If not specified it applies to all namespaces |
| patternType | Enumeration: "onlyRequired" | "plusSuggested" | "plusRecommended" | Required | Selection type for patterns. Could be onlyRequired plusSuggested or plusRecommended |
| patternPackageType | Enumeration: "onlyRequired" | "plusSuggested" | "plusRecommended" | Required | Selection type for packages in patterns. Could be onlyRequired, plusSuggested or plusRecommended |
partition
partition
— A Partition
partition ::= EMPTY
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| type | TEXT | Required | Partition Type identifier, see fdisk for details |
| number | TEXT | Required | Partition ID |
| size | TEXT | Required | A partition size or optional image size |
| mountpoint | TEXT | Required | Mount path for this partition |
| target | xsd:boolean | Required | Is a real target or not which means is part of the /etc/fstab file or not |
persistent
persistent
— Specifies Filenames in the Read-Write Disk Area
preferences
preferences
— Configuration Information Needed for Logical Extend
preferences ::= (type)+ & version & size? & compressed? & oem-swap? & oem-home? & oem-boot-title? & oem-swapsize? & oem-systemsize? & oem-recovery? & packagemanager? & rpm-check-signatures? & rpm-force? & keytable? & timezone? & locale? & defaultdestination? & defaultroot? & defaultbaseroot?
productinfo
productinfo
— Describe Packages and Metadata
productinfo ::= TEXT
The productinfo element contains one particular environment variable and its value. Shell rules for the names apply. The value must not exceed a certain length for sanity reasons. Any funny characters like tabs, line break, carriage return or combinations are converted to spaces (one each) which may lead to unexpected contents.
productoption
productoption
— Describe Packages and Metadata
productoption ::= TEXT
productoptions
productoptions
— Describe Packages and Metadata
productoptions ::= (productoption)* & (productinfo)* & (productvar)*
productvar
productvar
— Describe Packages and Metadata
productvar ::= TEXT
profile
profile
— Creates Profiles
profile ::= EMPTY
profiles
profiles
— Creates Namespace Section for Drivers
profiles ::= (profile)+
repopackage
repopackage
— Name of an instsource Package
repopackage ::= EMPTY
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| name | TEXT | Required | A name |
| arch | TEXT | Required | An architecture |
| priority | TEXT | Required | Specifies the search priority |
| addarch | TEXT | Required | Specifies that this package should additionally add the same package from the given arch |
| removearch | TEXT | Required | Specifies that the package with the given arch should be removed |
| forcearch | TEXT | Required | Specifies that the package with the given arch should be used in any case |
| source | TEXT | Required | A location where packages can be found to build an installation source from |
| script | TEXT | Required | A script hook for meta files to be called after the file was fetched |
| medium | xsd:nonNegativeInteger | Required | Specifies that the package will be put to the specific medium number (CD1, DVD7, ...) |
repopackages
repopackages
— Specifies Packages for Installation Source
repopackages ::= (repopackage)*
repository
repository
— The Name of the Repository
repository ::= source
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| type | Enumeration: "apt-deb" | "apt-rpm" | "deb-dir" | "mirrors" | "red-carpet" | "rpm-dir" | "rpm-md" | "slack-site" | "up2date-mirrors" | "urpmi" | "yast2" | Required | Type of repository |
| status | Enumeration: "replaceable" | "fixed" | Required | Specifies the status of the repository. This can be replacable or if not specified it's a must have repository |
rpm-check-signatures
rpm-check-signatures
— Setup a Package Signature
rpm-check-signatures ::= TEXT
rpm-force
rpm-force
— Force the Installation of a Package
rpm-force ::= TEXT
split
split
— Describes Images in Read-Only and Read-Write Portions
split ::= temporary? & persistent?
temporary
temporary
— Specifies Files in RAM
timeout
timeout
— Specifies an ATFTP Download Timeout
timeout ::= TEXT
timezone
timezone
— Setup Image Timezone setup
timezone ::= TEXT
type
type
— The Image Type of the Logical Extend
type ::= TEXT
| Attribute | Type | Use | Documentation |
|---|---|---|---|
| checkprebuilt | xsd:boolean | Required | Activates whether KIWI should search for a prebuild boot image or not |
| bootprofile | TEXT | Required | Specifies the boot profile if defined in the boot image description. Used when KIWI option add-profile is used |
| boot | TEXT | Required | Specifies the path of the boot image (initrd), relative to /usr/share/kiwi/image |
| flags | Enumeration: "unified" | "compressed" | "unified-cromfs" | "compressed-cromfs" | Required | Specifies flags for the image type. This could be compressed or unified and applies to the iso type only |
| filesystem | Enumeration: "ext2" | "ext3" | "reiserfs" | "squashfs" | "cromfs" | Required | Specifies the filesystem which can be one of: ext2 , ext3 , reiserfs ,squashfs or cromfs |
| fsreadonly | Enumeration: "ext2" | "ext3" | "reiserfs" | "squashfs" | "cromfs" | Required | Specifies the filesystem for the read-only part of a split image |
| fsreadwrite | Enumeration: "ext2" | "ext3" | "reiserfs" | Required | Specifies the filesystem for the read-write part of a split image |
| ec2privatekeyfile | TEXT | Required | AWS user's PEM encoded RSA private key file |
| ec2certfile | TEXT | Required | AWS user's PEM encoded RSA pubkey certificate file |
| ec2accountnr | xsd:nonNegativeInteger | Required | The user's EC2 user ID (Note: AWS account number, NOT Access Key ID) |
| baseroot | TEXT | Required | Specify the path to a pre created base root system. |
| format | Enumeration: "vvfat" | "vpc" | "bochs" | "dmg" | "cloop" | "vmdk" | "qcow" | "cow" | "iso" | "usb" | Required | Specifies the format of the virtual disk. This applies to the vmx/oem types only. |
| primary | xsd:boolean | Required | Specifies the primary type (choose KIWI option type) |
union
union
— Specifies the Overlay Filesystem
union ::= EMPTY