Guide d'installation de Solaris 10 : Solaris Live Upgrade et planification de la mise à niveau

Chapitre 5 x86 : Initialisation GRUB pour une installation Solaris

Ce chapitre décrit l'initialisation GRUB sur des systèmes x86 et qui concerne une installation Solaris. Ce chapitre se compose des sections suivantes :

x86 : GRUB Based Booting (Overview)

Depuis Solaris version 10 1/06, GRUB, chargeur d'initialisation Open Source, a été choisi comme chargeur d'initialisation par défaut dans le système d'exploitation Solaris.


Remarque –

L'initialisation GRUB n'est pas disponible sur les systèmes SPARC.


Le chargeur d'initialisation correspond au premier programme qui s'exécute lorsque vous démarrez un système. Une fois que vous avez démarré un système x86, le BIOS (Basic Input/Output System) effectue l'initialisation du processeur, de la mémoire et du matériel de plate-forme. Une fois l'initialisation terminée, le BIOS charge le chargeur d'initialisation à partir du périphérique d'initialisation configuré, puis transfère le contrôle du système au chargeur d'initialisation.

GRUB est un chargeur d'initialisation Open Source doté d'une interface de menu simple incluant des options d'initialisation prédéfinies dans un fichier de configuration. GRUB dispose également d'une interface de ligne de commande à laquelle vous pouvez accéder à partir de l'interface de menu pour exécuter diverses commandes d'initialisation. Dans le système d'exploitation Solaris, l'implémentation GRUB est conforme à la spécification d'initialisation multiple. Pour des informations détaillées sur la spécification, visitez l'adresse http://www.gnu.org/software/grub/grub.html.

Le noyau Solaris étant conforme à la spécification d'initialisation multiple, vous pouvez initialiser un système x86 Solaris à l'aide de GRUB. Avec GRUB, vous pouvez effectuer une initialisation et installer plusieurs systèmes d'exploitation facilement. Par exemple, vous pouvez initialiser les systèmes d'exploitation suivants sur un système :

L'avantage principal de GRUB est qu'il détecte automatiquement les systèmes de fichiers et les formats de noyau exécutables, vous permettant ainsi de charger un système d'exploitation sans avoir à enregistrer l'emplacement du noyau sur le disque. Avec une initialisation GRUB, le noyau est chargé en définissant le nom de fichier, le lecteur ainsi que la partition dans laquelle se trouve le noyau. Une initialisation GRUB remplace l'Assistant de configuration de périphérique Solaris et simplifie le processus d'initialisation à l'aide d'un menu GRUB.

x86 : Fonctionnement de l'initialisation GRUB

Une fois que GRUB contrôle le système, un menu s'affiche dans la console. Dans le menu GRUB, vous pouvez :

Un délai configurable est disponible pour initialiser l'entrée SE par défaut. L'activation d'une touche annule l'initialisation de l'entrée SE par défaut.

Pour voir un exemple de menu GRUB, reportez-vous à la section Description du menu GRUB principal.

x86 : Conventions de noms de périphériques GRUB

Les conventions de noms de périphériques utilisées par GRUB diffèrent légèrement des versions précédentes du système d'exploitation Solaris. La compréhension des conventions de noms de périphériques GRUB vous permet de spécifier correctement les informations relatives au lecteur et à la partition lorsque vous configurez GRUB sur votre système.

Le tableau suivant décrit les conventions de noms de périphériques GRUB.

Tableau 5–1 Conventions de noms pour les périphériques GRUB

Nom périphérique 

Description 

(fd0), (fd1)

Première disquette, seconde disquette 

(nd)

Périphérique réseau 

(hd0,0), (hd0,1)

Première et seconde partition fdisk du premier disque bios

(hd0,0,a), (hd0,0,b)

Les tranches 0 et 1 de Solaris/BSD sur la première partition fdisk du premier disque bios


Remarque –

Tous les noms de périphériques GRUB doivent être mis entre parenthèses. Les numéros de partitions sont comptabilisés à partir de 0 (zéro), et non à partir de 1.


