aboutsummaryrefslogtreecommitdiff
path: root/i18n/fr_FR/docs/grub/grubeditor.md
blob: d97dca33fc2153dfd7fb7e02ff396bf16da2a575 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
---
title: ÉDITEUR DE GRUB
x-toc-enable: true
...

Cette section concerne l'édition des fichiers de configurations GRUB à
l'intérieur des images ROM libreboot grâce à un éditeur.

Éditeur de GRUB
================

Les images ROM de Libreboot supportent maintenant une fluide édition de
_grub.cfg_ et _grubtest.cfg_ grâce au script grubeditor.sh! Au lieu d'exécuter
manuellement cbfstool pour manipuler ces fichiers de configuration, ce script
prendra la tâche en charge afin que vous puissiez véritablement vous
concentrer sur la modification des fichiers de configuration GRUB selon vos
besoins.

Au moment de cet écrit, grubeditor.sh supporte l'extraction et l'édition de
soit le fichier grub.cfg ou grubtest.cfg dans n'importe quelle image ROM
Libreboot compatible cbfstool contenant ces fichiers, même celles qui ont été
précédemment modifiées. Il peut aussi échanger ces fichiers de configuration
dans une image ROM existante, pratique si vous avez un grubtest.cfg qui marche
et vous voulez le mettre par défaut, ou si vous avez 'cassé' le grub.cfg
principal, et que vous savez que votre grubtest.cfg marche encore.
Dernièrement, ça peut aussi faire la diff de ces deux fichiers de
configurations pour montrer leurs différences.


Nécessités
=========

grubeditor.sh nécessite un environnement d'architecture x86, x86_64 ou armv7l,
puisque ce sont ceux pour lesquels les exécutables de cbfstools sont fournis.
Additionnellement, grubeditor.sh nécessite un environnement bash avec la
fonctionnalité getopt étendue qui peut exécuter la commande **diff** et écrire
dans /tmp. Enfin, le script s'attend à être placé dans le répertoire
racine des paquets utilitaires de Libreboot afin de bien exécuter
cbfstool.

Il y a des chances que vous remplissez déjà ces préréquis si vous êtes dans un
environnement Linux sur l'une des architectures listées, et que vous avez
téléchargé les utilitaires libreboot depuis une source officielle.
Sinon, ça ne devrait pas être trop difficile d'utiliser un LiveCD Linux de
votre choix qui fournissent l'essentiel.

Optionnellement, vous devriez vous assurer que votre variable EDITOR est
définie. Sinon, grubeditor.sh utilisera vi par défaut, qui peut ne pas exister
sur votre système. Vous pouvez supplanter ce choix par défaut ou le contenu de
votre variable EDITOR en utilisant l'option **-e** ou **--editor**.

Aide à l'utilisation
====================

grubeditor.sh a quelques options, la seule étant requise est une image ROM
libreboot valide utilisant une charge utile GRUB2 et contient les fichiers
_grub.cfg_ et _grubtest.cfg_. Les options additionnelles devrait être mise
avant l'image ROM sur la ligne de commande.

grubeditor.sh supporte la combinaison de plusieurs courtes options avec un
seul tiret tel que **-ris**, mais vous pouvez toujours les séparer comme ceci:
**-r -i -s**. Les longues options doivent être toujours écrites en tant
qu'arguments séparés/seuls.

Vous pouvez utiliser l'option **-h** ou **--help** pour voir un bref résumé
des options disponibles. Considérez le guide ici présent comme une version
plus étendue de cette option/écran.

Enfin, vous pouvez vérifier quelle version de grubeditor.sh vous être en train
d'utiliser avec l'option **-v** ou **--version**.

Éditer les fichiers de configuration
------------------------------------

Invoqué sans aucun arguments excepté pour l'image ROM, grubeditor.sh tentera
d'extraire le fichier _grubtest.cfg_ de l'image ROM fournie et lancera son
édition dans l'éditeur de votre choix. Si vous faites des changements,
grubeditor.sh les intégrera dans une nouvelle image ROM avec le même nom dans
le même répertoire, excepté que le nouveau fichier ROM terminera par
".modified". Vous pouvez ensuite flasher cette image ROM dans la puce BIOS de
votre machine.

