ELILO
Il est vraiment difficile pour moi de décider quelle partie de cela copier / coller parce que tout est vraiment bon, alors je vous demanderai simplement de le lire.
Rod Smith
Créé et maintient à la fois gdisk
et rEFInd
.
Mais avant de le faire, je voudrais en parler un peu. Le lien ELILO ci-dessus est vers l'une des nombreuses pages sur le démarrage UEFI que vous trouverez sur rodsbooks.com écrite par Rod Smith. C'est un rédacteur technique accompli, et si vous avez déjà cherché sur le sujet du démarrage de l'UEFI et que vous n'avez pas lu quelque chose de lui, c'est probablement parce que vous avez ignoré les premiers résultats.
Démarrage UEFI Linux
Fondamentalement, le noyau Linux peut être directement exécuté par le firmware.
Dans le lien ci-dessus, il mentionne le chargeur de stub EFI du noyau Linux - c'est ce que vous devriez utiliser, à mon avis, car il permet au noyau linux d'être appelé directement par le firmware lui-même. Indépendamment de ce que vous faites, quelque chose est exécuté par le firmware - et il semble que ce soit quelque chose grub
. Si le firmware peut charger directement votre noyau os, à quoi sert un chargeur de démarrage? Le micrologiciel UEFI monte une partition GPT au format FAT marquée esp par la table de partition et y exécute un chemin qu'il a enregistré en tant que variable de démarrage UEFI dans un module de mémoire flash intégré. Donc, une chose que vous pourriez faire est de placer le noyau Linux sur cette partition FAT et de stocker son chemin dans cette variable de démarrage. Soudain, le noyau est le sien chargeur de démarrage.
Chargeurs de démarrage
Sur les systèmes UEFI, les chargeurs de démarrage sont redondants - ELILO inclus.
Le problème des chargeurs de démarrage a été conçu pour résoudre le problème: les systèmes BIOS ne lisent que le premier secteur de la partition marquée de démarrage et l'exécutent. Il est un peu difficile de faire quoi que ce soit de significatif avec un noyau de 512 octets, donc la chose courante à faire était d'écrire un petit utilitaire qui pourrait monter un système de fichiers où vous avez gardé le noyau réel et le charger en chaîne.
En fait, les 512 octets n'étaient souvent pas suffisants, même pour les chargeurs de démarrage. grub
, par exemple, se charge lui-même en chaîne avant de charger votre noyau en chaîne, car il coince sa deuxième étape dans l'espace vide entre le secteur de démarrage et le premier secteur de votre système de fichiers. C'est une sorte de hack sale - mais cela a fonctionné.
Bootmanagers
Dans un souci de configuration facile, certains intermédiaires peuvent être utiles.
Ce que fait rEFInd de Rod Smith, c'est le lancement en tant qu'application EFI - c'est un concept relativement nouveau. Il s'agit d'un programme qui est exécuté à partir du disque par - et qui revient au - firmware. Ce que rEFInd fait est de vous permettre de gérer les menus de démarrage, puis de retourner votre sélection de démarrage au micrologiciel pour l'exécuter. Il est livré avec des pilotes de système de fichiers UEFI - ainsi, par exemple, vous pouvez utiliser le chargeur EFI-stub du noyau sur une partition non FAT (telle que votre version actuelle /boot
). Il est très simple à gérer - si une telle chose est nécessaire - et il ajoute la simplicité d'un noyau système exécutable à la commodité d'un gestionnaire de démarrage configurable.
Indirection atomique
Le noyau n'a pas besoin de liens symboliques - c'est possible mount --bind
.
S'il y a un chemin sur votre /
où vous devez désavouer un lien symbolique, il est /boot
. Un lien symbolique orphelin dans /boot
n'est pas le genre de problème que vous devriez avoir à résoudre. Pourtant, c'est une pratique assez courante pour configurer des indirections élaborées dans /boot
plusieurs distributions - même si c'est une idée horrible - afin de gérer les mises à jour du noyau sur place et / ou plusieurs configurations de noyau.
C'est un problème pour les systèmes EFI non configurés pour charger les pilotes de système de fichiers (tels que ceux fournis avec le package rEFInd) car FAT est un système de fichiers assez stupide dans l'ensemble, et il ne les comprend pas.
Je n'utilise pas personnellement les pilotes de système de fichiers UEFI fournis avec rEFInd, bien que la plupart des distributions incluent un package rEFInd qui peut être installé via le gestionnaire de packages et oublié d'utiliser simplement leur horrible /boot
configuration de lien symbolique et les pilotes de système de fichiers UEFI empaquetés de rEFInd.
Ma config
J'ai écrit une fois un ensemble d'instructions dessus et je l'ai posté ici , mais ça ressemble à:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Je viens donc de mettre ces deux lignes dans mon /etc/fstab
pointage vers un dossier dans lequel j'ai l'intention de contenir la nouvelle installation linux /boot
et j'ai presque fini de m'inquiéter pour le tout. Je dois aussi faire:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
En plus d'installer le refind-efi
package via pacman
pour le premier, c'est tout ce qui est nécessaire pour installer autant d'installations / configurations distinctes que je le souhaite. Notez que la majorité de cette chaîne ci-dessus se compose d'options de montage spécifiques à btrfs spécifiées en tant que paramètres du noyau. Un plus typique /boot/refind_linux.conf
ressemblerait probablement à:
"Menu Entry" "root=/dev/sda2"
Et c'est tout ce qu'il faut.
rodsbooks.com
Si vous voulez toujours ELILO, vous pouvez trouver les instructions d'installation sur le lien ci-dessus. Si vous voulez rEFInd, vous y trouverez des liens dans le premier paragraphe. Fondamentalement, si vous souhaitez effectuer une configuration de démarrage UEFI, lisez d' abord rodsbooks.com .