Pour plus d'informations sur les partitions fdisk, reportez-vous à la section Guidelines for Creating an fdisk Partition du System Administration Guide: Devices and File Systems.

x86 : Informations relatives aux installations GRUB

Pour plus d'informations sur ces modifications, reportez-vous aux références suivantes :

Tableau 5–2 Informations sur les installations GRUB

Rubrique 

Tâches de menu GRUB 

Pour plus d'informations 

Installation 

Pour installer à l'aide du CD du système d'exploitation Solaris ou du DVD 

Guide d’installation de Solaris 10 : Installations de base.

Pour installer à partir d'une image d'installation réseau 

Partie II, Installation sur un réseau LAN du Guide d’installation de Solaris 10 : Installations basées sur les réseaux

 

Pour configurer un serveur DHCP pour les installations réseau 

Préconfiguration des informations de configuration système à l’aide du service DHCP - Tâches du Guide d’installation de Solaris 10 : Installations basées sur les réseaux

 

Pour installer à l'aide du programme JumpStart personnalisé 

Exécution d’une installation JumpStart personnalisée du Guide d’installation Solaris 10 : Installations JumpStart personnalisée et avancée

 

Pour activer ou revenir à un environnement d'initialisation à l'aide de Solaris Live Upgrade  

Administration système 

Pour des informations détaillées sur GRUB et les tâches administratives 

Chapitre 11, GRUB Based Booting (Tasks) du System Administration Guide: Basic Administration

x86 : Initialisation GRUB (Planification)

Cette section décrit les notions de base de l'initialisation GRUB ainsi que le menu GRUB.

Lorsque vous installez le système d'exploitation Solaris, deux entrées de menu GRUB sont installées par défaut sur le système. La première entrée est l'entrée SE Solaris. La seconde entrée est l'archive d'initialisation de secours utilisée pour la restauration du système. Les entrées de menu Solaris GRUB sont installées et mises à jour automatiquement dans le cadre du processus d'installation et de mise à niveau du logiciel Solaris. Ces entrées sont directement gérées par le système d'exploitation et ne doivent pas être modifiées manuellement.

Lors d'une installation standard du système d'exploitation Solaris, GRUB est installé sur la partition fdisk de Solaris sans modification du paramètre BIOS du système. Si le système d'exploitation ne se trouve pas sur le disque de démarrage de BIOS, vous devez effectuer l'une des opérations suivantes :

La méthode privilégiée est d'installer le système d'exploitation Solaris sur le disque de démarrage. Si plusieurs systèmes d'exploitation sont installés sur l'ordinateur, vous pouvez ajouter des entrées au fichier menu.lst. Ces entrées sont ensuite affichées dans le menu GRUB lors de la prochaine initialisation du système.

Pour de plus amples informations sur la coexistence de plusieurs systèmes d'exploitation, reportez-vous à la section How Multiple Operating Systems Are Supported in the GRUB Boot Environment du System Administration Guide: Basic Administration.

x86 : Installation GRUB à partir du réseau

L'exécution d'une initialisation de réseau GRUB nécessite un serveur DHCP configuré pour les clients PXE ainsi qu'un serveur d'installation fournissant le service tftp. Le serveur DHCP doit pouvoir répondre aux classes DHCP ainsi qu'aux fichiers PXEClient et GRUBClient. La réponse DHCP doit comprendre les informations suivantes :


Remarque –

rpc.bootparamd, qui est généralement une exigence du serveur pour l'exécution d'une initialisation réseau, n'est pas nécessaire pour une initialisation de réseau GRUB.


Si aucun serveur PXE ou DHCP n'est disponible, vous pouvez charger GRUB à partir du CD-ROM ou du disque local. Vous pouvez alors configurer manuellement le réseau sous GRUB et télécharger le programme d'initialisation multiple ainsi que l'archive d'initialisation à partir du serveur de fichiers.

