Novell Home

Creating an Online Install Site

Overview

An Online Install Site is a web site accessed by SLES/SLED 10 utilities to install third-party software. Customers may use online install sites during the SLES installation (by selecting "Add-on Product" on an installation screen) or after a system is installed (by using the YaST "Add-on Product" utility).

Partners who request driver kits using the Driver Process Build Service will be provided with an online install site as part of their driver kit. Partners who wish to create their own driver kits may follow the instructions on this page to create their own online install site.

Please note that, for the purposes of the Driver Process, an online install site is different from an online update site: Driver Process online install sites are YaST repositories, whereas Driver Process online update sites are YUM repositories containing patches.

Definitions

Please see Driver Process Terminology.

Step-by-Step Instructions

Create the YaST Repository

  • Prerequisites:
  1. RPM(s) (preferably signed) built as detailed in the document /usr/src/linux/Documentation/kbuild/modules.txt and Kernel Module Packages Manual for CODE 10
  2. Download site with public read access.
  • Create a staging directory on your local system.
  • In your staging directory, create the following directory structure:
    <staging>/
          media.1/	         
 		suse/               
		i386/               
		i486/                
 		.                
 		.                
 		.              
          	setup/
           	  descr/ 
  • Place RPMs for different supported architectures in the appropriate architecture directories.
  • Create a file "media" (containing at least the author name, creation date, and number of media) in the "media.1" directory. Example:
    SUSE Linux Products GmbH  
    20060505000500   
    1 
  • Also in the "media.1" directory, create a "products" file to describe the different products and their locations on your Add-on media. Example:
   / product_1_name 
   product_2_directory product_2_name
   product_3_directory product_3_name  
    			    
  • Create directory.yast files by typing "ls -A1 -p >directory.yast" in each directory except the <staging>/suse/<arch> directories (where the RPMs are located).
  • Create MD5SUMS files by typing "md5sum * >MD5SUMS" in each <staging>/suse/<arch>/ directory.
  • Install the autoyast2-utils package.
  • From within <staging>/suse, run "create_package_descr -C" to create package description files in <staging>/suse/setup/descr/.
  • Create a <staging>/content file as detailed in Creating Add-Ons. Example:
    PRODUCT x1000_8.0.0_SLE10_GA_driver_kit 
    VERSION 1.0 
    DISTPRODUCT test-x1000-GA 
    DISTVERSION 8.0.0 
    VENDOR Novell, Inc. 
    LABEL test-x1000 GA add-on 
    REQUIRES sles-release-10 
    ARCH.i586 i586 i486 i386 noarch 
    ARCH.i486 i486 i386 noarch 
    ARCH.i386 i386 noarch 
    DEFAULTBASE i586 
    DESCRDIR suse/setup/descr 
    DATADIR suse 
    UPDATEURLS 
    META SHA1 04ef39995b65f02d81d6e1cc22fffda5c3a2a40e MD5SUMS 
    META SHA1 b8b7146ce7b1e957bec2978ecaa38078db400ce5 pacakges 
    META SHA1 12ee25db081bf57beaef32b798262a18f9242216 packages.DU
      
Note 1: The "META SHA1 ..." lines list the sha1 message digests of each file in the <staging>/suse/setup/descr/ directory. To obtain these digest values, run "sha1sum <filename>" for each file.
Note 2: If the add-on product/repository is intended to replace a previous product, the content file should include an "OBSOLETES" tag. As an example, the following content file would be for a product intended to replace the "x1000_8.0.0_SLE10_GA_driver_kit" product described in the content file shown above.
    PRODUCT x1000_8.0.0_SLE10_SP_driver_kit 
    VERSION 1.1 
    DISTPRODUCT test-x1000-SP1 
    DISTVERSION 8.0.0 
    VENDOR Novell, Inc. 
    LABEL test-x1000 SP1 add-on 
    REQUIRES sles-release-10-sp1 
    OBSOLETES product:x1000_8.0.0_SLE10_GA_driver_kit < 1.1 
    ARCH.i586 i586 i486 i386 noarch 
    ARCH.i486 i486 i386 noarch 
    ARCH.i386 i386 noarch 
    DEFAULTBASE i586 
    DESCRDIR suse/setup/descr 
    DATADIR suse 
    UPDATEURLS 
    META SHA1 04ef39995b65f02d81d6e1cc22fffda5c3a2a40e MD5SUMS 
    META SHA1 b8b7146ce7b1e957bec2978ecaa38078db400ce5 pacakges 
    META SHA1 12ee25db081bf57beaef32b798262a18f9242216 packages.DU
       .
       .
       .
				

Sign the YaST Repository

If you do not already have an established key, create one:

    gpg -q --gen-key	  
  • Get the value of this key (temporarily store it in the MY_KEY variable):
    MY_KEY=$( gpg --list-secret-keys | grep "^sec"|sed -e 's/.*\///;s/ .*//g;' | tail -n 1 )	  
  • From within your staging directory, sign the content and media.1/products files and export the key:
    gpg --detach-sign -u "$MY_KEY" -a content	  
    gpg --export -a -u "$MY_KEY" > content.key	  
    gpg --detach-sign -u "$MY_KEY" -a media.1/products	  
    gpg --export -a -u "$MY_KEY" > media.1/products.key	  
  • Export your key:
    gpg --export -a -u "$MY_KEY" > gpg-pubkey-MY_KEY.asc	  
  • In the <staging> directory, recreate the directory.yast file by typing "ls -A1 -p > directory.yast".
  • In the <staging>/media.1 directory, recreate the directory.yast file by typing "ls -A1 -p > directory.yast".

Test the YaST Repository

  • Using the SLES/SLED 10 YaST2->"Installation Sources" utility, add your staging directory as a local installation source. Ensure that the KMPs provided in your YaST repository are visible. Install the KMPs as necessary to ensure that they function as expected.

Move the YaST Repository to the Host Site

  • Copy the entire contents of your staging directory to your http or ftp site.

 

© 2014 Novell