BigAdmin System Administration Portal
Article de fond
Print-friendly VersionPrint-friendly Version

Application de patch à une image miniracine sur le système d'exploitation Solaris 10 pour plates-formes x86 ou SPARC

Enda O'Connor, février 2009

Synthèse

Cet article décrit comment appliquer le dernier patch de mise à jour du noyau (KU, Kernel Update), ou tout autre patch, à une image miniracine SPARC ou x86 pour le programme d'installation JumpStart. L'article couvre les rubriques et scénarios suivants :

Introduction

Dans certains cas, Sun propose la prise en charge du matériel via des patchs de pilote. Sun fournit ces patchs de pilote pour prendre en charge le matériel tiers, comme les serveurs BladeCenter IBM. Une autre raison pour laquelle Sun peut proposer la prise en charge du matériel est afin de permettre l'installation d'une version particulière du système d'exploitation Solaris sur du matériel récent sans avoir besoin de reconcevoir la version en question. Dans de tels cas, il est souvent nécessaire d'appliquer un patch de pilote particulier. Le plus souvent, le processus implique l'installation du dernier patch KU pour le système d'exploitation en question.

Cet article décrit comment application de patch à une image miniracine pour créer une miniracine modifiée contenant le dernier patch KU. Le système d'exploitation Solaris utilisé dans les procédures de cette rubrique est Solaris 10 5/08. Cependant, la procédure est la même pour toutes les versions de Solaris 10.

Le système d'exploitation Solaris pour plates-formes x86 utilise GRUB pour initialiser le système comme à partir de la version 1/06 de Solaris 10. Pour plus d'informations sur l'initialisation GRUB, reportez-vous au Guide d'administration système : administration de base sur le site http://docs.sun.com/app/docs/doc/817-1985.

À propos de l'image miniracine

La miniracine est un système de fichiers racine (/) minimal amorçable (bootable) qui réside sur le support d'installation de Solaris. Une miniracine comprend tous les logiciels Solaris requis à l'initialisation du système pour opérer des installations ou des mises à niveau du système. La miniracine est utilisée par le programme d'installation JumpStart ou le support d'installation pour l'installation complète du SE Solaris. La miniracine s'exécute uniquement dans le cadre du processus d'installation.

Il est important de comprendre que les instructions de cet article décrivent uniquement comment installer un patch sur l'image miniracine. Lorsque vous appliquez un patch à l'image miniracine, le patch n'est pas installé sur le système où aura lieu l'installation du SE Solaris ni sur celui où la commande patchadd -C est exécutée. L'application de patch à l'image miniracine sert uniquement à ajouter la prise en charge de pilotes et de matériel au processus effectuant l'installation du SE Solaris. Par exemple, le nouveau matériel peut être une carte mère dont la prise en charge du pilote est comprise dans un patch KU ultérieur.

Il faut appliquer un patch à l'image installée avant la première initialisation. Ce processus se produit après la fin de l'installation. Un script de fin est invoqué, entraînant l'installation du patch KU sur le système nouvellement installé avant la première initialisation. L'installation d'un patch KU sur le système actuel en cours d'installation se distingue du processus d'application de patch à la miniracine qui est décrit dans cet article.

Avant de commencer

Assurez-vous de bien appliquer les derniers utilitaires de patch au système sur lequel vous patchez la miniracine.

  • Pour SPARC : 119254-xx
  • Pour x86 : 119255-xx

La commande suivante télécharge le patch 119254-62 dans le répertoire /tmp sur un système SPARC et applique ce patch :

#patchadd /tmp/119254-62

La commande patchadd est nécessaire dans toutes les procédures suivantes.

Si vous appliquez à une miniracine SPARC un patch qui contient déjà le patch KU 137137-09 (version Solaris 10 10/08), vous devez décompresser l'archive de la miniracine en utilisant tout d'abord /boot/solaris/bin/root_archive unpackmedia. Pour cela, vous avez besoin du SE Solaris 10 10/08 (ou devez avoir installé 137137-09 via patchadd), car c'est la première version qui contient une root_archive.

Si vous n'appliquez un patch qu'à une miniracine x86, le système sur lequel la commande patchadd est exécutée doit être seulement au niveau de Solaris 10 1/06 pour pouvoir appliquer le patch KU 137138-09.

Si vous avez besoin d'exécuter la commande /boot/solaris/bin/root_archive (en appliquant 137137-09 à la miniracine, en appliquant un patch à une miniracine pour le SE Solaris 10 10/08 ou une version ultérieure, ou en appliquant un patch à une miniracine x86), alors la commande doit être exécutée sur la même architecture que l'image d'installation. C'est-à-dire que si l'image d'installation est de type SPARC, alors la root_archive doit être exécutée sur un système SPARC. Il en est de même pour x86; si l'image est de type x86, root_archive doit être exécutée sur un système x86.

