Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

grub2 sur une disquette ?

5 réponses
Avatar
Geo Cherchetout
Bonsoir,

Je m'arrache le peu de cheveux qu'il me reste à tenter de créer depuis ma
Mageia5 une disquette de démarrage avec grub2. (grub-pc) Voici ce que j'ai
essayé :

# grub2-install /dev/fd0
Installing for i386-pc platform.
grub2-install : attention : Le système de fichiers « fat » ne prend pas en
charge l'embarquage.
grub2-install : erreur : l'embarquage est impossible, il est pourtant
nécessaire pour les installations interdisques.

Puisque le système de fichiers fat ne convient pas j'ai essayé de formater
la disquette en d'autres formats avec la gamme des mkfs.ext2, mkfs.ext3,
etc, mais l'embarquage demeure toujours impossible.
Qu'est-ce que c'est que cette histoire « d'embarquage » ? Même avec les mots
anglais embed, embedding, embedded je n'ai pas encore trouvé d'explication.
Dailleurs, je me demande aussi en quoi le système de fichiers présent peut
intervenir.

J'ai aussi créé des images avec la commande grub2-mkimage. Les fichiers sont
toujours trop gros pour tenir sur la disquette.

Même genre de problème avec grub2-mkrescue :

# grub2-mkrescue --compress=xz --output=/dev/fd0
GNU xorriso 1.3.8 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:/dev/fd0'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1376k free
Added to ISO image: directory '/'='/tmp/grub.FvVetm'
xorriso : UPDATE : 304 files added in 1 seconds
xorriso : UPDATE : 304 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file
'/usr/lib/grub/i386-pc/boot_hybrid.img'
xorriso : FAILURE : Image size 1093s exceeds free space on media 720s
xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE

Ce que j'essaie de faire est-il possible ? Si oui, un petit coup de pouce
serait le bienvenu...

5 réponses

Avatar
Nicolas George
Geo Cherchetout , dans le message <obmid4$2661$, a
écrit :
pour les installations interdisques.

Tu as loupé ça.
Avatar
Pascal Hambourg
Le 31/03/2017 à 23:40, Geo Cherchetout a écrit :
Je m'arrache le peu de cheveux qu'il me reste à tenter de créer depuis
ma Mageia5 une disquette de démarrage avec grub2. (grub-pc) Voici ce que
j'ai essayé :
# grub2-install /dev/fd0
Installing for i386-pc platform.
grub2-install : attention : Le système de fichiers « fat » ne prend pas
en charge l'embarquage.
grub2-install : erreur : l'embarquage est impossible, il est pourtant
nécessaire pour les installations interdisques.
Puisque le système de fichiers fat ne convient pas j'ai essayé de
formater la disquette en d'autres formats avec la gamme des mkfs.ext2,
mkfs.ext3, etc, mais l'embarquage demeure toujours impossible.
Qu'est-ce que c'est que cette histoire « d'embarquage » ? Même avec les
mots anglais embed, embedding, embedded je n'ai pas encore trouvé
d'explication.

<https://www.gnu.org/software/grub/manual/grub.html#BIOS-installation&gt;
L'embarquage ou "embedding" est le fait d'installer l'image principale
(core image) de GRUB dans une zone réservée du périphérique dans le
secteur d'amorce duquel l'image d'amorce de GRUB (boot image) est
installée. Le périphérique est celui passé en argument à la commande
grub-install ou grub2-install, ici /dev/fd0.
Dans le cas où le périphérique est un disque partitionné, la zone
réservée pour l'embarquage est l'espace entre le MBR et la première
partition pour une table de partition DOS/MBR, ou une partition de type
"BIOS Boot" dans le cas d'une table de partition au format GPT.
Quand l'embarquage n'est pas possible, l'image principale doit être
installée comme un simple fichier core.img, avec la contrainte que le
système de fichiers contenant /boot/grub (ou /boot/grub/2 selon la
distribution) ou le chemin spécifié avec l'option --boot-directory soit
sur le même périphérique. Mais c'est moins fiable que l'embarquage,
aussi il faut ajouter l'option --force.
Ici, tu n'as pas spécifié l'option --boot-directory, et je suppose que
tu n'as pas monté /dev/fd0 sur /boot, donc par défaut grub2-install
utilise le répertoire /boot/grub du système, qui est sur un autre
périphérique que la disquette. Cette configuration n'est donc pas
compatible avec l'embarquage.
Dailleurs, je me demande aussi en quoi le système de
fichiers présent peut intervenir.

