Gentoo Logo

1.  Choisir un chargeur de démarrage

Introduction

Maintenant que votre noyau a été configuré et compilé, et que les fichiers de configuration requis ont été correctement documentés, c'est le moment d'installer un programme qui lancera votre noyau au démarrage du système. Un tel progrmanne est appelé chargeur de démarrage.

Le chargeur de démarrage que vous utiliserez dépend du type de machine PPC que vous utilisez.

Si vous avez une machine NewWorld Apple ou IBM, vous devez utiliser Yaboot. Les machines de type OldWorld Apple ont deux possibilités, BootX (recommandé) ou Quik. Les machines Pegasos n'ont pas besoin de chargeur de démarrage, mais vous pouvez utiliser BootCreator pour créer un menu de démarrage « SmartFirmware ».

1.  Par défaut : Yaboot

Introduction

Important : yaboot n'est disponible que sur les systèmes NewWorld Apple ou IBM.

Afin de trouver les périphériques démarrables, yaboot doit pouvoir accéder aux fichiers de périphériques créés par udev et au système de fichiers sysfs. Ces deux arborescences se trouvent respectivement dans /dev and /sys. Le plus simple est de monter ces systèmes de fichiers depuis le CD d'installation quelque part dans le chroot :

Exemple de code 1.1 : monter et lier /dev et /sys

# exit  # ceci vous fera quitter l'environnement chroot
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile 

Vous pouvez utiliser le yabootconfig inclus pour configurer yaboot automatiquement. Si vous installez Gentoo sur une machine G5 (où yabootconfig ne fonctionne pas toujours) ou si vous comptez démarrer sur USB ou Firewire, vous devrez configurer Yaboot manuellement.