Vous trouverez ci-dessous un exemple de décompression de miniracine pour le SE Solaris 10 10/08 pour les plates-formes SPARC sur un serveur JumpStart x86 :

Il est conseillé de toujours créer une copie de l'image courante en utilisant setup_install_server, afin de ne pas interférer sur une installation en cours depuis l'image. Il est également conseillé de conserver une copie de l'image originale. C'est pour cette raison que tous les exemples de cet article utilisent setup_install_server.

Application de patch à une miniracine SPARC du SE Solaris 10 5/08 et versions précédentes avec le patch KU 137137-09

L'exemple suivant montre comment installer le patch KU 137137-09 sur une image miniracine SPARC de Solaris 10 5/08.

Remarque : Vous devez être superutilisateur (root) ou avoir des droits équivalents pour effectuer cette tâche.

1. Accéder au répertoire Tools où se situe l'image d'installation pour le SE Solaris 10 5/08 pour plates-formes SPARC :

# cd /export/images/SPARC/solaris_10_u5/Solaris_10/Tools

2. Exécuter la commande setup_install_server :

# ./setup_install_server /export/u5
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

La configuration du serveur d'installation est maintenant terminée.

3. Modifier les répertoires :

# cd /export/u5/Solaris/Tools/Boot/sbin

4. Effectuer une copie du fichier sulogin :

# cp sulogin sulogin.orig

5. Définir la variable d'environnement suivante :

# export PKG_NONABI_SYMLINKS=true

6. Installer le patch KU 137137-09 et les autres patchs requis en utilisant patchadd :

patchadd -C /export/u5/Solaris/Tools/Boot /export/119254-59
patchadd -C /export/u5/Solaris/Tools/Boot /export/138866-01
patchadd -C /export/u5/Solaris/Tools/Boot /export/119252-26
patchadd -C /export/u5/Solaris/Tools/Boot /export/124628-08
patchadd -C /export/u5/Solaris/Tools/Boot /export/124630-19
patchadd -C /export/u5/Solaris/Tools/Boot /export/137137-09

Remarque : les patchs 124630-20 (ou version ultérieure) et 137137-09 sont interdépendants; tous deux doivent être appliqués à la miniracine.

7. Modifier svc :

Attention : la variable SVCCFG_REPOSITORY doit pointer vers l'emplacement du fichier repository.db de la miniracine décompressée. Dans cette procédure, l'emplacement est le répertoire /export/u5/Solaris_10/Tools/Boot/etc/svc. Le fichier repository.db est situé dans le répertoire etc/svc de la miniracine décompressée. L'échec de l'export de cette variable entraîne la modification du référentiel actuel, ce qui empêche le système actuel de s'initialiser correctement.

8. L'application du patch KU 137137-09 Solaris 10 10/08 signifie que la miniracine patchée utilisera SPARC NewBoot, qui nécessite que la miniracine soit compressée :

# /Boot/boot/solaris/bin/root_archive packmedia /export/u5 /export/u5/Solaris_10/Tools/Boot

Si le système sur lequel la miniracine est patchée est au niveau de Solaris 10 10/08 (137137-09) ou supérieur, vous pouvez directement utiliser #/boot/solaris/bin/root_archive.

Vous pouvez voir s'il y a des erreurs à ce stade avec la commande umount; vous pouvez ignorer ces erreurs.

Remarque :

  • L'étape 8 n'est nécessaire que si vous appliquez le patch KU 137137-09 à une miniracine de version antérieure à Solaris 10 10/08, c'est-à-dire dans le cas où vous patchez la miniracine du SE Solaris 5/08 ou version antérieure avec 137137-09. Si vous appliquez un patch à une miniracine de version antérieure à Solaris 10 10/08 sans appliquer 137137-09, alors l'étape 8 n'est pas nécessaire.

  • Si le système sur lequel vous effectuez un patch n'est pas au niveau de mise à jour Solaris 10 10/08, la commande /boot/solaris/bin/root_archive n'existera pas. Dans ce cas, il est possible d'utiliser root_archive à partir du patch 137137-09 ou de l'extraire du support d'installation Solaris 10 10/08. La commande root_archive dans 137137-09 est disponible à 137137-09/SUNWcakr.u/reloc/boot/solaris/bin/root_archive. Bien qu'elle fasse partie d'un package spécifique à une architecture, elle n'est pas elle-même spécifique à une architecture, et elle peut fonctionner à partir du SE Solaris 10 FCS. Donc, la copier vers /tmp/root_archive et utiliser /tmp/root_archive au lieu de /boot/solaris/bin/root_archive à l'étape 8. Assurez-vous d'appliquer la dernière révision de 119254 avant de patcher un système de version antérieure à Solaris 10 10/08. Cela s'applique uniquement si le système où patchadd s'exécute est à un niveau de version antérieure à Solaris 10 10/08.