Si vous préférez éditer le véritable fichier de configuration _grub.cfg_,
utilisez l'option **-r** ou **--realcfg**. Tout marchera pareil sauf que votre
éditeur ouvrira _grub.cfg_ à la place.

Si vous préférez écraser votre image ROM existante au lieu d'en créer une
nouvelle terminant par ".modified", utilisez l'option **-i** ou **--inplace**.
Naturellement, vous pouvez combiner cette option avec l'option
**-r/--realcfg** décrite ci-dessus.

Échanger grub.cfg et grubtest.cfg
---------------------------------

grubeditor.sh supporte l'échangee des fichiers de configuration _grub.cfg_ et
_grubtest.cfg_ grâce à l'option **-s** ou **--swap**. Ça créera une nouvelle
image ROM au côté de l'image ROM existante avec l'extension ".modified",
contenant ces fichiers mais échangés.
Naturellement, vous pouvez demandez l'écrasement de la ROM existante en
ajoutant l'option **-i** ou **--inplace**.

Notez que le script modifiera automatiquement l'entrée de menu "Charger la
configuration de test (grubtest.cfg)" dans les deux fichiers de configurations
pendant cette opération.
Si ça ne faisait pas, ces entrées finirait par s'auto-référencer après le
renommage, cassant la fonctionnalité attendue d'échange entre les deux
fichiers.

Pour des résultats optimal, ne modifiez pas silvouplaît cette section sans
étudier le code source de _grubeditor.sh_ et soyez sûr que vos changements
n'impactent pas la capacité du script à faire cette modification.


Faire la différence entre grub.cfg et grubtest.cfg
--------------------------------------------------

grubeditor.sh supporte la comparaison des fichiers _grub.cfg_ et
_grubtest.cfg_ pour trouver des différences, à l'aide de l'option **-d** ou
**--diffcfg**. Ça utilise la commande diff par défaut, mais si vous voulez
utiliser un autre progralle (p.ex vimdiff), vous pouvez le spécifier avec
l'option **-D** ou **--differ**. Notez que ce mode est seulement fait pour
montrer les différences dans les fichiers et ne supporte pas la mise à jour
des configurations en elles-même, donc n'importe quels changements faits dans
un différenciateur interactif seront ignorés.

Extraire un fichier de configuration
------------------------------------

Vous pouvez simplement extraire un fichier de configuration en utilisant
l'option **-x** ou **--extract**. Cette option s'adapte à l'option
**-r**/**--realcfg** pour choisir entre grubtest.cfg et grub.cfg.

Développement en attente
========================

À FAIRE:
-   permettre l'injection de fichiers de configurations pour complémenter
    l'extracteur.
-   détecter des cas d'exceptions potentiellement dévastateurs, aussi rare
    qu'ils pourraient être
-   je ne peux pas spécifier des arguments apostrophés sur la ligne de
    commandes pour les options **-e** ou **-D**, pourquoi?
-   supporter l'édition des deux fichiers de configurations à la fois si on
    est en train d'utiliser un différenciateur intéractif
-   fonctionner avec d'autres types de fichiers en dehors des fichiers de
    configuration GRUB.

Conclusion
==========

J'espère que grubeditor.sh facilitera significativement la modification des
fichiers de configuration dans vos fichiers ROM Libreboot.

Trouveriez-vous quelconque bugs ou avez des demandes de fonctionnalité,
n'hésitez pas silvouplaît à me faire un email ou me déranger sur IRC.

Copyright © 2014 Leah Rowe <info@minifree.org>\

Permission est donnée de copier, distribuer et/ou modifier ce document
sous les termes de la Licence de documentation libre GNU version 1.3 ou
quelconque autre versions publiées plus tard par la Free Software Foundation
sans Sections Invariantes,  Textes de Page de Garde, et Textes de Dernière de Couverture.
Une copie de cette license peut être trouvé dans [../fdl-1.3.md](fdl-1.3.md).