Novell Linux client Image Specification Documents can be defined in an XML editor or in a standard text editor. XML editors provide the advantage of a graphical user interface. Typically, XML elements are presented as graphical objects and are visually organized in the schema hierarchy. Element attributes are defined as fields within the element objects. After the XML template is defined, the template can be saved as a standard XML document. The graphics in Section 9.2.2, Image Specification Documents were taken in an XML editor. They show XML schema in a graphical format.
Novell Linux client Image Specification Documents can also be defined in a standard text editor. Text-based XML documents are more complicated because the schema hierarchy and element attributes are defined through the document syntax and organization. The following sample documents are presented in text format.
The following are examples of Novell Linux client Image Specification Documents:
Figure C-1 is a graphical representation of the Image Specification Document template. It demonstrates the organization of Novell Linux client Image Specification Documents.
Figure C-1 ImageSpecification.sml schema structure
The following is a text representation of the Image Specification Document template. It demonstrates the syntax of Novell Linux client Image Specification Documents; however, it is not populated with actual data.
<ImageSpecification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="I:\ImageSpecification.xsd" SchemaVersion="1" SchemaRevision="1" ImageName="String" ImageType="diskful" ImageVersion="String" AddonSize="String" Type="ext2" Timezone="String" Locale="String" Keytable="String"> <IncludeSpecificationList> <IncludeSpecification URI="String"/> </IncludeSpecificationList> <RequiredList> <Require URI="String"/> </RequiredList> <DriverSpecifications> <DriverIncludeList> <DriverSet Name="String"> <ExplicitPath URI="String"/> <DriverList> <Driver Name="String"/> </DriverList> </DriverSet> </DriverIncludeList> <DriverExcludeList> <Driver Name="String"/> </DriverExcludeList> </DriverSpecifications> <ConfigSpecifications> <ConfigIncludeList> <Config Type="HWD" Name="String"/> </ConfigIncludeList> <ConfigExcludeList> <Config Name="String"/> </ConfigExcludeList> </ConfigSpecifications> <RPMSpecifications> <RPMIncludeList> <RPMSet> <ExplicitPath URI="String"/> <RPMList> <RPM Name="String" Version="String"> <InstallOption Option="--noscripts"/> </RPM> </RPMList> </RPMSet> </RPMIncludeList> <RPMExcludeList> <RPM Version="String" Name="String"/> </RPMExcludeList> <DistributionSource URI="String" ImageClass="String"/> </RPMSpecifications> <UserGroupSpecifications> <UserList> <User Name="String" EncryptedPassword="String" HasPassword="1" UserId="String" HomeDirectory="String" MainGroup="String"> <GroupAssociation Name="String"/> </User> </UserList> <GroupList> <Group Name="String" GroupId="String"/> </GroupList> <RootSettings DisableRootAccess="false" EncryptedRootPassword="x"/> </UserGroupSpecifications> <Description> String </Description> </ImageSpecification>
The following Image Specification Documents are populated with image data. They illustrate how an Image Specification Document can be defined.
<ImageSpecification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/opt/SLES/POS/ImageSpecification.xsd" SchemaVersion="1" SchemaRevision="1" ImageName="java" ImageVersion="2.0.21" Type="ext2" ImageType="diskful" Timezone="US/Mountain" Locale="en_US" Keytable="us.map.gz"> <IncludeSpecificationList> <IncludeSpecification URI="/opt/SLES/POS/system/templates /support/java.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /addons/ibmjava.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /addons/evtouch.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /drivers/net.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /drivers/scsi.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /drivers/drivers.xml"/> <IncludeSpecification URI="/opt/SLES/POS/system/templates /drivers/usb.xml"/> </IncludeSpecificationList> <DriverSpecifications> <DriverIncludeList> <DriverSet Name="netdrivers"> <ExplicitPath URI="/kernel/drivers/net/"/> <DriverList> <Driver Name="pcnet32.ko"/> <Driver Name="mii.ko"/> <Driver Name="natsemi.ko"/> <Driver Name="tulip/tulip.ko"/> <Driver Name="eepro100.ko"/> <Driver Name="e100.ko"/> <Driver Name="e1000/e1000.ko"/> </DriverList> </DriverSet> <DriverSet Name="drivers"> <ExplicitPath URI="/kernel/"/> <DriverList> <Driver Name="net/packet/*"/> <Driver Name="fs/ext3/*"/> <Driver Name="fs/jbd/*"/> <Driver Name="drivers/ide/*"/> <Driver Name="drivers/dump/*"/> <Driver Name="drivers/cdrom/*"/> <Driver Name="drivers/char/dcs/*"/> <Driver Name="drivers/pci/*"/> <Driver Name="drivers/input/keyboard/ikbps.ko"/> </DriverList> </DriverSet> <DriverSet Name="usbdrivers"> <ExplicitPath URI="/kernel/drivers/usb/"/> <DriverList> <Driver Name="host/uhci-hcd.ko"/> <Driver Name="host/ohci-hcd.ko"/> <Driver Name="core/usbcore.ko"/> <Driver Name="host/ehci-hcd.ko"/> <Driver Name="storage/usb-storage..ko"/> <Driver Name="input/hid.ko"/> </DriverList> </DriverSet> <DriverSet Name="scsidriver"> <ExplicitPath URI="/kernel/drivers/scsi/"/> <DriverList> <Driver Name="scsi_mod.ko"/> <Driver Name="sg.ko"/> <Driver Name="sd_mod.ko"/> <Driver Name="st.ko"/> <Driver Name="sr_mod.ko"/> </DriverList> </DriverSet> </DriverIncludeList> </DriverSpecifications> <RPMSpecifications> <RPMIncludeList> <RPMSet> <RPMList> <RPM Name="acl"/> <RPM Name="atftp"/> <RPM Name="bash"/> <RPM Name="grep"/> <RPM Name="gzip"/> <RPM Name="ncurses"/> <RPM Name="netcfg"/> <RPM Name="openslp"/> <RPM Name="openssh"/> <RPM Name="openssl"/> <RPM Name="perl"/> <RPM Name="permissions"/> <RPM Name="readline"/> <RPM Name="resmgr"/> <RPM Name="sed"/> <RPM Name="setserial"/> <RPM Name="sld-release"/> <RPM Name="submount"/> <RPM Name="sysconfig"/> <RPM Name="syslogd"/> <RPM Name="tar"/> <RPM Name="tcpd"/> <RPM Name="usbutils"/> <RPM Name="zlib"/> <RPM Name="telnet"/> </RPMList> </RPMSet> </RPMIncludeList> <DistributionSource URI="/opt/SLES/POS/system/templates /Distribution.xml" ImageClass="NLD"/> </RPMSpecifications> <UserGroupSpecifications> <RootSettings DisableRootAccess="false" EncryptedRootPassword= "x"/> </UserGroupSpecifications> </ImageSpecification>
The Firefox Image Specification Document adds the Firefox browser to a client image. The RequiredList element indicates that this add-on feature requires the browser.xml file; therefore, it can be added only to the Browser or Desktop client images.
<ImageSpecification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/opt/SLES/POS/ImageSpecification.xsd" SchemaVersion="1" SchemaRevision="1"> <Description> Mozilla Firefox, formerly known as Phoenix and Firebird, is a redesign of the Mozilla browser component, similar to Galeon, K-Meleon and Camino, but written using the XUL user interface language and designed to be cross-platform. It’s a standalone application instead of part of the Mozilla Application Suite. </Description> <RequiredList> <Require URI="/opt/SLES/POS/system/templates/support/browser.xml"/> </RequiredList> <RPMSpecifications> <RPMIncludeList> <RPMSet> <RPMList> <RPM Name="MozillaFirefox"/> <RPM Name="gconf2"/> <RPM Name="gnome-vfs2"/> <RPM Name="libbonobo"/> <RPM Name="libgnome"/> <RPM Name="orbit2"/> <RPM Name="alsa"/> <RPM Name="audiofile"/> <RPM Name="esound"/> <RPM Name="libxml2"/> <RPM Name="libidl"/> <RPM Name="gnome-mime-data"/> <RPM Name="desktop-data-SLD"/> <RPM Name="bzip2"/> <RPM Name="cdparanoia"/> <RPM Name="fam"/> <RPM Name="libsmbclient"/> <RPM Name="dialog"/> <RPM Name="gtk2"/> </RPMList> </RPMSet> </RPMIncludeList> </RPMSpecifications> </ImageSpecification>