Creating an Online Install Site
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.
Please see Driver Process Terminology.
Create the YaST Repository
- Note 1: Detailed instructions on creating YaST Add-on Products/repositories is provided in the document Creating Add-Ons.
- Note 2: A GUI tool to create YaST Add-ons may be obtained at Creating Add-On Media with YaST.
- 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
- 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.