Note : vous devrez éditer le fichier yaboot.conf si vous utilisez genkernel, même si vous utilisez yabootconfig. La partie noyau du fichier yaboot.conf devrait être modifiée de cette façon (en utilisant respectivement vmlinux et initrd pour le nom du noyau et l'image initrd ) :

Exemple de code 1.1 : ajouter les arguments de démarrage à yaboot.conf

###########################################################
## Cette section peut être dupliquée si vous avez plusieurs noyaux ou jeux
## d'options du noyau (remplacez l'image et l'initrd par les noms exacts de
## votre noyau et de votre image initrd).
###########################################################
image=/boot/${genkernel-name}
  label=Linux
  root=/dev/ram0
  partition=3
  initrd=/boot/${genkernel-initrd}
  # Vous pouvez ajouter ici des arguments additionnels tels que
  # rootdelay=10 pour démarrer sur USB/Firewire
  append="real_root=/dev/sda3"  
  read-only
##########################################################

Par défaut : utiliser yabootconfig

yabootconfig détectera automatiquement vos partitions et créera une configuration pour des machines à deux ou trois systèmes d'exploitation Linux, Mac OS ou Max OS X.

Pour utiliser yabootconfig, votre disque doit avoir une partition de type Apple_Bootstrap et le fichier /etc/fstab doit être configuré correctement par rapport à vos partitions (notez que la partition de Bootstrap ne doit pas être dans votre fstab). Cela devrait déjà avoir été fait plus tôt, mais vérifiez /etc/fstab avant de continuer. Maintenant, installez yaboot.

Exemple de code 1.1 : installer yaboot

# emerge yaboot

Maintenant, quittez l'environnement chroot et lancez la commande yabootconfig --chroot /mnt/gentoo. Lors de son exécution, ce programme confirmera l'endroit où se trouve la partition de démarrage. Si vous utilisez le partitionnement de ce guide, cela devrait être /dev/sda2. Tapez Y pour valider ; si vous n'êtes pas d'accord, vérifiez le fichier /etc/fstab. Ensuite, yabootconfig utilisera vos fichiers de configuration pour créer sa propre configuration dans le fichier /etc/yaboot.conf et exécutera mkofboot pour vous. Ce dernier est utilisé pour formater la partition de type Apple_Bootstrap et y installer les fichiers de configuration de yaboot. Ensuite, revenez dans l'environnement chroot.

Exemple de code 1.1 : retourner dans l'environnement chrooté

# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile

Vous devriez vérifier le contenu du fichier /etc/yaboot.conf. Si vous le modifiez, par exemple pour changer le système d'exploitation par défaut, vous devez relancer la commande ybin -v pour enregistrer vos modifications dans la partition de type Apple_Bootstrap. Chaque fois que vous modifiez le fichier yaboot.conf, par exemple pour tester un nouveau noyau, rappelez vous toujours de relancer la commande ybin -v afin de mettre à jour la partition d'amorçage.

Vous pouvez maintenant poursuivre avec le redémarrage du système.

Alternative : Configuration manuelle de Yaboot

Installez d'abord yaboot sur votre système :

Exemple de code 1.1 : installer Yaboot

# emerge yaboot

Vous trouverez un exemple complet du fichier de configuration yaboot.conf ci-dessous. Adaptez-le à vos besoins.

Exemple de code 1.1 : fichier /etc/yaboot.conf

## /etc/yaboot.conf
##
## Lisez « man yaboot.conf » pour plus de détails. Ne continuez pas avant de l'avoir fait !
## Consultez aussi : /usr/share/doc/yaboot/examples pour des exemples de configuration.
##
## Pour un menu « multiple-boot », ajoutez une ou plusieurs de ces options :
## bsd=/dev/sdaX, macos=/dev/sdaY, macosx=/dev/sdaZ

## La partition de démarrage :

boot=/dev/sda2

## ofboot indique la partition de démarrage selon Open Firmware.
## Sans cela, yaboot échoue sur un G5 et sur certains G4
## (à moins que vous ne passiez les arguments
## nécessaires au programme mkofboot/ybin).
## hd:X signifie /dev/sdaX.
##
## Pour un G5, décommentez la ligne suivante :

#ofboot=hd:2

## Pour ceux qui démarrent sur Firewire :
# ofboot=fw/node/sbp-2/disk@0:

## Pour ceux qui démarrent sur USB :
# ofboot=usb/disk@0:

## hd: correspond au premier disque trouvé par Openfirmware.
device=hd:

## Pour USB ou Firewire, il faut spécifier le nom complet du périphérique.
## On peut s'aider d'ofpath, inclu dans yaboot.

# device=fw/node@0001d200e00d0207/sbp-2@c000/disk@0:


delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

############################################################
## Recopiez cette section si vous avez plusieurs noyaux ou plusieurs jeux
## d'options de démarrage. Remplacez la variable image par le nom de fichier
## exact de votre noyau.
###########################################################
image=/boot/${kernel-name}
  label=Linux
  root=/dev/sda3
  partition=3
  #  append="rootdelay=10"  # requis pour démarrer sur USB/Firewire
  read-only
##################

## Pour un G5 et certains G4, utilisez les lignes ci-dessous
##   macos=hd:13/
##   macosx=hd:12
## au lieu des lignes suivantes :
macos=/dev/sda13
macosx=/dev/sda12
enablecdboot
enableofboot

Après avoir modifé le fichier yaboot.conf, vous devez lancer la commande mkofboot -v pour formater la partition Apple_bootstrap et installer la configuration. Si vous modifiez la configuration après avoir créé la partition Apple_bootstrap, vous pouvez la mettre à jour avec ybin -v.

Exemple de code 1.1 : créer la partition de démarrage

# mkofboot -v

Pour plus d'informations sur yaboot, veuillez consulter la page du projet yaboot. Vous pouvez maintenant poursuivre avec le redémarrage du système.

1.  Alternative : BootX

Important : BootX n'est disponible que pour les systèmes OldWorld Apple à partir de Mac OS 9.

Puisque BootX démarre Linux depuis MacOS, le noyau devra être copié depuis une partition Linux sur la partition MacOS. Montez tout d'abord la partition MacOS depuis l'extérieur du chroot. Utilisez mac-fdisk -l pour trouver le numéro de la partition de MacOS, sda6 dans l'exemple. Une fois que la partition est montée, nous allons copier le noyau sur le répertoire système afin que BootX puisse le trouver.

Exemple de code 1.1 : copier le noyau sur la partition MacOS

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/usr/src/linux/vmlinux "/mnt/mac/System Folder/Linux Kernels/${kernel-name}"

Si vous avez utilisé genkernel, le noyau et l'initrd seront placés dans la partition MacOS.

Exemple de code 1.1 : copier le noyau et l'initrd de genkernel sur la partition MacOS

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/${genkernel-name} "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/${genkernel-initrd} "/mnt/mac/System Folder"

Maintenant que le noyau est copié, vous devez redémarrer pour configurer BootX.

Exemple de code 1.1 : démonter les partitions et redémarrer la machine

cdimage ~# cd /
cdimage ~# umount -l /mnt/gentoo/dev{/pts,/shm,/proc,/sys,}
cdimage ~# umount -l /mnt/gentoo{/proc,/sys,}
cdimage ~# umount -l /mnt/mac
cdimage ~# reboot

Bien sûr n'oubliez pas d'enlever le CD d'installation du lecteur, pour ne pas démarrer dessus à nouveau.

Maintenant que la machine a démarré MacOS, ouvrez le panneau de contrôle de BootX. Si vous n'utilisez pas genkernel, sélectionnez Options puis désactivez Used specified RAM disk. Sinon, vérifiez que l'initrd de genkernel est sélectionné à la place de celui du CD d'installation. Si vous n'utilisez pas genkernel vous devez maintenant spécifier dans une option le disque et la partition racine de Linux. Remplissez les champs voulus par la valeur appropriée. Selon la configuration du noyau vous devrez probablement appliquer quelques arguments de démarrage au noyau.

BootX peut être configuré pour démarrer Linux au démarrage. Si vous choisissez cette option la machine démarrera sur MacOS et lors du démarrage, elle chargera BootX qui à son tour démarrera Linux. Lisez la page Internet de BootX pour plus d'informations.

Important : vérifiez bien que le support pour les systèmes de fichiers HFS et HFS+ soit activé dans le noyau, sinon vous ne pourrez pas mettre à jour ou modifier votre noyau sur la partition MacOS.

Une fois le système Gentoo démarré, concluez avec la (Finaliser votre installation).

1.  Alternative : Quik

Quik permet aux Mac OldWorld de démarrer sans MacOS. Pourtant, il n'est pas bien supporté et contient un certain nombre de problèmes. Si vous avez le choix, nous vous recommandons d'utiliser BootX car il est beaucoup plus stable et facile à installer que Quik.

D'abord, installer Quik :

Exemple de code 1.1 : installer Quik

# emerge quik

Ensuite, le configurer. Éditez /etc/quik.conf et définissez l'image du noyau que vous avez copié précédemment.

Exemple de code 1.1 : configurer quik.conf

# Exemple
init-message = "Gentoo Linux\n"
# La partition /boot
partition = 2
root = /dev/sda4
timeout = 30
default = gentoo
# Le noyau
image = /${kernel-name}
  label = gentoo

Votre quik.conf doit être sur le même disque que l'image de démarrage de Quik, éventuellement sur une partition différente. Nous vous recommandons de le mettre dans votre partition /boot.

Exemple de code 1.1 : déplacer quik.conf sur /boot

# mv /etc/quik.conf /boot/quik.conf

Pour que Quik soit lancé au démarrage, ajustez correctement les variables grâce à nvsetenv. Les variables à modifier varient de machine en machine, vérifiez dès maintenant quelles peuvent être les problèmes concernant la vôtre avant de commencer.

Exemple de code 1.1 : définir les variables de démarrage

# Mettez false si vous voulez rester dans l'OpenFirmware, tous les
# modèles ne peuvent pas afficher la sortie d'OpenFirmware
# nvsetenv auto-boot true

# Vérifiez les problèmes sur la page citée précédemment pour cette
# commande.
# nvsetenv output-device video

# nvsetenv input-device kbd

# Pour le SCSI
# nvsetenv boot-device scsi/sd@1:0

# Pour l'ATA
# nvsetenv boot-device ata/ata-disk@0:0

# D'abord le chemin vers le noyau, puis la partition racine.
# Vous pouvez ajouter des paramètres du noyau à la suite.
# nvsetenv boot-file /boot/${kernel-name} root=/dev/sda4

# Mettez bye pour MacOS ou boot pour Linux.
# nvsetenv boot-command boot

Note : Il est aussi possible de changer les variables depuis MacOS. Selon le modèle, vous pouvez utiliser soit bootvars, soit Apple System Disk. Lisez la page référençant les problèmes citée précédemment pour plus d'informations.

Tout est maintenant configuré, nous allons vérifier que les images soient installées correctement. Lancez la commande quik -v -C /boot/quik.conf, qui devrait vous annoncer que le code de démarrage de Quik a bien été installé dans le bloc de démarrage.

Note : si quelque chose s'est mal passé, vous pouvez toujours remettre à zéro la PROM en pressant les touches Command + Option + p + r avant d'allumer la machine. Cela effacera les valeurs qui ont été définies avec nvsetenv et devrait vous permettre d'utiliser une disquette de démarrage MacOS ou Linux.

Vous pouvez continuer avec le redémarrage du système.

1.  Alternative : BootCreator

Important : BootCreator vous installe un joli menu SmartFirmware écrit en Forth pour le Pegasos.

Avant tout, installez bootcreator :

Exemple de code 1.1 : installer bootcreator

# emerge bootcreator

Ensuite, copiez le fichier /etc/bootmenu.example dans /etc/bootmenu et modifiez-le en fonction de vos besoins :

Exemple de code 1.1 : modifier la configuration de bootcreator

# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu

Un exemple complet de fichier de configuration /etc/bootmenu ressemble à ce qui suit. Veillez à remplacer vmlinuz et initrd par vos noms des images de vos noyau et initrd.

Exemple de code 1.1 : fichier de configuration de bootcreator

#
# Exemple de configuration pour bootcreator 1.1
#

[VERSION]
1

[TITLE]
Boot Menu

[SETTINGS]
AbortOnKey = false
Timeout    = 9
Default    = 1

[SECTION]
Local HD -> Morphos      (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"

[SECTION]
Local HD -> Linux (Normal)
ide:0 ${kernel-name} video=radeonfb:1024x768@70 root=/dev/sda3

[SECTION]
Local HD -> Genkernel (Normal)
ide:0 ${genkernel-name} root=/dev/ram0
real_root=/dev/sda3 initrd=${genkernel-initrd}

Ensuite, le fichier bootmenu doit être copié dans votre partition de démarrage pour que SmartFirmware puisse le lire. On utilise l'outil bootcreator :

Exemple de code 1.1 : installer le menu de démarrage

# bootcreator /etc/bootmenu /boot/menu

Note : veuillez vérifier dans la configuration de SmartFirmware dès le redémarrage suivant que le fichier menu est bien celui qui est utilisé par défaut.

Veuillez poursuivre avec le redémarrage du système.

1.  Redémarrage du système

Sortez de l'environnement chroot et démontez toutes les partitions montées. Ensuite, tapez la commande magique tant attendue : reboot.

Exemple de code 1.1 : sortie du chroot, démontage des partitions et redémarrage

# exit
livecd ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
livecd ~# umount  /mnt/gentoo{/proc,/sys,}
livecd ~# reboot

Une fois le système Gentoo démarré, concluez avec la (Finaliser votre installation).

Dernière mise à jour le 17 août 2014

Une version originale plus récente datée du 31 août 2014 existe.

Résumé : Il y a plusieurs chargeur de démarrage avec chacun leur configuration. Dans ce chapitre, nous décrirons toutes les possibilités qui s'offrent à vous et la manière de configurer un chargeur de démarrage répondant à vos besoins.

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.