Pour plus d'informations, reportez-vous à la section Présentation de l’initialisation et de l’installation sur le réseau à l’aide de PXE du Guide d’installation de Solaris 10 : Installations basées sur les réseaux.

Description du menu GRUB principal

Le menu GRUB s'affiche lorsque vous effectuez l'initialisation d'un système x86. Ce menu fournit la liste des entrées d'initialisation. Une entrée d'initialisation correspond à une instance SE installée sur votre système. Le menu GRUB est basé sur le fichier menu.lst, qui est un fichier de configuration. Le fichier menu.lst est créé par le programme d'installation Solaris et peut être modifié une fois l'installation terminée. Le fichier menu.lst détermine la liste des instances SE qui sont affichées dans le menu GRUB.


Exemple 5–1 Menu principal GRUB

Dans l'exemple suivant, le menu principal GRUB affiche les systèmes d'exploitation Solaris et Microsoft Windows. Un environnement d'initialisation Solaris Live Upgrade est également répertorié et est appelé second_disk. Consultez l'exemple suivant pour obtenir la description de chaque élément de menu.


GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
+-------------------------------------------------------------------+
|Solaris                                                            |
|Solaris failsafe                                                   |
|second_disk                                                        |
|second_disk failsafe                                               |
|Windows                                                            |
+-------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted. Press
enter to boot the selected OS, 'e' to edit the commands before
booting, or 'c' for a command-line.
Solaris

Indique le système d'exploitation Solaris.

Solaris failsafe

Indique une archive d'initialisation pouvant être utilisée pour la récupération si le système d'exploitation Solaris est endommagé.

second_disk

Indique un environnement d'initialisation Solaris Live Upgrade. L'environnement d'initialisation second_disk a été créé en tant que copie du système d'exploitation Solaris. Il a été mis à niveau et activé à l'aide de la commande luactivate. L'environnement d'initialisation est disponible.

Windows

Indique le système d'exploitation Microsoft Windows. GRUB détecte ces partitions mais ne vérifie pas si le système d'exploitation peut être initialisé.


Description du fichier GRUB menu.lst

Le fichier GRUB menu.lst répertorie le contenu du menu principal GRUB. Le menu principal GRUB répertorie les entrées d'initialisation de toutes les instances SE installées sur votre système, y compris les environnements d'initialisation Solaris Live Upgrade. Le processus de mise à niveau du logiciel Solaris enregistre les modifications apportées à ce fichier.

Les révisions effectuées dans le fichier menu.lst sont affichées dans le menu principal GRUB, en même temps que les entrées Solaris Live Upgrade. Toutes les modifications apportées au fichier deviennent effectives lors de la prochaine réinitialisation du système. Vous pouvez modifier ce fichier pour les raisons suivantes :


Attention – Attention –

N'utilisez pas le fichier menu.lst pour modifier les entrées Solaris Live Upgrade. Les modifications peuvent entraîner l'échec de Solaris Live Upgrade.


Même si vous pouvez utiliser le fichier menu.lst pour personnaliser le comportement d'initialisation tel que l'initialisation à l'aide du débogueur de noyau, la méthode privilégiée pour la personnalisation est d'utiliser la commande eeprom. Si vous utilisez le fichier menu.lst pour la personnalisation, il se peut que les entrées SE Solaris soient modifiées lors de la mise à niveau d'un logiciel. Les modifications apportées au fichier ne seront pas enregistrées.

Pour obtenir des informations sur l'utilisation de la commande eeprom, reportez-vous à la rubrique How to Set Solaris Boot Parameters by Using the eeprom Command du System Administration Guide: Basic Administration.


Exemple 5–2 Fichier Menu.lst

Vous trouverez ci-dessous un exemple d'un fichier menu.lst :


default 0
timeout 10
title Solaris
  root (hd0,0,a)
  kernel /platform/i86pc/multiboot -B console=ttya
  module /platform/i86pc/boot_archive
title Solaris failsafe
  root (hd0,0,a)
  kernel /boot/multiboot -B console=ttya -s
  module /boot/x86.miniroot.safe
