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

Chapitre 5 x86 : Initialisation avec GRUB pour une installation de Solaris

Ce chapitre décrit l'initialisation avec GRUB sur des système x86, associée à une installation de Solaris. Ce chapitre se compose des sections suivantes :

x86 : Initialisation avec GRUB (Généralités)

Chargeur d'initialisation libre, GRUB a été adopté par défaut dans le système d'exploitation Solaris.


Remarque –

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


Le programme d'initialisation est le premier programme logiciel qui démarre après la mise sous tension d'un système. Après avoir mis sous tension un système x86, le BIOS (Basic Input/Output System) initialise l'unité centrale, la mémoire et le matériel de la plate-forme. Après l'initialisation, le BIOS charge le programme d'initialisation depuis le périphérique d'initialisation configuré, puis transfère le contrôle du système au programme d'initialisation.

GRUB est un programme d'initialisation Open Source doté d'une interface à menu simple contenant des options d'initialisation prédéfinies dans un fichier de configuration. GRUB dispose également d'une interface de ligne de commande accessible depuis l'interface de menu, qui permet d'exécuter diverses commandes d'initialisation. Dans le système d'exploitation Solaris, la mise en oeuvre GRUB est conforme à la spécification Multiboot. Cette spécification est décrite en détail sur le site Web http://www.gnu.org/software/grub/grub.html.

Étant donné que le noyau Solaris est complètement compatible avec la spécification Multiboot, vous pouvez initialiser un système Solaris x86 en utilisant GRUB. GRUB facilite l'initialisation et l'installation de divers systèmes d'exploitation. Sur un même système, par exemple, vous pouvez initialiser individuellement les systèmes d'exploitation suivants :

L'intuitivité de GRUB au niveau des systèmes de fichiers et des formats exécutables dans le noyau, permet de charger un système d'exploitation sans avoir à enregistrer la position physique du noyau sur le disque. Avec l'initialisation GRUB, le noyau est chargé en définissant son nom de fichier, le lecteur et la partition dans laquelle il se trouve. L'initialisation GRUB remplace l'assistant de configuration de périphériques Solaris et simplifie l'initialisation avec un menu GRUB.

x86 : Fonctionnement de l'initialisation GRUB

Lorsque GRUB prend le contrôle du système, un menu s'affiche sur la console. Dans le menu GRUB, vous pouvez :

Il existe un délai définissable associé à l'initialisation de l'entrée de système d'exploitation par défaut. Pour mettre fin à l'initialisation de l'entrée de système d'exploitation par défaut, il suffit d'appuyer sur une touche.

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

x86 : Conventions GRUB d'attribution de noms

Les conventions d'attribution de noms qu'utilise GRUB sont légèrement différentes de celles des versions précédentes du système d'exploitation Solaris. il est important de comprendre les conventions GRUB d'attribution de noms de périphériques pour définir correctement les informations d'unités et de partitions lorsque vous configurez GRUB sur votre système.

Le tableau suivant répertorie les conventions d'attribution de noms de périphériques GRUB.

Tableau 5–1 Conventions d'attributions de noms des périphériques GRUB

Nom du 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 partitions fdisk du premier disque bios

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

Tranches 0 et 1 Solaris/BSD dans la partition fdisk sur le premier disque bios


Remarque –

Tous les noms de périphériques GRUB doivent se trouver entre parenthèses. Les numéros de partition commencent à 0 (zéro) et non 1.


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

x86 : Emplacement des informations relatives aux installations GRUB

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

Tableau 5–2 Emplacement des informations relatives aux installations GRUB

Rubrique 

Tâches du menu GRUB 

Pour plus d'informations 

Installation 

Installation du système Solaris depuis le support CD ou DVD 

Guide d’installation de Solaris 10 6/06: Installations de base.

Installation depuis une image d'installation réseau 

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

 

Configuration d'un serveur DHCP pour des 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 6/06: Installations basées sur les réseaux

 

Installation avec le programme d'installation personnalisée JumpStart  

Exécution d’une installation JumpStart personnalisée du Guide d’installation de Solaris 10 6/06: Installation JumpStart personnalisée et installation avancée

 

Activation ou retour à un environnement d'initialisation en utilisant Solaris Live Upgrade 

Administration système 

Pour plus d'informations sur GRUB et les tâches administratives 

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

x86 : Initialisation avec GRUB (Planification)

Cette section décrit de manière générale l'initialisation avec GRUB et 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 du système d'exploitation Solaris. La seconde entrée est l'archive d'initialisation de secours qui doit être utilisée pour récupérer le système. Les entrées de menu Solaris GRUB sont installées et mises à jour automatiquement lors de l'installation et de la mise à niveau du logiciel Solaris. Ces entrées sont gérées directement par le système d'exploitation et ne doivent pas être modifées manuellement.

