8. Mettre à jour le noyau

Lisez attentivement cette section si vous projetez de mettre à jour votre noyau sur votre machine Linux avec le RAID Promise FastTrak. À moins que vous ne souhaitiez plus, en aucune façon, utiliser Promise FastTrak, vous avez besoin de cette information pour vous éviter d'avoir des problèmes.

Effectuez toujours une sauvegarde de vos données avant d'entreprendre une mise à jour du noyau. Sauvegardez également les fichiers /etc/fstab, /etc/lilo.conf, /boot/vmlinuz-currentversion et /boot/initrd.img (si vous utilisez initrd). Lorsque vous mettez à jour votre noyau, n'effacez pas l'ancien noyau et les fichiers qui en dépendent dans /boot et n'effacez pas les lignes qui lui correspondent dans le fichier /etc/lilo.conf. Si vous mettez à jour votre noyau vers, par exemple, la version 2.4.20, créez seulement une nouvelle section noyau dans le fichier /etc/lilo.conf. Par exemple, ajoutez les lignes suivantes dans le fichier /etc/lilo.conf :

# Début du code pour démarrer sur mon tout nouveau noyau : 2.4.20
image=/boot/vmlinuz-2.4.20
 label=linux-new
 read-only
 root=/dev/ataraid/d0p12
# Fin du code pour démarrer sur mon tout nouveau noyau : 2.4.20

Ne changez pas la ligne default=linux dans le fichier /etc/lilo.conf à moins que (et jusqu'à ce que) vous ayez démarré avec succès sur votre nouveau noyau en tapant linux-new à l'invite boot: (ou en sélectionnant linux-new dans le menu, si vous utilisez LILO dans le mode menu).

Maintenant, discutons du procédé de mise à jour du noyau pour les quatre cas suivants :

  1. Pilote Promise Technology (ft) avec OS sur RAID miroir

  2. Pilote Promise Technology (ft) avec données non-OS sur RAID miroir

  3. Pilote Linux natif (ataraid) avec OS sur RAID miroir

  4. Pilote Linux natif (ataraid) avec données non-OS sur RAID miroir

OS s'entend pour « Operating System » ou plus spécialement Red Hat Linux Operating System dans notre cas. Quand on installe Linux sur une partition miroir comme /dev/ataraid/d0p1 (ou /dev/sda1 si l'on utilise le pilote propriétaire Promise Technology), alors on dit que notre OS est sur le RAID miroir. Si notre machine Linux a seulement les partitions principales comme / et /boot sur le RAID, on l'appelle aussi OS sur RAID.