#----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT  -----
title second_disk
  root (hd0,1,a)
  kernel /platform/i86pc/multiboot
  module /platform/i86pc/boot_archive
title second_disk failsafe
  root (hd0,1,a)
  kernel /boot/multiboot kernel/unix -s
  module /boot/x86.miniroot-safe
#----- second_disk -------------- END LIVE UPGRADE ------------
title Windows
  root (hd0,0)
  chainloader -1
default

Indique l'élément à initialiser en cas d'expiration du délai. Pour modifier la valeur par défaut, vous pouvez indiquer un autre élément dans la liste en modifiant le chiffre. Le comptage débute avec zéro pour le premier titre. Par exemple, utilisez la valeur par défaut 2 pour une initialisation automatique vers l'environnement d'initialisation second_disk.

timeout

Indique le nombre de secondes d'attente pour une action de l'utilisateur avant d'initialiser l'entrée par défaut. Si aucun délai n'est spécifié, vous devez choisir une entrée.

title OS name

Indique le nom du système d'exploitation.

  • S'il s'agit d'un environnement d'initialisation Solaris Live Upgrade, OS name est le nom que vous avez attribué au nouvel environnement d'initialisation lorsque vous l'avez créé. Dans l'exemple précédent, l'environnement d'initialisation Solaris Live Upgrade est appelé second_disk.

  • S'il s'agit d'une archive d'initialisation de secours, cette archive est utilisée pour la récupération lorsque le système d'exploitation principal est endommagé. Dans l'exemple précédent, Solaris failsafe et second_disk failsafe sont les archives d'initialisation pour la restauration des systèmes d'exploitation Solaris et second_disk.

root (hd0,0,a)

Indique le disque, la partition et le secteur sur lesquels charger les fichiers. GRUB détecte automatiquement le type du système de fichiers.

kernel /platform/i86pc/multiboot

Indique le programme d'initialisation multiple. La commande noyau doit impérativement être suivie par le programme d'initialisation multiple. Une fois l'initialisation multiple terminée, la chaîne passe au système d'exploitation Solaris sans interprétation.

Pour obtenir une description complète sur la coexistence de plusieurs systèmes d'exploitation, reportez-vous à la section How Multiple Operating Systems Are Supported in the GRUB Boot Environment du System Administration Guide: Basic Administration.


Localisation du fichier menu.lst pour modifier le menu GRUB

Vous devez impérativement utiliser la commande bootadm pour localiser le fichier menu.lst du menu GRUB. La sous-commande list-menu recherche le menu actif GRUB. Le fichier menu.lst répertorie tous les systèmes d'exploitation installés sur un système. Le contenu de ce fichier détermine la liste des systèmes d'exploitation affichée dans le menu GRUB. Si vous souhaitez modifier ce fichier, reportez-vous à la section x86 : Localisation du fichier menu.lst du menu GRUB (Tâches).

x86 : Localisation du fichier menu.lst du menu GRUB (Tâches)

Depuis Solaris 10 1/06, le menu GRUB peut être mis à jour. Par exemple, vous pouvez modifier le temps par défaut relatif à la vitesse d'initialisation du système d'exploitation par défaut. Vous pouvez également ajouter un autre SE au menu GRUB.

Généralement, le fichier menu.lst du menu actif GRUB se trouve à l'emplacement /boot/grub/menu.lst. Dans certains cas, le fichier GRUB menu.lst se trouve ailleurs. Par exemple, dans un système utilisant Solaris Live Upgrade, il se peut que le fichier GRUB menu.lst se trouve dans un environnement d'initialisation autre que l'environnement d'initialisation en cours d'exécution. Ou si vous avez mis à niveau un système avec une partition d'initialisation x86, il se peut que le fichier menu.lst se trouve dans le répertoire /stubboot. Seul le fichier GRUB actif menu.lst est utilisé pour initialiser le système. Pour modifier le menu GRUB affiché lorsque vous démarrez le système, le fichier GRUB actif menu.lst doit être modifié. La modification de tout autre fichier menu.lst n'a aucune incidence sur le menu affiché lors du démarrage du système. Pour déterminer l'emplacement du fichier GRUB actif menu.lst, utilisez la commande bootadm. La sous-commande list-menu affiche l'emplacement du menu GRUB actif. La procédure suivante détermine l'emplacement du fichier menu.lst du menu GRUB.