Au cours d'une installation standard du système d'exploitation Solaris, GRUB est installé dans la partition Solaris fdisk sans modifier le BIOS du système. Si le système d'exploitation ne se trouve pas sur le disque d'initialisation BIOS, vous devez effectuer l'une des opérations suivantes :

Il est préférable d'installer le système d'exploitation Solaris sur le disque d'initialisation. Si plusieurs systèmes d'exploitation sont installés sur la machine, vous pouvez ajouter les entrées au fichier menu.lst. Ces entrées s'affichent dans le menu GRUB lors du démarrage suivant du système.

Pour plus d'informations sur 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 : Exécution d'une installation avec GRUB depuis le réseau

L'exécution d'une initialisation réseau avec GRUB nécessite un serveur DHCP configuré pour des clients PXE et un serveur d'installation qui fournit un service tftp. Le serveur DHCP doit pouvoir répondre aux classes DHCP, PXEClient et GRUBClient. La réponse DHCP doit contenir les informations suivantes :


Remarque –

rpc.bootparamd, généralement nécessaire sur le serveur pour effectuer une initialisation réseau, n'est pas nécessaire pour une initialisation réseau avec GRUB.


Si aucun serveur PXE ou DHCP n'est disponible, vous pouvez charger GRUB depuis un CD-ROM ou un disque local. Ensuite, vous pouvez configurer manuellement le réseau dans GRUB et télécharger le programme multi-initialisation et l'archive d'initialisation depuis le 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 6/06: Installations basées sur les réseaux.

Description du menu principal GRUB

Lorsque vous initialisez un système x86, le menu GRUB s'affiche. Ce menu contient la liste des entrées d'initialisation disponibles. Une entrée d'initialisation est une instance de système d'exploitation installée sur le système. Le menu GRUB repose sur le fichier menu.lst, un fichier de configuration. Le fichier menu.lst est créé par le programme d'installation Solaris et peut être modifié après l'installation. Le fichier menu.lst définit la liste des instances de système d'exploitation qui figurent dans le menu GRUB.


Exemple 5–1 Menu principal GRUB

Dans l'exemple suivant, le menu principal GRUB contient les systèmes d'exploitation Solaris et Microsoft Windows. L'environnement d'initialisation Solaris Live Upgrade second_disk est également présent. Pour une description de chaque option de menu, reportez-vous aux informations ci-dessous.


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

Définit le système d'exploitation Solaris.

Solaris failsafe

Définit une archive d'initialisation pouvant être utilisée pour effectuer une reprise en cas d'endommagement du système d'exploitation Solaris.

second_disk

Définit un environnement d'initialisation Solaris Live Upgrade. L'environnement d'initialisation second_disk a été créé comme copie du système d'exploitation Solaris. Il a été mis à niveau et activé avec la commande luactivate. L'environnement d'initialisation est disponible pour l'initialisation.

Windows

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


Description du fichier GRUB menu.lst

Le fichier GRUB menu.lst contient les éléments du menu principal GRUB. Le menu principal GRUB contient les entrées d'initialisation de toutes les instances de système d'exploitation installées sur le système, y compris les environnements d'initialisation Solaris Live Upgrade. La mise à niveau du logiciel Solaris conserve les modifications que vous apportez à ce fichier.

Les modifications apportées au fichier menu.lst s'affichent dans le menu principal GRUB, avec les entrées Solaris Live Upgrade. Les modifications que vous apportez au fichier entrent en vigueur lors du démarrage suivant du système. Vous pouvez modifier ce fichier pour les raison 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.


Bien que vous puissiez utiliser le fichier menu.lst pour personnaliser le comportement d'initialisation, tel que l'initialisation depuis le programme de débogage du noyau, il est préférable d'utiliser la commande eeprom pour la personnalisation. 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. et les modifications apportées aux fichiers seront perdues.

Pour plus d'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 FichierMenu.lst

Voici un exemple de 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

Définit l'élément à initialiser en cas d'expiration du délai. Pour changer l'élément par défaut, vous pouvez définir un autre élément dans la liste en changeant le numéro. La numérotation commence à zéro pour le premier élément. Définissez 2 comme élément par défaut, par exemple, pour effectuer l'initialisation automatiquement dans l'environnement d'initialisation second_disk.

timeout

Spécifiez le délai d’attente en secondes de l'entrée utilisateur avant l’initialisation de l’entrée par défaut. Si vous ne définissez pas un délai d'attente, vous devez choisir une entrée.

title OS name

Définit le nom du système d'exploitation.

  • S'il s'agit d'un environnement d'initialisation Solaris Live Upgrade, le OS name correspond au nom que vous avez attribué au nouvel environnement d'initialisation lors de sa création. Dans l'exemple précédent, l'environnement d'initialisation Solaris Live Upgrade s'appelle second_disk.

  • S'il s'agit d'une archive d'initialisation de secours ; cette archive est utilisée pour effectuer une reprise 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 de restauration des systèmes d'exploitation Solaris et second_disk.