Les partitions créées par l'utilisateur comme partitions libres disponibles telles que /mydata1, /imp, /scratch ne font pas partie du système d'exploitation Linux puisque Linux n'y installe aucun fichier par défaut lorsque vous installez Linux ou lorsque vous mettez à jour un paquetage logiciel standard Linux. Toutes les données, dans de telles partitions utilisateur, deviennent des données utilisateur, ou des données non-OS. C'est une bonne idée que d'utiliser uniquement les systèmes de fichiers ext3 et swap sur les partitions OS. Pour les partitions non-OS, vous pouvez utiliser d'autres systèmes de fichiers comme ext2 et dos (si vous avez un autre système d'exploitation comme Windows sur le même ordinateur Linux, ou tout simplement si vous adorez dos). Toutefois, pourquoi utiliser ext2 si vous n'en avez pas besoin alors que vous feriez un meilleur choix en utilisant ext3 pour les partitions OS et non-OS ?

8.1. Pilote Promise Technology (ft) avec OS sur RAID miroir

Actuellement, Promise Technology supporte uniquement la Red Hat 7.3 et les versions précédentes. La Red Hat 7.3 utilise par défaut le noyau 2.4.18-3. Veuillez noter aussi que vous devez utiliser initrd.img (Initial RAM disk image) dans /etc/lilo.conf, quand vous installez Linux avec le pilote fourni par Promise. Au moment de l'installation, les scripts du pilote Promise sont supposés générer automatiquement le fichier initrd.img et configurer le fichier /etc/lilo.conf pour vous. Malheureusement, cela ne marche pas correctement et vous devez créer manuellement le fichier initrd.img et configurer le fichier /etc/lilo.conf vous même.

Vous êtes bloqué avec le noyau 2.4.18-3 par défaut et vous ne pourrez pas mettre à jour votre noyau soit en le compilant, soit en utilisant les programmes de mise à jour automatique tels que les utilitaires up2date et rpm. Si vous voulez à tout prix mettre votre noyau à jour, alors faites le, mais n'utilisez pas le raid. Vous pouvez ajouter l'Append Line au fichier /etc/lilo.conf comme expliqué à la Section 7.2 et ne pas charger le module ataraid (ou ne pas compiler votre nouveau noyau avec l'option ataraid intégrée). En faisant cela, vous mettez à jour votre noyau vers une nouvelle version et sacrifiez la particularité RAID car vous utilisez votre carte Promise Technology comme une simple carte d'extension IDE.

Si Promise Technology fournit dans le futur une nouvelle version de leur pilote ft pour la version 2.4.19, vous pourrez alors mettre à jour votre noyau vers la version 2.4.19 (en utilisant up2date ou rpm mais pas en compilant manuellement) et placer leur nouvelle version du fichier ft.o dans /lib/modules/kernel-2.4.19. Vous devrez également mettre initrd-2.4.19 dans /boot et ajouter la ligne initrd= à la nouvelle section noyau du fichier /etc/lilo.conf. Si votre machine Linux utilise le pilote Promise Technology, votre OS est sur le RAID miroir et Promise Technology ne fournira pas de nouvelles versions pour les nouvelles versions du noyau, SVP, ne tripotez pas votre noyau actuel. Si vous jouez avec, rappelez-vous que vous pouvez endommager sérieusement votre ordinateur et ne plus être capable de le redémarrer ou de récupérer vos données.

8.2. Pilote Promise Technology (ft) avec données non-OS data sur RAID miroir

La plupart des explications données dans le cas précédent (Pilote Promise Technology (ft) avec OS sur RAID miroir) s'appliquent ici aussi, bien sûr, vous ne risquez que vos données non-OS au lieu de votre OS. Cela veut dire que si votre mise à jour échoue, vous pourrez toujours démarrer votre ordinateur mais vous ne verrez plus vos données sur vos partitions RAID. En outre, vous avez la souplesse de charger et décharger le pilote propriétaire Promise (ft.o). Toutefois, il n'est pas garanti que cela marche sans à-coups car le pilote Promise Technology a beaucoup de problèmes.

À moins que Promise Technology ne fournisse des pilotes appropriés à la nouvelle version du noyau, SVP n'essayez pas de mettre à jour le noyau par une autre méthode. Vous êtes bloqué au noyau 2.4.18-3. Il vous faudra peut-être ajouter l'Append Line comme vu à la Section 7.2 pour démarrer votre ordinateur dans certains cas.

8.3. Pilote Linux natif (ataraid) avec OS sur RAID miroir

Vous pouvez mettre à jour votre noyau à n'importe quelle version supérieure à la 2.4.18 en recompilant celui-ci mais pas par une mise à jour automatique utilisant les utilitaires up2date ou rpm. Vous avez besoin du fichier .config de votre précédent noyau situé dans le répertoire des sources du noyau (/usr/src/linux-2.4.18/.config). Vous avez sauvegardé votre fichier .config de la version 2.4.18, n'est-ce pas ?

Après avoir copié le fichier .config dans le répertoire /usr/src/linux-2.4.19, vous pouvez effectuer des modifications en tapant la commande make menuconfig mais normalement vous ne devriez pas avoir besoin de faire de modifications car vous faites seulement une mise à jour vers la version 2.4.19 et le matériel de votre machine n'a pas dû changer. Mais si vous effectuez ces modifications en tapant la commande make menuconfig, n'oubliez pas d'enregistrer mais aussi de sauvegarder votre fichier .config modifié. Mettez ce fichier en sécurité dans /root ou sur une disquette. Voici les étapes :

8.4. Pilote Linux natif (ataraid) avec données non-OS sur RAID miroir

Pour mettre à jour le noyau dans ce cas, suivez la même procédure que celle expliquée dans la section précédente (Pilote Linux natif (ataraid) avec OS sur RAID miroir). Si vous rencontrez des problèmes, vous devrez peut-être ajouter une ligne supplémentaire, l'Append Line, à votre fichier /etc/lilo.conf. Pour déterminer quelle est votre Append Linereportez-vous à la Section 7.2.

De la même façon que dans les cas précédents, n'essayez pas de mettre à jour le noyau par une méthode automatique (utilitaires up2date ou rpm). Compilez manuellement et installez votre nouveau noyau comme expliqué dans la section précédente.