Pour plus d'informations sur la commande bootadm, reportez-vous à la page de manuel bootadm(1M).

ProcedureLocalisation du fichier menu.lst du menu GRUB

Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk. Le système d'exploitation Solaris a été initialisé et comporte le menu GRUB.

Étapes
  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Pour localiser le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement du fichier ainsi que son contenu sont affichés.


    The location for the active GRUB menu is: /boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

ProcedureLocalisation du fichier menu.lst du menu GRUB lorsque le fichier actif menu.lst se trouve dans un environnement d'initialisation différent

Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk . Dans cet exemple, le fichier menu.lst n'existe pas dans l'environnement d'initialisation en cours d'exécution. L'environnement d'initialisation second_disk a été initialisé. L'environnement d'initialisation Solaris contient le menu GRUB. L'environnement d'initialisation Solaris n'est pas monté.

Étapes
  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Pour localiser le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement du fichier ainsi que son contenu sont affichés.


    The location for the active GRUB menu is: /dev/dsk/device_name(not mounted)
    The filesystem type of the menu device is <ufs>
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe
  3. Le système de fichiers comprenant le fichier menu.lst n'étant pas encore monté, montez le système de fichiers. Indiquez le système de fichiers UFS et le nom du périphérique.


    # /usr/sbin/mount -F ufs /dev/dsk/device_name /mnt
    

    device_name spécifie l'emplacement du système de fichiers racine (/) sur le périphérique de disque de l'environnement d'initialisation que vous souhaitez monter. Le nom du périphérique est entré sous la forme /dev/dsk/c wtx dysz. Exemple :


    # /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt
    

    Vous pouvez accéder au menu GRUB dans le fichier /mnt/boot/grub/menu.lst

  4. Démontez le système de fichiers


    # /usr/sbin/umount /mnt
    

    Remarque –

    Si vous montez un environnement d'initialisation ou le système de fichiers d'un environnement d'initialisation, assurez-vous que le système de fichiers ou les systèmes de fichiers sont démontés après leur utilisation. Si ces systèmes de fichiers ne sont pas démontés, il se peut que les opérations Solaris Live Upgrade ultérieures sur cet environnement d'initialisation échouent.


ProcedureLocalisation du fichier menu.lst du menu GRUB lorsqu'un environnement d'initialisation Solaris Live Upgrade est monté

Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk . L'environnement d'initialisation second_disk a été initialisé. L'environnement d'initialisation Solaris contient le menu GRUB. L'environnement d'initialisation Solaris est monté dans /.alt.Solaris.

Étapes
  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Pour localiser le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement du fichier ainsi que son contenu sont affichés.


    The location for the active GRUB menu is:
    /.alt.Solaris/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    Étant donné que l'environnement d'initialisation comportant le menu GRUB est déjà monté, vous pouvez accéder au fichier menu.lst dans /.alt.Solaris/boot/grub/menu.lst.

ProcedureLocalisation du fichier menu.lst du menu GRUB lorsque votre système est doté d'une partition d'initialisation x86

Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk. L'environnement d'initialisation second_disk a été initialisé. Votre système a été mis à niveau et une partition d'initialisation x86 existe. La partition d'initialisation est montée dans /stubboot et comporte le menu GRUB. Pour une description des partitions d'initialisation x86, reportez-vous à la section x86 : Recommandations pour le partitionnement.

Étapes
  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Pour localiser le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement du fichier ainsi que son contenu sont affichés.


    The location for the active GRUB menu is:
    /stubboot/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    Vous pouvez accéder au fichier menu.lst dans /stubboot/boot/grub/menu.lst.