Wed Oct 21 12:18:28 2020 UTC

Mise en place de GRUB

Si vous n'avez pas installé de procédure d'amorçage lors de l'installation de NuTyX (par erreur ou par volonté). Il n'est pas trop tard. Avec l'ISO, c'est très simple d'installer GRUB sur votre machine et de façon indépendante.

Historique

Au début de l'existance de la distribution NuTyX, l'installation de celle-ci se faisait uniquement par le script, et grub s'installait également via le script. Le problème était que toutes les distributions ne disposaient pas de l'application grub installée par défaut.

J'ai donc décidé de retirer cette option du script d'installation. C'est pour cette raison que désormais, l'installation de grub est OPTIONNELLE en effet si vous installez NuTyX comme seconde distribution par exemple, il n'est pas nécessaire d'installer une seconde fois la procedure d'amorçage GRUB

Pour pouvoir installer GRUB

Il n'est pas nécessaire d'avoir une NuTyX installée, il est en effet possible d'installer le GRUB pour n'importe quelle distribution.

Relancez la machine et démarrez la mini-iso

Figure 1: Amorçage de l'iso

Une fois arrivé sur le menu principal, choisissez "Démarrage Configurer l'amorçage du PC (en option)" comme ci-dessous:

Figure 2: Choix Démarrage Configurer l'amorçage du PC

Une fois le choix effectué, un nouvel écran apparaît, Il s'agit maintenant de faire ...

La sélection de la partition

On choisit la partition sur laquelle l'application grub doit être installée. Veuillez noter que la partition de destination ne doit pas forcément être sur le disque d'amorçage. Dans ce cas un menu apparaît avec le choix du disque de destination.

Figure 3: Choix de la partition

Grub est installé

Il est maintenant possible d'éditer le fichier grub.cfg.

Figure 4: Modifier le fichier de configuration

caution Attention à la syntaxe de la dénomination des disques et des partitions, c'est un peu spécial.

Figure 5: Configuration par défaut

Sous grub 2.00 le premier disque commence à 0 et la première partition commence à 1, donc dans l'exemple suivant:

set root=(hd0,5)

définit donc la cinquième partition sur le premier disque

Dans l'exemple ci-dessous, on trouve 2 entrées, la première entrée lancera la NuTyX qui se trouve sur la partition /dev/sda2. La deuxième entrée lancera Windows 10 qui se trouve sur la partition /dev/sda3.

# Begin grub.cfg
# By default boot the first menu entry.
set default 0
# Allow 5 seconds before booting the default.
set timeout 5
set color_highlight=blue/white set color_normal=cyan/black
set gfxpayload=1024x768x16 menuentry "NuTyX xfs sur /dev/sda2" { set root=(hd0,2) linux /boot/kernel-lts root=/dev/sda2 ro quiet # initrd /boot/initrd } menuentry "Windows 10" { set root=(hd0,3) chainloader (hd0,3)+1 }

Bonus, merci Guy

Merci à Guy pour ces quelques astuces:

1. La possibilité de démarrer l'installation de NuTyX directement depuis le fichier iso, sans utiliser de cdrom ni de clé usb.

Par exemple, pour booter sur l'iso téléchargée à la racine de ma partition /dev/mapper/vg-iso, je configre grub comme ceci:

menuentry 'NuTyX 12 x86 installation iso on (lvm/vg-iso)' {
   insmod lvm
   set root=(lvm/vg-iso)
   set isofile="/NuTyX_x86_64-8.2.iso"
   loopback loop $isofile
   linux  (loop)/isolinux/kernel fromdev=/dev/mapper/vg-iso fromiso=$isofile rootdelay=3 ro quiet
   initrd (loop)/isolinux/initrd
}
Ceci fonctionne également avec un clef usb bootable en copiant l'iso parmi les autres fichiers.

2. la possiblité de démarrer sa NuTyX principale en lecture seule, grâce au module overlay intégré dans le noyau linux.

Cela permet de conserver son installation inchangée en reportant les modifications sur une deuxième partiton utilisée temporairement.

Je me suis servi de ceci lorsque j'ai voulu tester un programme propriétaire (VMware) qu'il est difficile de désintaller proprement.

menuentry 'NuTyX 12 x86_64 OVERLAY      on /dev/mapper/vg-nu82' {
   insmod lvm
   set root=(lvm/vg-nu82)
   linux  /boot/kernel root=/dev/mapper/vg-nu82 overlayroot=/dev/mapper/vg-OVL82 ro rootdelay=3
   initrd /boot/initrd
}
Un fois les tests terminés, il suffit de redémarrer normalement, et éventuellement de formatter la deuxième partition
menuentry 'NuTyX 12 x86_64              on /dev/mapper/vg-nu82' {
   insmod lvm
   set root=(lvm/vg-nu82)
   linux  /boot/kernel root=/dev/mapper/vg-nu82 ro rootdelay=3
   initrd /boot/initrd
}
PS: J'utilise lvm2, mais n'importe quelle partition fera l'affaire, on pourrrait par exemple remplacer
(lvm/vg-nu82) par (hd0,X)
(lvm/vg-iso) par (hd0,Z)
/dev/mapper/vg-nu82 par /dev/sdaX
/dev/mapper/vg-OVL82 par /dev/sdaY
/dev/mapper/vg-iso par /dev/sdaZ