Installation de Sabayon sur une machine sans BIOS legacy.

Salut les ruminants, et me revoilà avec une installation de Sabayon, distribution basée sur Gentoo qui n’a pas voulu booter à l’installation.

La plupart des ordinateurs portables possèdent un boot legacy, mais avec certains, vous n’aurez pas cette chance, et toute tentative d’utiliser EFI pour booter échouera lamentablement. Il faut donc trouver une autre solution pour booter.

Ce qui ce passe, c’est :

  • grub2 supporte UEFI pour les deux modes 32 et 64bit, donc ça marche pour toutes les machines.
  • grub2 nécéssite efibootmgr pour mettre en place l’environnement de boot,
  • efibootmgr nécessite d’avoir accès aux variables d’EFI, donc nécessite un kernel comprenant le support des variables EFI.
  • Mais il n’y a aucun moyen d’accéder à ces variables quand on utilise un boot legacy.

On en arrive à l’éternel problème de la poule et de l’oeuf…


Du coup, face à une telle situation, un moyen est de reprendre un bon vieux Gentoo. Pour rappel, Sabayon est une distribution basée sur gentoo, mais avec un gestionnaire de paquets pré-compilés  Il faut donc graver (ou faire un USB bootable) d’un SysRescueCD, ou d’un autre CD gentoo de votre choix qui prenne en charge les supports EFI.

Puis on boot à partir du SysRescueCD. On peut alors partitionner le disque en trois parties : une partition vfat EFI de 200Mo, une partition root – et tout le reste, et une partition /home. La partition EFI est à monter en /mnt/gentoo/boot/efi, et dedans, créer un dossier EFI.

À présent, il est temps de configurer et compiler le noyau. Attention, assurez-vous d’avoir activé le support EFI Stub. Préconfigurez les paramètres de boot dans le kernel, assurez-vous de ne pas avoir oublié de module indispensable au démarrage. De cette façon, vous n’aurez pas besoin de vous soucier d’un initrd.

Faites un Build, puis Install du kernel.

# make && make modules_install

Puis copiez / boot/vmlinuz- * dans / boot / efi / EFI / kernel.efi – assurez-vous de lui donner un suffixe efi sinon il ne fonctionnera pas. Le nom que vous utilisez actuellement n’est pas vraiment important et vous ne l’utiliserez qu’une seule fois.

# cp arch/x86/boot/vmlinuz-* /boot/efi/EFI/kernel.efi

Maintenant, vous avez besoin d’un shell EFI. Le wiki Gentoo a un lien pour le téléchargement du fichier, il suffit de le mettre dans la racine de la clé USB SysRescueCD. Ensuite, vous pouvez choisir de démarrer à partir de l’écran « BIOS » de configuration, qui est ce que vous obtiendrez après un redémarrage.

À ce stade, il vous suffit d’exécuter la base du noyau : FS1:\EFI\kernel.efi sera suffisant pour qu’il puisse démarrer. Après le boot terminé, vous êtes maintenant dans un noyau opérationnel EFI, booté en mode EFI. Et la seule chose qui vous reste à faire est

grub-install –efi-directory=/boot/grub/efi

Et… vous y êtes !

Lorsque vous redémarrez, grub2 démarre en mode EFI, boot votre kernel, et continue avec celui-ci. Plutôt simple, pas vrai ?

ga3lig



1 Response

Comments are closed.