Certains types de systèmes de fichiers réservent une zone au début du
volume pour l'installation d'un chargeur d'amorçage, et GRUB peut
utiliser la zone réservée de certains d'entre eux. Btrfs est le seul
pour lequel j'ai pu vérifier que cela fonctionne. Mais tu peux oublier
car d'après mes essais la taille minimum d'un système de fichiers btrfs
est de 5 Mio, et même dans ce cas il n'y a aucun espace libre pour
stocker des fichiers. L'embarquage dans XFS serait aussi supporté, mais
je n'ai pas testé. Des mentions dans les changelogs me laissaient penser
que l'embarquage dans Minix est aussi supporté, mais je n'ai pas réussi
à le faire.
ISO 9660 et UDF réservent une zone au début, mais GRUB ne supporte pas
l'embarquage dans ces systèmes de fichiers.
ext2/3/4 et FAT n'ont pas de zone réservée pour l'amorçage.
J'ai aussi créé des images avec la commande grub2-mkimage. Les fichiers
sont toujours trop gros pour tenir sur la disquette.

C'est ce que j'allais dire ensuite. Sur mon disque le contenu de
/boot/grub occupe largement plus que la capacité d'une disquette DF/HD.
Même genre de problème avec grub2-mkrescue :
# grub2-mkrescue --compress=xz --output=/dev/fd0
GNU xorriso 1.3.8 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/dev/fd0'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 1376k free
Added to ISO image: directory '/'='/tmp/grub.FvVetm'
xorriso : UPDATE : 304 files added in 1 seconds
xorriso : UPDATE : 304 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file
'/usr/lib/grub/i386-pc/boot_hybrid.img'
xorriso : FAILURE : Image size 1093s exceeds free space on media 720s

Pas assez de place.
Avatar
Pascal Hambourg
Le 01/04/2017 à 10:14, Pascal Hambourg a écrit :
Ici, tu n'as pas spécifié l'option --boot-directory, et je suppose que
tu n'as pas monté /dev/fd0 sur /boot, donc par défaut grub2-install
utilise le répertoire /boot/grub du système, qui est sur un autre
périphérique que la disquette. Cette configuration n'est donc pas
compatible avec l'embarquage.

Correction : avec le non-embarquage.
La conntrainte de base est que l'image d'amorce et l'image principale
(embarquée ou fichier) de GRUB doivent être sur le même périphérique.
Avatar
Geo Cherchetout
Le 01/04/2017 10:14, *Pascal Hambourg* a écrit :
Pas assez de place.

Dans l'immédiat, c'est à peu près tout ce que je retiens de cette affaire
compliquée. Apparemment ce serait possible simplement avec une disquette de
2,88 Mo... et le lecteur adéquat, que je n'ai pas.
Pas grave, comme j'ai gardé grub-legacy parallèlement à grub-pc, je peux
toujours créer des disquettes de secours pour mes distributions préférées.
Merci quand-même pour les explications que je vais relire tranquillement dès
que j'aurai assimilé les notions de base sur le sujet qui me manquent.
Avatar
Pascal Hambourg
Le 01/04/2017 à 11:59, Geo Cherchetout a écrit :
Le 01/04/2017 10:14, *Pascal Hambourg* a écrit :
Pas assez de place.

Dans l'immédiat, c'est à peu près tout ce que je retiens de cette
affaire compliquée.

Tu pourrais essayer de supprimer les modules de GRUB dont tu n'as pas
besoin.