[FRsAG] mdadm et partition EFI

Jonathan Leroy - Inikup jonathan at inikup.com
Sam 19 Oct 12:37:44 CEST 2019


Le ven. 18 oct. 2019 à 11:59, Anthony Bourguignon
<contact+ml.frsag at toniob.net> a écrit :
> Si tu es sur de l'uefi, c'est normal. Le fonctionnement n'est pas du tout le même qu'avec bios + mbr.
> Ton uefi dispose d'une table de correspondance nom => programme efi à charger. Quand tu installes grub-efi, il ne va pas placer un chargeur sur le
> disque. Il va juste ajouter une entrée dans cette table, en disant "je suis tel os, grub pour efi se trouve là". Et ce programme se trouve sur la
> partition efi, en vfat. Sous linux tu peux lister et modifier tout ça avec efibootmgr.
>
> Quand le PC boote, l'uefi se charge, monte la partition efi … et donc doit connaitre le système de fichiers. Si tu la formates dans un FS non reconnu
> par l'uefi, il ne peut pas accéder au programme de boot (que ce soit grub, shim, ou celui de windows). Donc si tu mets cette partition sur du raid
> software, à moins que ton uefi sache le lire (probabilité forte qu'il ne lise que le vfat), ça ne fonctionnera pas.
>
> Pas de solution qui me vient là, malheureusement. À moins de repasser en mode legacy, avec grub en mode mbr et pas efi.

Alors je crois avoir le fin mot de l'histoire. J'ai viré ma config
preseed et lancé une install à la main en mode debug. Arrivé à l'étape
de l'installation du Grub, j'ai cette erreur dans les logs :

Oct 19 10:11:49 grub-installer: info: Running chroot /target
grub-install  --force "dummy"
Oct 19 10:11:49 grub-installer: Installing for x86_64-efi platform.
Oct 19 10:11:49 grub-installer: grub-install: warning:
vars_get_variable:
open(/sys/firmware/efi/vars/blk0-47c7b225-c42a-11d2-8e57-00a0c969723b/raw_var,
O_RDONLY) failed: No such file or directory.
Oct 19 10:11:49 grub-installer: grub-install: warning:
efi_get_variable: ops->get_variable failed: No such file or directory.
Oct 19 10:11:49 grub-installer: grub-install: warning:
efi_va_generate_file_device_path_from_esp: could not open device for
ESP: Bad address.
Oct 19 10:11:49 grub-installer: grub-install: warning:
efi_generate_file_device_path_from_esp: could not generate File DP
from ESP: Bad address.
Oct 19 10:11:49 grub-installer: grub-install: error: failed to
register the EFI boot entry: Bad address.
Oct 19 10:11:49 grub-installer: error: Running 'grub-install  --force
"dummy"' failed.


Ça crorrespond à ce bug chez Debian :
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925591

TL;DR : Il est bien possible de monter la partition EFI en RAID, il
suffit de spécifier le paramètre "--metadata=0.90" lors du "mdadm
--create" pour que les métadonnées du RAID soient placées à la fin de
la partition. Du coup pour l'UEFI, la partition est vue comme une
partition FAT (il ne voit pas le RAID).
Le souci est que ce n'est pas facilement faisable en preseed et encore
moins en installation manuelle, à moins de se farcir la création du
RAID à la main.

Donc je crois que je vais abandonner cette idée et exclure la
partition EFI du RAID, et mettre en place un rsync.

Merci à tous pour votre aide. :)

-- 
Jonathan Leroy


Plus d'informations sur la liste de diffusion FRsAG