Application de patch à une miniracine SPARC de Solaris 10 10/08 et versions ultérieures

La procédure suivante illustre la méthode pour application de patch à une image miniracine SPARC de Solaris 10 10/08. Pour faciliter la décompression de la miniracine Solaris 10 10/08, la procédure est effectuée sur un SE Solaris 10 10/08.

Remarque : Vous devez être superutilisateur (root) ou avoir des droits équivalents pour effectuer cette tâche.

1. Accéder au répertoire Tools où se situe l'image d'installation pour le SE Solaris 10 5/08 pour plates-formes SPARC :

# cd /export/images/SPARC/solaris_10_u6/Solaris_10/Tools

2. Exécuter la commande setup_install_server :

# ./setup_install_server /export/u6
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

La configuration du serveur d'installation est maintenant terminée.

3. Décompresser la miniracine :

# mkdir /export/mr
# /boot/solaris/bin/root_archive unpackmedia /export/u6 /export/mr

4. Changer les répertoires :

# cd /export/mr/sbin

5. Effectuer une copie du fichiersulogin :

# cp sulogin sulogin.orig

6. Définir la variable d'environnement suivante :

# export PKG_NONABI_SYMLINKS=true

7. Installer les patchs requis :

patchadd -C /export/mr /export/138888-02

8. Modifier svc :

Attention : la variable SVCCFG_REPOSITORY doit pointer vers l'emplacement du fichier repository.db de la miniracine décompressée. Dans cette procédure, cet emplacement est le répertoire /export/mr/etc/svc. Le fichier repository.db est situé dans le répertoire etc/svc de la miniracine décompressée. L'échec de l'export de cette variable entraîne la modification du référentiel actuel, ce qui empêche le système actuel de s'initialiser correctement.

# export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db
# svccfg -s system/manifest-import setprop start/exec = :true
# svccfg -s system/filesystem/usr setprop start/exec = :true
# svccfg -s system/identity:node setprop start/exec = :true
# svccfg -s system/device/local setprop start/exec = :true
# svccfg -s network/loopback:default setprop start/exec = :true
# svccfg -s network/physical:default setprop start/exec = :true
# svccfg -s milestone/multi-user setprop start/exec = :true

9. Compresser la miniracine patchée :

# /Boot/boot/solaris/bin/root_archive packmedia /export/u6 /export/mr

Remarque : Vous pouvez voir s'il y a des erreurs à ce stade par la commande umount; vous pouvez ignorer ces erreurs.

Application de patch à une miniracine SPARC de Solaris 10 5/08 et versions précédentes sans le patch KU 137137-09

L'exemple suivant montre comment installer le patch KU 127127-09 sur une image miniracine SPARC de Solaris 10 8/07. Plus globalement, la procédure permet l'application d'un patch à une miniracine antérieure au SE Solaris 10 10/08 sans appliquer le patch KU 137137-09. 137137-09 n'a pas été appliqué, alors aucune des étapes spécifiques à NewBoot n'est requise.

Remarque : Vous devez être superutilisateur (root) ou avoir des droits équivalents pour effectuer cette tâche.

1. Accéder au répertoire Tools où se situe l'image d'installation du SE Solaris 10 8/07 pour plates-formes SPARC :

# cd /export/images/SPARC/solaris_10_u4/Solaris_10/Tools

2. Exécuter la commande setup_install_server :

# ./setup_install_server /export/u4
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

La configuration du serveur d'installation est maintenant terminée.

3. Changer les répertoires:

# cd /export/u4/Solaris/Tools/Boot/sbin
4. Effectuer une copie du fichier sulogin :

# cp sulogin sulogin.orig

5. Définir la variable d'environnement suivante :

# export PKG_NONABI_SYMLINKS=true

6. Installer 127127-11 et les autres patchs requis :

patchadd -C /export/u4/Solaris/Tools/Boot /export/124630-17
patchadd -C /export/u4/Solaris/Tools/Boot /export/127127-11

Remarque : Si vous n'appliquez pas le patch KU 137137-09 à la miniracine, le patch 124630-17 doit être utilisé. Les patchs 124630-18 (ou versions supérieures) sont incompatibles avec les noyaux miniracine antérieurs à 137137-09. Cette restriction s'applique à la miniracine uniquement ; la restriction ne s'applique pas si vous patchez un environnement d'initialisation standard.

7. Modifier svc :

