- <para>It should be noted here that SATA (Serial ATA) devices have been
- known to exist with both a PCI SCSI device class, and with a PCI IDE
- device class. Under linux 2.6 kernels, all SATA modules need to be listed
- in modprobe.conf under 'scsi_hostadapter' lines. This case is handled in
- the hardware loading scripts by making the assumption that if an IDE
- device matches a loadable module, it should be put in the modprobe.conf
- file, as 'real' IDE drivers are all currently built into the kernel, and
- do not need to be loaded. SATA devices that have a PCI SCSI device class
- are easily identified.</para>
-
- <para>It is enssential that the modprobe.conf configuration file contain
- the correct drivers for the disks on the system, if they are present, as
- during kernel installation the creation of the initrd (initial ramdisk)
- which is responsible for booting the system uses this file to identify
- which drivers to include in it. A failure to do this typically results in
- an kernel panic at boot with a 'no init found' message.</para>
+ <section>
+ <title>Build Configuration Options</title>
+
+ <para>The configuration file for builds (the default being located at
+ configurations/default/configuration, contains the following values that
+ can be modified to result in a custom build boot cd:</para>
+
+ <para><itemizedlist>
+ <listitem>
+ <para>EXTRA_VERSION</para>
+
+ <para>Set this to add extra version information to this cd. This
+ will be added to the result ISO name, and on the cd. By doing so,
+ you will be able to differentiate the cds from PlanetLab Boot cds
+ (which have no extra version.</para>
+ </listitem>
+
+ <listitem>
+ <para>DESCRIPTION</para>
+
+ <para>A simple text description, one line, of the boot cd.</para>
+ </listitem>
+
+ <listitem>
+ <para>ROOT_PASSWORD</para>
+
+ <para>The crypted password to use for the root account on the boot
+ cd. Only applies to the boot cd, not the root account on an
+ installed and fully running node.</para>
+ </listitem>
+
+ <listitem>
+ <para>PRIMARY_SERVER / BACKUP_SERVER</para>
+
+ <para>The hostname of the server to attempt to contact first, and
+ a backup server if that one fails.</para>
+ </listitem>
+
+ <listitem>
+ <para>PRIMARY_SERVER_PORT / BACKUP_SERVER_PORT</para>
+
+ <para>Which SSL port on the server we should contact (default SSL
+ port is 443). This rarely will need to be changed.</para>
+ </listitem>
+
+ <listitem>
+ <para>PRIMARY_SERVER_PATH / BACKUP_SERVER_PATH</para>
+
+ <para>The path containing the script this cd should download and
+ execute. Can either be a path to an exact file, like
+ /boot/bootscript, or, can be a directory or dynamically executed
+ file, like /boot/index.php or just /boot. In this case, the
+ resultant output of that file/directory should be a signed and
+ executable script.</para>
+ </listitem>
+
+ <listitem>
+ <para>PRIMARY_SERVER_CERT / BACKUP_SERVER_CERT</para>
+
+ <para>The SSL CA certificate(s) for the above server(s). This is
+ used to validate that the server we are contacting has not been
+ spoofed.</para>
+ </listitem>
+
+ <listitem>
+ <para>PRIMARY_SERVER_GPG / BACKUP_SERVER_GPG</para>
+
+ <para>The GPG public key(s) of the private key(s). that was used
+ to sign the script that will be returned by PRIMARY_SERVER_PATH or
+ BACKUP_SERVER_PATH</para>
+ </listitem>
+
+ <listitem>
+ <para>NODE_CONFIGURATION_FILE</para>
+
+ <para>If this cd is to be used exclusively by a single node, that
+ node's network configuration file can be placed on the cd. This is
+ the path on the local system to that configuration file, which
+ will be copied to a known location on the cd and used during boot
+ up.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>With regard to file paths: for the locations of the keys,
+ certificates, and optionally node configuration files, it is easiest to
+ place these files inside the directory with the bootcd configuration
+ file, and simply use the name of the file for the value. See the default
+ configuration file for an example.</para>
+ </section>
+
+ <section>
+ <title>Build Package Sources</title>
+
+ <para>The packages used during the build process, by default, are
+ downloaded from the current PlanetLab Central boot server. To change
+ this, the file yum.conf, in the checked out bootcd_v3 directory, will
+ need to be modified. The yumgroups.xml file, also located in the same
+ directory, is used by the build process to identify which packages
+ should be placed on the resultant cd image. This file should be located
+ in one of the yum rpm repositories specified in yum.conf.</para>
+ </section>