root (hd0,0,a)

Définit le disque, la partition et la tranche utilisés pour charger les fichiers. GRUB détecte automatiquement le type de système de fichiers.

kernel /platform/i86pc/multiboot

Définit le programme multi-initialisation. Le commande kernel doit toujours être suivie de ce programme. La chaîne après la mulit-initialisation est envoyée au système d'exploitation Solaris sans être interprétée.

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


Recherche du fichier menu.lst pour modifier le menu GRUB

Vous devez toujours utiliser la commande bootadm pour rechercher le fichier menu.lst du menu GRUB. La sous-commande list-menu recherche le menu GRUB actif. Le fichier menu.lst contient la liste de tous les systèmes d'exploitation installés sur un système. Le contenu du fichier détermine les systèmes d'exploitation figurant dans le menu GRUB. Si vous voulez modifier le fichier, reportez-vous à la section x86 : Localisation du fichier menu.lst dans le menu GRUB (tâches).

x86 : Localisation du fichier menu.lst dans le menu GRUB (tâches)

Vous pouvez mettre à jour le menu GRUB. Vous pouvez, par exemple, changer le délai par défaut de l'initialisation du système d'exploitation par défaut ou bien ajouter un autre système d'exploitation au menu GRUB.

Généralement, le fichier menu.lst du menu GRUB en cours se trouve dans /boot/grub/menu.lst. Dans certains cas, le fichier GRUB menu.lst se trouve dans un autre emplacement. Dans un système qui utilise Solaris Live Upgrade, par exemple, le fichier GRUB menu.lst peut se trouver dans un environnement d'initialisation qui ne correspond pas à l'environnement d'initialisation en cours. Ou, si vous avez mis à niveau un système avec une partition d'initialisation x86, le fichier menu.lst peut se trouver dans le répertoire /stubboot. Seul le fichier GRUB menu.lst actif est utilisé pour initialiser le système. Pour pouvoir modifier le menu GRUB qui s'affiche lorsque vous initialisez le système, vous devez modifier le fichier GRUB menu.lst actif. La modification d'un autre fichier GRUB menu.lst n'a aucun effet sur le menu qui s'affiche dans ce cas. Pour identifier l'emplacement du fichier GRUB menu.lst, utilisez la commande bootadm. La sous-commande list-menu affiche l'emplacement du menu GRUB actif. Les procédures suivantes déterminent l'emplacement du fichier menu.lst du menu GRUB.

Pour plus d'informations sur la commande bootadm, reportez-vous à l'aide en ligne bootadm(1M).

ProcedureRecherche du fichier menu.lst du menu GRUB

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

  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 rechercher le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement et le contenu du fichier s'affichent.


    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

ProcedureRecherche du fichier menu.lst du menu GRUB lorsque le fichier menu.lst se trouve dans un autre environnement d'initialisation

Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un 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. 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é.

  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 rechercher le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement et le contenu du fichier s'affichent.


    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. Étant donné que le système de fichiers contenant le fichier menu.lst n'est pas monté, montez le système de fichiers. Définissez le système de fichiers UFS et le nom du périphérique.


    # /usr/sbin/mount -F ufs /dev/dsk/nom_périphérique /mnt
    

    device_name définit l'emplacement du système de fichiers racine (/) sur le disque de l'environnement d'initialisation à monter. Le nom du périphérique est saisi sous la forme suivante : /dev/dsk/cwt xdys z. Par exemple :


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

    Vous pouvez accéder au menu GRUB dans /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 un système de fichiers d'un environnement d'initialisation, veillez à démonter le système de fichiers ou les systèmes de fichiers après utilisation. Si vous ne les démontez pas, les opérations Solaris Live Upgrade suivantes dans cet environnement d'initialisation échoueront.


ProcedureRecherche du fichier menu.lst du menu GRUB lorsqu'un environnement Solaris Live Upgrade Boot est monté

Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un 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é sur /.alt.Solaris.

  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 rechercher le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement et le contenu du fichier s'affichent.


    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 contenant le menu GRUB est déjà monté, vous pouvez accéder au fichier menu.lst dans /.alt.Solaris/boot/grub/menu.lst.

ProcedureRecherche du fichier menu.lst du menu GRUB lorsque le système dispose d'une partition d'initialisation x86

Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un environnement Solaris Live Upgrade, second_disk. L'environnement d'initialisation second_disk a été initialisé. Votre système a été mis à niveau et il reste une partition d'initialisation x86. La partition d'initialisation est montée sur /stubboot et elle contient le menu GRUB. Pour plus d'informations sur les partitions x86, reportez-vous à la section x86 : Recommandations pour le partitionnement.

  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 rechercher le fichier menu.lst, tapez :


    # /sbin/bootadm list-menu
    

    L'emplacement et le contenu du fichier s'affichent.


    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.