kernel configuration — an XML document containing configuration information for the kmodules to be loaded by the PXE Microkernel.
A kernel configuration is an XML file of the following form:
<kconfig>
<setProperty>...</setProperty>*
<classpath>...</classpath>*
<import>...</import>*
<kmodule>...</kmodule>*
</kconfig>
The elements and their contents are explained below.
The <kconfig> element is the wrapper for the configuration.
When evaluating a string value, the kernel configuration parser will dereference some elements to strings to be included in the parsed value. Specifically, the structure
<getProperty name="name" />
returns the value of system property name, and <pxe-home /> is a shortcut for <getProperty name="pxe.home" />. The structure
<getAttribute object="oName" name="attribute" />
returns the value of attribute attribute on the MBean oName.
The <setProperty> element is used to set system properties, as follows:
<setProperty name="name of property">text-struct</setProperty>
The <classpath> element is used to add elements to the classpath for the kernel. The element can have two forms. To load a specific JAR or resource, use:
<classpath type="url">text-struct</classpath>
If the URL has a trailing slash, it is interpreted as a directory whose contents are to be added to the classpath. To add all of the JARs from a directory to the classpath, use:
<classpath type="jarDir">text-struct</classpath>
The <import> element adds a package to the list of packages to search for the classes declared by <kmodule> elements. A declaration has the form:
<import package="fully.qualified.package.name" />
The packages are searched in the order listed.
The <kmodule> element declares a kmodule MBean to be registered. A <kmodule> declaration has the form:
<kmodule name="ObjectName" class="classname">
<attribute name="name">text-struct</attribute>*
</kmodule>
Each <attribute> element sets the value of a attribute on the kmodule MBean instance created, and the kernel configuration evaluator makes an effort to create an instance of the appropriate type of value (Integer, String, etc.).
For more information about the individual kmodules available with PXE, see the Kernel Modules reference.