Attention : la variable SVCCFG_REPOSITORY doit pointer vers l'emplacement du fichier repository.db de la miniracine décompressée. Dans cette procédure, cet emplacement est le répertoire /export/u4/Solaris_10/Tools/Boot/etc/svc. Le fichier repository.db est situé dans le répertoire etc/svc de la miniracine décompressée. L'échec de l'export de cette variable entraîne la modification du référentiel actuel, ce qui empêche le système actuel de s'initialiser correctement.

L'image /export/u4 a été patchée et est prête pour une utilisation. 127127-11 (le patch KU de Solaris 5/08) y sera appliqué.

Application de patch à une miniracine x86 d'une version ultérieure à Solaris 10 1/06 avec le patch KU 137138-09

Remarque : Vous devez être superutilisateur (root) ou avoir des droits équivalents pour effectuer cette tâche.

1. Créer les répertoires d'installation et de la miniracine dans le répertoire /export :

# mkdir /export/mr

2. Accéder au répertoire Tools où se situe l'image d'installation du SE Solaris 10 5/08 pour plates-formes x86 :

# cd /export/images/x86/solaris_10_u5/Solaris_10/Tools

3. Exécuter la commande setup_install_server :

# ./setup_install_server /export/u5
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Copying /boot x86 netboot hierarchy...
Install Server setup complete
#

La configuration du serveur d'installation est maintenant terminée.

4. Exécuter la commande suivante pour décompresser la miniracine :

# /boot/solaris/bin/root_archive unpackmedia /export/u5 /export/mr

5. Modifier les répertoires :

# cd /export/mr/sbin

6. Effectuer une copie du fichier sulogin :

# cp sulogin sulogin.orig

7. Définir la variable d'environnement suivante :

# export PKG_NONABI_SYMLINKS=true

8. Appliquer tous les patchs requis à la miniracine :

# patchadd -C /export/mr /export/patch-id

Par exemple :

# patchadd -C /export/mr /export/119255-59
# patchadd -C /export/mr /export/119253-26
# patchadd -C /export/mr /export/124629-08
# patchadd -C /export/mr /export/124631-19
# patchadd -C /export/mr /export/138402-01
# patchadd -C /export/mr /export/138402-01
# patchadd -C /export/mr /export/137138-09

9. Exporter la variable SVCCFG_REPOSITORY :

# export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db

Attention : la variable SVCCFG_REPOSITORY doit pointer vers l'emplacement du fichier repository.db de la miniracine décompressée. Dans cette procédure, cet emplacement est le répertoire /export/mr/etc/svc. Le fichier repository.db est situé dans le répertoire etc/svc de la miniracine décompressée. Échec pour exporter cette variable entraînant la modification du référentiel actuel, cela a empêché le système actuel de s'initialiser correctement.

10. Modifier le fichier repository.db de la miniracine :

# svccfg -s system/manifest-import setprop start/exec = :true
# svccfg -s system/filesystem/usr setprop start/exec = :true
# svccfg -s system/identity:node setprop start/exec = :true
# svccfg -s system/device/local setprop start/exec = :true
# svccfg -s network/loopback:default setprop start/exec = :true
# svccfg -s network/physical:default setprop start/exec = :true
# svccfg -s milestone/multi-user setprop start/exec = :true

Pour plus d'informations, voir la page svccfg (1M) du manuel.

11. Restaurer le fichier original sulogin.orig :

# cd /export/mr/sbin
# mv sulogin.orig sulogin

12. Compresser la miniracine contenant les modifications que vous avez apportées. Placer la miniracine modifiée dans le répertoire /export/u5 :

# /boot/solaris/bin/root_archive packmedia /export/u5 /export/mr

Cette étape remplace principalement /export/u5/boot/x86.miniroot, ainsi que d'autres fichiers nécessaires.

Installer un système avec la miniracine modifiée

Dans le cas d'un système avec une miniracine modifiée, lors du démarrage de l'installation, le contenu suivant s'affiche :

SunOS Release 5.10 Version Generic_137138-09 32-bit
Ou, si vous installez une miniracine SPARC, le message suivant s'affiche :

SunOS Release 5.10 Version Generic_137137-09 32-bit

Ces messages indiquent que la miniracine a été correctement patchée, en supposant qu'elle a été patchée avec 137137-09 ou 137138-09. Si un autre patch KU a été utilisé, il sera affiché à la place.

Remarque : Le message est affiché par la miniracine. Comme expliqué précédemment, l'image réelle qui est installée ne contient pas le patch 137137-09. Le processus d'ajout de ce patch à la dernière image installée est clos à l'aide d'un script de fin. Ce processus fait partie du programme personnalisé JumpStart.

Pour en savoir plus

Voici quelques ressources supplémentaires :

BigAdmin