[efi boot stub]Un point sur efi boot stub (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
alexandre
newbie
Messages : 6
Inscription : jeu. 05 juil. 2012, 11:48

[efi boot stub]Un point sur efi boot stub (résolu)

Message par alexandre »

Bonjour,

je souhaite installer archlinux sur une nouvelle machine dotée d'un uefi (et que je n'arrive pas à contourner, il s'agit d'un shuttle xs35v4 dont l'uefi est en version 2. quelque chose). Pour cela je mixe un peu les pages wiki suivantes :
*https://wiki.archlinux.fr/EFI_Boot_Stub
*https://wiki.archlinux.fr/Installation

Première question : le disque utilisé pour la partition ESP DOIT-il être en GPT, au vu de la première page ça n'a pas l'air d'être le cas (apparemment, une partition en fat32 créée avec fdisk fait l'affaire, ce qui m'arrangerait car gdisk avait l'air de raler parce que le disque avait déjà une table MBR et qu'il ne voulait rien faire) ?

Deuxième question : on est bien d'accord que si tout se passe bien, il n'y a pas besoin de bootloader vu qu'efi est censé pouvoir lancer un noyau linux ?

Du coup voici ce que j'ai fait après avoir booté sur la clef d'installation arch (elle se situe sur /dev/sbc, un disque inutile pour le moment est référencé avec /dev/sda et le disque où je souaite mettre le système est en /dev/sdb) :

Création de quatre partitions primaires sur /dev/sdb avec cfdisk :
* 250 M sur une première partition en fat 32 (/dev/dsb1) (apparemment les 512 M ne sont pas une obligation...)
* 250 M sur une partiton en ext2 (/dev/sdb2)
* 30 G sur une partition en ext4 (/dev/sdb3)
* le reste sur une partition en ext4 (/dev/sdb4)

Je monte /dev/sdb3 dans /mnt, y crée /mnt/boot et /mnt/home dans lesquelles je monte respectivement /dev/sdb2 et /dev/sdb4 puis création de /mnt/boot/efi dans lequel je monte /dev/sdb1.

Ensuite je génère le fstab qui va bien et chroot dans /mnt après y avoir pacstrapé "base".

Là dedans je suis l'installe classique, et au lieu d'installer un bootloader je m'occupe de /boot/efi : j'y crée EFI/arch dans le quel je copie et renomme le noyau et les initramfs. Chargement du module efivars et installation de efibootmgr puis adaptation de la formule magique censée dire à uefi de booter sur mon noyau. Reboot.

...rien, j'atterrie à nouveau dans mon shell uefi :(

A noter qu'au moment de la formule magique, efibootmgr me disait que les labels n'étant pas unique ça pouvait déconner (enfin un truc dans le genre si je me souviens bien).

Si vous avez des rectifications, des précisions ou une solution de suis preneur...
Dernière modification par alexandre le jeu. 10 juil. 2014, 15:10, modifié 3 fois.
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

Re: Un point sur efi boot stub

Message par Moviuro »

alexandre a écrit :Là dedans je suis l'installe classique, et au lieu d'installer un bootloader je m'occupe de /boot/efi : j'y crée EFI/arch dans le quel je copie et renomme le noyau et les initramfs. Chargement du module efivars et installation de efibootmgr puis adaptation de la formule magique censée dire à uefi de booter sur mon noyau.
Plop,

J'ai UEFI sur une de mes machines mais j'utilise quand même un boot loader : https://wiki.archlinux.org/index.php/Gummiboot (ça permet entre autres d'avoir plusieurs entrées de boot: arch et fallback, par exemple). L'install de gummiboot est straight-forward et je ne me souviens pas avoir eu de soucis particuliers. La syntaxe des 'entries' est la même que syslinux, exemple pour moi (les lignes sont à customiser : moi j'ai secureboot en plus avec une / BTRFS dans un conteneur LUKS) :

Code : Tout sélectionner

moviuro@psychoticdelirium ~ % cat /boot/loader/entries/arch.conf 
title   ArchLinux - signed
linux   /vmlinuz-linux.signed
initrd  /initramfs-linux.img
options cryptdevice=UUID=c3c2fcfa-9265-4da7-a927-0a18d83d8d77:luks-c3c2fcfa-9265-4da7-a927-0a18d83d8d77 root=UUID=73b5d405-ed79-474c-bb6a-e6c137eb9dcd rw acpi_osi=Linux acpi_backlight=legacy quiet elevator=noop

Code : Tout sélectionner

moviuro@psychoticdelirium ~ % cat /boot/loader/loader.conf
default arch
Aussi, revois le titre de ton post, sinon quelqu'un d'autre va faire la remarque... (c'est écrit en rouge en plus quand tu entres le titre... :P )
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17615
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: Un point sur efi boot stub

Message par benjarobin »

Il est très très fortement recommandé d'avoir le disque formaté en GPT.
As tu déjà un autre OS d'installé ? Si ce n'est pas le cas, il suffit de faire un petit formatage pour que gdisk ne râle pas. Par exemple

Code : Tout sélectionner

dd if=/dev/zero of=/dev/sda bs=4M count=1
partprobe /dev/sda
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
alexandre
newbie
Messages : 6
Inscription : jeu. 05 juil. 2012, 11:48

Re: [efi boot stub]Un point sur efi boot stub

Message par alexandre »

Ok (j'ai commencé par rectifier mon titre)

Dans l’immédiat je n'ai pas besoin de bootloader (un seul OS, un seul noyau, et je ne redémarre qu'une fois par mois en moyenne...) donc si je peux m'en passer... Je vais quand même jeter un coup d’œil, le coté "strait-forward" me tentant bien.

Par contre je retenterai le tout (vous n'y avez pas vu d'erreur a priori) en m'arrangeant pour avoir un disque GPT (non, le disque en question est vierge, enfin maintenant il faut que je vire ce que j'y ai installé). Au passage j'essaierai de respecter les 512 M pour la partition ESP.

Je vous tiens au courant demain, merci pour vos réponses.
alexandre
newbie
Messages : 6
Inscription : jeu. 05 juil. 2012, 11:48

Re: [efi boot stub]Un point sur efi boot stub

Message par alexandre »

Au rapport comme annoncé !

1/ j'ai pu créer un disque GPT avec les partitions qui vont bien et refaire la même chose sauf que ça ne bootait toujours pas sur le disque :(

2/ je me suis décidé à installer gummiboot et là, plusieurs bonnes nouvelles :
*je ne raterrie plus dans cet horrible shell (uefi 2.31 d'american megatrends revision 5.8, pour être précis)
*à la place je tombe sur la liste des entrés qu'on configure dans le dossiers ..../entries de gummiboot

Ceci me laisse penser que la partition ESP est correcte et accessible

3/ j'avais ds doutes sur la syntaxe des entrés pour gummiboot, j'en ai donc essayé deux mais les deux foirent :(

peut-être pouvez-vous m'aider encore :D ?

Voici les données :
la partition ESP est montée dans le dossier /boot/efi, gummiboot s'est vu affublé d'un --path=/boot/efi install, le noyaux et les initramfs de /boot ont été copiés dans /boot/efi/EFI/arch et répondent désormais aux doux noms suivants (différents de ceux de /boot, comme indiqué dans le wiki francophone d'EFISTUB) :
vmlinuz-arch.efi
initramfs-arch.img
initramfs-arch-fallback.img

Pour l'instant j'ai indiqué les deux entrés suivantes à gummiboot

*arch.conf contient

Code : Tout sélectionner

title   Arch Linux
linux   /vmlinuz-arch.efi
initrd  /initramfs-arch.img
option  root=PARTUUID=ma_mémoire_me_fait_defaut rw
*archbis.conf contient

Code : Tout sélectionner

title   Arch Linux
linux   /arch/vmlinuz-arch.efi
initrd  /arch/initramfs-arch.img
option  root=PARTUUID=ma_mémoire_me_fait_defaut rw

...et je me rends compte que j'aurais plutôt dû essayer /EFI/arch/trucs_bidules... et autre question, devrias-je plutôt laisser les noms usuels du noyau et des initramfs, en tout cas les mêmes que dans /boot ?


Autre nouveauté sympathique : dans le choix des media de boot dans le bios, il ne se contente plus d'un lacunaire "hard disk" mais m'indique carrément une partition (LA partition ESP j'imagine...)
Dernière modification par alexandre le jeu. 10 juil. 2014, 13:09, modifié 1 fois.
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

Re: [efi boot stub]Un point sur efi boot stub

Message par Moviuro »

La balise [code] !!!

option root=PARTUUID=ma_mémoire_me_fait_defaut rw C'est ça le souci, c'est pas le PARTUUID qu'il faut mais l'UUID. Ça devrait tout résoudre (bon retour en live ;) )
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
alexandre
newbie
Messages : 6
Inscription : jeu. 05 juil. 2012, 11:48

Re: [efi boot stub]Un point sur efi boot stub

Message par alexandre »

Merci Moviuro, je suivais ça https://wiki.archlinux.org/index.php/Gu ... ot_entries, qu'il faudrait corriger si le PARTUUID ne peut pas marcher... Je vais essayer en m'inspirant de ton exemple d'entrée.
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

Re: [efi boot stub]Un point sur efi boot stub

Message par Moviuro »

alexandre a écrit :Merci Moviuro, je suivais ça https://wiki.archlinux.org/index.php/Gu ... ot_entries, qu'il faudrait corriger si le PARTUUID ne peut pas marcher... Je vais essayer en m'inspirant de ton exemple d'entrée.
Ah bah, si c'est dans le wiki, c'est étrange. T'es sûr que t'as pas fait un micmac au niveau des partitions ? Aussi, t'es sûr que les images s'appellent bien comme dans tes entrées ? moi dans /boot, j'ai vmlinuz-linux, pas de .efi ou *-arch*...
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
alexandre
newbie
Messages : 6
Inscription : jeu. 05 juil. 2012, 11:48

Re: [efi boot stub]Un point sur efi boot stub

Message par alexandre »

En fait les noms sont changés dans le wiki et j'ai suivi ça à la lettre...

Sinon avec

Code : Tout sélectionner

root=UUID=blablabla
ça marche effectivement, à condition de mettre les chemins /EFI/arch/trucs_bidules, les autres ne marchaient pas.

Finalement j'ai pu booter sur le noyau du disque dur, et poursuivre l'installation, preuve en est j'écris ce message depuis l'interface graphique. Il reste pas mal de choses à faire mais je devrais m'en sortit maintenant. Merci Movurio.

Une dernière remarque : dans un boot uefi uniquement, à quoi sert la double partition /boot et /boot/efi, ne serait-il pas aussi fonctionnel de monter la partition ESP dans /boot directement (j'ai l'impression que ça éviterait les problèmes de mise-à-jour du noyau...) ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17615
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [efi boot stub]Un point sur efi boot stub (résolu)

Message par benjarobin »

Il est bien sur possible de faire une telle chose (enfin tout dépend du bootloader), une fois que l'on a bien compris comment s’architecturait le tout.
Mais le problème c'est que cela créé des fichiers à la racine de la partition FAT32 EFI, ce qui n'est pas propre surtout si tu as un multiboot.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Moviuro
Elfe
Messages : 765
Inscription : dim. 17 juin 2012, 22:49

Re: [efi boot stub]Un point sur efi boot stub

Message par Moviuro »

alexandre a écrit :Une dernière remarque : dans un boot uefi uniquement, à quoi sert la double partition /boot et /boot/efi, ne serait-il pas aussi fonctionnel de monter la partition ESP dans /boot directement (j'ai l'impression que ça éviterait les problèmes de mise-à-jour du noyau...) ?
Super ! Perso, je n'ai qu'arch sur ma machine et je n'ai que /boot comme partition :)
psycho : Latitude E6430 ; BTRFS over LUKS, UEFI & secureboot
schizo : Acer 8942G ; KDE 4, BTRFS over LUKS ; W7 (prend la poussière)
toxo : i5-6600K, bspwm, VM W10 en PCI-passthrough
deadman : Lenovo Thinkcenter, OpenBSD 6.0-stable
popho.be : Kimsufi KS-3, FreeBSD 11.0
Loi de Murphy : Le jour où tu as besoin d'une backup, tu te dis que tu aurais dû en mettre en place
Venez sur IRC en plus du forum !
Répondre