The OS provisioning plug-in uses the features provided through the JumpStart Enterprise Toolkit (JET) technology in conjunction with the AutoYaST functionality to provision the SuSe Linux Operating System (OS). When you set up a SuSe Linux server, you create JET modules that run AutoYaST operations to provision the OS. For more information about JET, see JumpStart Enterprise Toolkit (JET) Technology.
The SuSe Linux boot and install server includes the following software:
Linux (tested with RedHat Advanced Server 3.0 and 4.0) or Solaris OS
TFTP server (tftp-server package)
NFS server (nfs-utils package)
N1 SPS Remote Agent (RA) for Linux. For information, see How to Prepare a Physical Host in Sun N1 Service Provisioning System 5.2 System Administration Guide.
Before you create the SuSe Linux image server, you need to perform the following tasks.
For provisioning without JET, set up NFS access to the SuSe Linux images on your boot and install server.
For instructions, see How to Set up NFS Access.
Set up TFTP access to the SuSe Linux images on your boot and install server.
For instructions, see Setting Up TFTP Access for SuSe Linux Provisioning.
Create the SuSe Linux OS installation image.
For instructions, see Copying the SuSe Linux Files.
If you are not using JET to provision the SuSe Linux OS, you must set up NFS access on your network. The OS distribution should be accessible through NFS for each subnet served from this boot and install server.
Be sure that the NFS utililties are installed on the boot and install server.
Edit the /etc/exports file and add lines similar to the following example:
/export 10.42.42.*(ro) |
Enable NFS and start it.
Use commands similar to the following, which apply to RedHat AS 3.0:
#chkconfig --level 35 nfs on #service nfs restart |
You must configure your network to enable TFTP access to provision the SuSe Linux OS. This section provides two separate procedures that describe how to enable TFTP access.
If you use JET to create your SuSe Linux image server, the TFTP service is automatically configured to support provisioning. You need to create or copy additional directories and files to the TFTP root directory on the boot and install server. The OS distribution should be accessible through NFS for each subnet served from this boot and install server.
Be sure that the appropriate TFTP server software is installed on the boot and install server.
Copy or create the following directories under the TFTP root directory:
/tftpboot/pxelinux.0 – You can download the Linux PXE bootstrap file from http://syslinux.zytor.com/pxe.php.
/tftpboot/pxelinux.cfg/ – This directory contains the PXE configuration files. These files contain parameters specific to each hardware platform and Linux distribution.
For instructions about how to create the PXE configuration file, see How to Create a PXE Configuration File for SuSe Linux OS Provisioning.
This task uses /tftpboot as an example of the TFTP root directory.
The distribution should be accessible through NFS for each subnet served from this boot and install server.
Be sure that the appropriate TFTP server software is installed on the boot and install server.
Look for the server_args parameter in the /etc/xinet.d/tftp file.
This defines the root directory used by the TFTP server. If the directory does not exist, create it.
This task uses /tftpboot as an example.
Enable TFTP and restart the xinetd daemon.
Use commands similar to the following example, which works on RedHat AS 3.0:
#chkconfig tftp on #service xinetd restart |
Copy or create the following directories under the TFTP root directory:
/tftpboot/pxelinux.0 – You can download the Linux PXE bootstrap file from http://syslinux.zytor.com/pxe.php.
/tftpboot/pxelinux.cfg/ – This directory contains the PXE configuration files. These files contain parameters specific to each hardware platform and Linux distribution.
/tftpboot/pxelinux.cfg/v20z-config – A specific directory for the V20z platform.
/tftpboot/linux – The installation kernel found under the distribution, in boot/loader.
/tftpboot/initrd – The installation RAM disk found under the distribution, in boot/loader.
To create SuSe Linux OS images, you copy the files from the product media to a boot and install server or other system that is accessible over the network through NFS. You can locate these copies on a system that is running either the SuSe Linux OS or the Solaris OS. You are not required to locate these copies on your SuSe Linux boot and install server.
To copy the SuSe Linux files, you extract the contents of the product CDs into specific directory structure. For instructions about how to copy the SuSe Linux files, see http://www.suse.com/~ug/AutoYaST_FAQ.html#a6.
To automate the provisioning of the SuSe Linux Enterprise Server 8.0 release, you must modify the installer script after you create the SuSe Linux 8.0 installation image. See How to Modify the Installer Script for Automated SuSe Linux Enterprise Server 8.0 Provisioning for more information.
If you locate these copies on a system that is not the boot and install server, the copies must meet the following criteria.
For SuSe Linux provisioning that uses JET, the boot and install server and target host must be able to access the OS file copies through NFS.
For SuSe Linux provisioning that does not use JET, the target host must be able to access the OS file copies through NFS.
The SuSe Linux Enterprise Server (SLES) 8.0 installer includes code that checks for the presence of a keyboard on the system to be installed. This code prevents the OS Provisioning Plug-In from performing an automated installation of the SLES 8.0 OS. To fully automate the provisioning of the SLES 8.0 OS, you must edit the installer to remove this code. Follow these steps.
Go to the boot directory that contains the root file for your SLES 8.0 image.
The boot directory is located in the copy of the first SLES 8.0 CD.
Create a backup copy of the root file.
# cp root root.orig |
Mount the copy of the file in loopback mode in a temporary directory.
# mkdir /tmp/loop # mount -o loop root.orig /tmp/loop |
Create a temporary working directory.
# mkdir /tmp/work |
Copy the files from the root file into the temporary working directory.
# cd /tmp/work # rsync -avz /tmp/loop/* . |
In a text editor, open the YaST2 installer script that is located in our temporary working directory.
If you use the directory names as specified in the previous steps, the YaST2 installer script is located in the /tmp/work/usr/lib/YaST2/bin/ directory.
Delete the following code segment from the YaST2 installer script.
# iSeries and p690 dont have a keyboard but a special console, no need to # run via serial console. if [ ! "$update" -a "$Keyboard" = "0" -a ! "$Braille" -a "$NOTISERIES" != 0 -a "$NOTHVCCONSOLE" != 0 -a "$HOSTTYPE" != "s390" -a "$HOSTTYPE" != "s390x" ] ; then log "no keyboard?" echo "No keyboard detected. Trying to connect via serial interface /dev/ttyS0." echo "On your terminal computer start the user interface with" echo "y2base \"serial(115200):/dev/ttyS0\" qt -geometry 800x600 -style=platinum" echo "or" echo "y2base \"serial(115200):/dev/ttyS1\" qt -geometry 800x600 -style=platinum" echo "or start the YaST2 menu by typing \"yast2\" and select YaST2/Remote Install" y2base "$modulename" $moduleargs "serial(115200):/dev/ttyS0" --timeout 15 y2exitcode=$? [ $y2exitcode -eq 0 ] && y2cc_ncurses if [ "$y2exitcode" = 13 ] ; then echo "Connection timeout. Continuing with normal setup." else exit $y2exitcode fi fi
Recreate the root file to include the modified YaST2 installer script.
# cd /tmp # mkfs.cramfs work root |
Copy the new root file to your copy of the first SLES 8.0 CD.
# cp /tmp/root suse-copy-path/boot/root |
Where suse-copy-path is the path to the copy of the first SLES 8.0 CD.
Delete your temporary working directory, and remove the loopback to the temporary directory.
# rm -rf work # umount /tmp/loop |
If, after you edit the SLES 8.0 installer, the installation switches to interactive mode and asks you to confirm the license agreement, rename the info.txt file located in the copy of the first SLES 8.0 CD. For example:
# mv suse-copy-path/media.1/info.txt suse-copy-pathmedia.1/info.txt.bak
After you rename the file, try to provision the SLES 8.0 OS again.
After you copy the SuSe Linux images, you need to create the SuSe Linux image server, or boot and install server, in your N1 SPS environment. You must make the boot and install server an N1 SPS Remote Agent, and add the boot and install server as a Remote Agent to the Master Server.
To create the server from the browser interface, follow these steps.
In the Common Tasks section of the provisioning software page, select OS Provisioning.
On the OS Provisioning Common Tasks page, click Create in the Linux Image Servers section.
On the Plans Details page, click Run.
Choose variables to use for this plan.
To use an existing variables set, select a name from the drop-down menu in the LinuxServer component row of the Plan Parameters table.
To create a new variables set, click Select from List in the LinuxServer component row of the Plan Parameters table.
Click Create Set.
Type a name for the variables set.
If needed, change the linuxHost variable to the location of the command-line interface.
By default, the virtual Linux host name is set to the host name of the target host with -linux appended.
Do not modify the installPath or the boot_server_tftp_root_directory variables.
Save the variables set.
Select the variables set that you just saved from the drop-down menu in the LinuxServer component row of the Plan Parameters table.
If you want to use another component's variable settings, click Import Set From Component.
The Import Variable Settings window displays.
If necessary, navigate to the Folder that contains the component with the variable settings you want to import.
Select the component version.
Variable settings can vary between component versions. Ensure that the current components and the component from which you want to import variable settings share common variables. If the component from which you want to import variable settings does not share common variables with the component you want to use in your plan, the variable settings are not imported.
Click Import Variable Settings.
The variables settings are imported, and are displayed in the table.
On the Plan Details Run page, select the variable settings that you imported from the Variable Settings drop-down list, then click Select.
If you want to use component variable settings that are stored in a file, follow these steps.
In the Import Sets from File text field, enter the path to the variable settings file that you want to use.
To browse through the file system to find the appropriate file, click the Browse button.
Click Import.
The variables settings are imported, and are displayed in the table.
If the file from which you want to import variable settings does not share common variables with the component you want to use in your plan, the variable set is not imported.
On the Plan Details Run page, select the variable settings that you imported from the Variable Settings drop-down list, then click Select.
Select the host on which to create the Linux image server.
Click Run Plan (includes preflight).
To verify that the image server is created successfully, click the Hosts link in the left side of the provisioning server window.
You should see the name of the virtual host appended with -linux. For example, if you installed on host bikickstart, the virtual host is bikickstart-linux.
These steps install the SUNWjet, JetRedHat, and JetSuse packages on the boot and install server. The SUNWjet package sets up the TFTP server and the NFS share for the JET base directory, /opt/SUNWjet by default.
If your OS provisioning server is located on the same physical host as the boot and install server, you must configure the interfaces on the system before your provision any target hosts. The OS provisioning server does not automatically configure the interfaces of the boot and install server.
You can create a SuSe Linux image server from the N1 SPS browser interface or command-line interface.
The autoyast file should be placed on the SuSe Linux boot and install server in an NFS exported directory so that the target hosts can locate it, for example, /export/autoyast.
To create the server from the command line, type commands similar to the following:
# cr_cli -cmd cdb.vs.add -comp NM:/com/sun/n1osp/untyped/LinuxServer \ -name "linuxserver" -u admin -p admin -vars "boot_server_tftp_root_directory=/tftpboot" # cr_cli -cmd pe.p.run -u admin -p admin \ -PID NM:/com/sun/n1osp/untyped/LinuxServer-create \ -tar H:NM:bikickstart -comp + -vs linuxserver -pto 30 -nto 10 |
These commands install the SUNWjet, JetRedHat, and JetSuse packages on the boot and install server. The SUNWjet package sets up the TFTP server and the NFS share for the JET base directory, /opt/SUNWjet by default.
If your OS provisioning server is located on the same physical host as the boot and install server, you must configure the interfaces on the system before your provision any target hosts. The OS provisioning server does not automatically configure the interfaces of the boot and install server.