Cyclone SSDS SQLite3 Database

image

 * Defines each 'image' (can be an actual image or format) that will go onto a logical partition.
 * Its attributes determine whay happens when the 'image' is written and what parts of the menu it appears in.
 * Each one is unique.

e.g. 'xpdom'

dpspath/dppath value determines
 * driverpacks system is invoked and pulled down into imaged partition, and their path is DPwinxp/DPx/D/.
 * If this is blank no part of adding driverpacks takes place. This would usually be for a static(set) image. In this case the imgname is important as it is used to match the 'Product Name' from dmidecode

os/osname
 * it appears in winxp menu and is named Windows XP

imagefilename/imagename
 * the image file is xpsp3-dom.gz and its referred to as xpdom (this lets you swap images about without altering all references to it)

process
 * ntfs is filesystem to create on the partition (format = format it using imgname, stop)

type
 * defines a selection criteria, i.e. these are all domain images containing software (our) domain installs by default

imagemode
Auto will pick in order
 * 1) a specific (set) image, i.e. a matching imgname in the 'ProductName' found from DMIdecode (usually this would be one without driverpacks)
 * 2) universal image (usually with driverpack injection)

Universal will force a universal image only

These are both used as menu names and variable names.

kernelopt
Old kit may need compatability mode setting invoking 'safer' kernel options. You can easily edit these if trying to narrow it down. (vga= needed for framebuffer in cyclone.sh)

kernelopt values are both used as menu names and variable names.

label
Just a result multiplier to extend the menu to give everything an option of printing or not printing a label. label values used as variable names and menu names.

log
A tiny sample from the log! This system has now done well over 1000 deployments. The standard log view generated from the php omits the driverpack bits, which is visable from the menu under Advanced mode view.

menu
This ultimately creates the syslinux/pxelinux menu system. PHP uses these SQL statements to build up the menu .cfg file on-the-fly

It makes it very flexible, extensible, quick to change and customisable in any way imaginable. If you dont know SQL it should still be pretty easy to figure out to suit.

schema
This sets out the schema (partition scheme if you will) of the imaged pc. e.g. "Windows XP Domain 20% D:"

system
This defines the kernel/initrd the client uses, the IP of the server (serveraddr), the source path of the system (spath) , the initial run script (runinit)

Test system has alternate kernel / initial ramdisk / run script or any combination thereof by altering the fields.

This allows testing without interfering with the main system. (the SQL stays live, but breaking everything from a typo is a lot harder in it!)