|
|
(25 versions intermédiaires par 2 utilisateurs non affichées) |
Ligne 1 : |
Ligne 1 : |
| == Introduction ==
| |
| J'en avais vraiment marre de rajouter manuellement (avec le clavier en mode ''qwerty'') la longue '''ligne des options de boot''' suivante qui permet de démarrer ma '''debian live''' directement en français.
| |
| <code> lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes</code>
| |
| Et puis, comme je suis un très très gros fainéant pour me lancer dans la création d'une nouvelle image ISO à chaque nouvelle version, voilà comment je fais depuis un petit moment.
| |
|
| |
|
| <u>'''NOTE:'''</u> Bien sûr cette maipulation comme le script fonctionne avec tous les fichiers image ISO de type '''debian <u>live</u>'''
| |
|
| |
| == Description ==
| |
| J'ai décidé d'ajouter ces options de boot directement dans l'[http://caesar.acc.umu.se/debian-cd/current-live/amd64/iso-hybrid/debian-live-7.5.0-amd64-xfce-desktop.iso|image ISO téléchargée], juste avant de la graver ou copier sur une clef USB.
| |
|
| |
| Comme le menu affiché au moment du boot dépend du contenu du fichier '''/isolinux/live.cfg''' de l'image ISO<br />
| |
| dont voici un extrait du contenu (les deux premiers "label"s):
| |
| <pre>
| |
| label live-amd64
| |
| menu label ^Live (amd64)
| |
| menu default
| |
| linux /live/vmlinuz
| |
| initrd /live/initrd.img
| |
| append boot=live config quiet splash
| |
|
| |
| label live-amd64-failsafe
| |
| menu label ^Live (amd64 failsafe)
| |
| linux /live/vmlinuz
| |
| initrd
| |
| </pre>
| |
|
| |
| Il me faudra donc modifier la ligne :
| |
| <pre style="color: red"> append boot=live config quiet splash</pre>
| |
| de façon à ce qu'elle devienne :
| |
| <pre style="color: green"> append boot=live config quiet splash lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes</pre>
| |
| Mais pour cela, il me faudra d'abord connaître exactement la position de ce texte dans le fichier image ISO téléchargé.
| |
|
| |
| == Recherche avec l'éditeur '''hexcurse''' ==
| |
|
| |
| '''hexcurse''' est un éditeur hexadécimal qui pourrait permettre de modifier directement le fichier image ISO, <br />
| |
| mais comme il faut insérer ces paramètres dans le texte et donc déplacer la partie de texte qui suivait la ligne des paramètres, etc…, <br />
| |
| ça fait beaucoup trop de manipulations à faire pour moi, et puis, comme je vous l'ai déjà dit plus haut : je suis vraiment très très fainéant.
| |
|
| |
| Toutefois, cet éditeur permet de rechercher la position d'une chaîne de caractère dans un fichier, et ça, ça m'intéresse beaucoup,<br />
| |
| alors, j'entre la commande suivante :
| |
| <code>michel@debG53SW:~$ hexcurse ~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop.iso</code>
| |
| L'écran affiché présente alors le contenu du fichier image ISO en '''Hexa''' (à gauche) et '''ASCII''' (à droite).
| |
| <code>
| |
| ┌00000000─────────────────────────────────────────────────┐^┌────────────────┐
| |
| │00000000 33 ED 90 90 90 90 90 90 90 90 90 90 90 90 90 90 │◆│3...............│
| |
| │00000010 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 │▒│................│
| |
| │00000020 33 ED FA 8E D5 BC 00 7C FB FC 66 31 DB 66 31 C9 │▒│3......|..f1.f1.│
| |
| │00000030 66 53 66 51 06 57 8E DD 8E C5 52 BE 00 7C BF 00 │▒│fSfQ.W....R..|..│
| |
| │00000040 06 B9 00 01 F3 A5 EA 4B 06 00 00 52 B4 41 BB AA │▒│.......K...R.A..│
| |
| │00000050 55 31 C9 30 F6 F9 CD 13 72 16 81 FB 55 AA 75 10 │▒│U1.0....r...U.u.│
| |
| │00000060 83 E1 01 74 0B 66 C7 06 F1 06 B4 42 EB 15 EB 00 │▒│...t.f.....B....│
| |
| │00000070 5A 51 B4 08 CD 13 83 E1 3F 5B 51 0F B6 C6 40 50 │▒│ZQ......?[Q...@P│
| |
| │00000080 F7 E1 53 52 50 BB 00 7C B9 04 00 66 A1 B0 07 E8 │▒│..SRP..|...f....│
| |
| │00000090 44 00 0F 82 80 00 66 40 80 C7 02 E2 F2 66 81 3E │▒│D.....f@.....f.>│
| |
| │000000A0 40 7C FB C0 78 70 75 09 FA BC EC 7B EA 44 7C 00 │▒│@|..xpu....{.D|.│
| |
| │000000B0 00 E8 83 00 69 73 6F 6C 69 6E 75 78 2E 62 69 6E │▒│....isolinux.bin│
| |
| │000000C0 20 6D 69 73 73 69 6E 67 20 6F 72 20 63 6F 72 72 │▒│ missing or corr│
| |
| │000000D0 75 70 74 2E 0D 0A 66 60 66 31 D2 66 03 06 F8 7B │▒│upt...f`f1.f...{│
| |
| │000000E0 66 13 16 FC 7B 66 52 66 50 06 53 6A 01 6A 10 89 │▒│f...{fRfP.Sj.j..│
| |
| │000000F0 E6 66 F7 36 E8 7B C0 E4 06 88 E1 88 C5 92 F6 36 │▒│.f.6.{.........6│
| |
| │00000100 EE 7B 88 C6 08 E1 41 B8 01 02 8A 16 F2 7B CD 13 │▒│.{....A......{..│
| |
| │00000110 8D 64 10 66 61 C3 E8 1E 00 4F 70 65 72 61 74 69 │▒│.d.fa....Operati│
| |
| │00000120 6E 67 20 73 79 73 74 65 6D 20 6C 6F 61 64 20 65 │▒│ng system load e│
| |
| │00000130 72 72 6F 72 2E 0D 0A 5E AC B4 0E 8A 3E 62 04 B3 │▒│rror...^....>b..│
| |
| │00000140 07 CD 10 3C 0A 75 F1 CD 18 F4 EB FD 00 00 00 00 │▒│...<.u..........│
| |
| │00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001B0 C4 BE 19 00 00 00 00 00 A4 0D CF 4A 00 00 80 02 │▒│...........J....│
| |
| │000001C0 01 00 17 3F E0 B4 40 00 00 00 C0 A7 1D 00 00 00 │▒│...?..@.........│
| |
| │000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA │▒│..............U.│
| |
| └─────────────────────────────────────────────────────────┘v└────────────────┘
| |
| Help Save Open Goto Find Hex Addr Hex Edit Quit
| |
| </code>
| |
|
| |
| La touche '''"F1"''' permet d'obtenir une fenêtre d'aide.
| |
| <code>
| |
| ┌00000000─────────────────────────────────────────────────┐^┌────────────────┐
| |
| │ Ctrl Key HexCurse Keyboard Commands │◆│ Function Keys │
| |
| │ │▒│ │
| |
| │ CTRL+? Help - you are reading it now │▒│ Help = F1 │
| |
| │ CTRL+S Save - saves the current file open │▒│ Save = F2 │
| |
| │ CTRL+O Open - opens a new file │▒│ Open = F3 │
| |
| │ CTRL+G Goto - goto a specified address │▒│ Goto = F4 │
| |
| │ CTRL+F Find - search for a hex/ascii value │▒│ Find = F5 │
| |
| │ CTRL+A HexAdres - toggle between hex/decimal address │▒│ HexAdres = F6 │
| |
| │ TAB Hex Edit - toggle between hex/ASCII windows │▒│ Hex Edit = F7 │
| |
| │ CTRL+Q Quit - exit out of the program │▒│ Quit = F8 │
| |
| │ │▒│ │
| |
| │ CTRL+U Page up - scrolls one screen up │▒│ Page up = PGUP│
| |
| │ CTRL+D Page down- scrolls one screen down │▒│ Page down= PGDN│
| |
| │ CTRL+Z Undo - reverts last modification │▒│ │
| |
| │ CTRL+T Home - returns to the top of the file │▒│ │
| |
| │ CTRL+B End - jumps to the bottom of the file │▒│ │
| |
| │ │▒│ │
| |
| │ Press enter to continue │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| │ │▒│ │
| |
| └─────────────────────────────────────────────────────────┘v└────────────────┘
| |
| Help Save Open Goto Find Hex Addr Hex Edit Quit
| |
| </code>
| |
| '''NOTE:''' Pour utiliser les touches de raccourcis de '''hexcurse''', <br />
| |
| vous devrez peut-être désactiver les touches de raccourcis de la fenêtre de terminal virtuel (voir [http://www.debian-fr.org/emulateur-de-terminal-et-raccourcis-claviers-t48963.html ce post]).
| |
|
| |
| {| class="wikitable" width="50%"
| |
| ! width="5%"| Touche
| |
| ! Description
| |
| |-{{ligne grise}}
| |
| | '''"F5"'''
| |
| | Permet de faire une recherche.
| |
| |-{{ligne grise}}
| |
| | '''"F8"'''
| |
| | Quitte "hexcurse".
| |
| |-{{ligne grise}}
| |
| | '''"TAB"'''
| |
| | Est une touche bascule qui permet de positionner le curseur dans chaque partie de l'écran affiché (Hexa ou Ascii).
| |
| |-{{ligne grise}}
| |
| | '''"CTRL-z"'''
| |
| | Anulle les modifications effectuées.
| |
| |-{{ligne grise}}
| |
| | '''"Esc"'''
| |
| | Anulle la demande de ''"sauvegarde"'', ''"ouverture"'', ''"aller à"'' , ou ''"recherche"'' en cours.
| |
| |-{{ligne grise}}
| |
| |}
| |
|
| |
|
| |
|
| |
| Maintenant que je sais comment faire, je ferme la fenêtre d'aide en utilisant la touche '''"Esc"''', <br />
| |
| et je positionne le curseur dans la fenêtre '''Ascii''' avec la touche '''"Tab"''' afin de faire la recherche sur les caractères '''Ascii'''.
| |
| <code>
| |
| ┌00000000─────────────────────────────────────────────────┐^┌────────────────┐
| |
| │00000000 33 ED 90 90 90 90 90 90 90 90 90 90 90 90 90 90 │◆│3...............│
| |
| │00000010 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 │▒│................│
| |
| │00000020 33 ED FA 8E D5 BC 00 7C FB FC 66 31 DB 66 31 C9 │▒│3......|..f1.f1.│
| |
| │00000030 66 53 66 51 06 57 8E DD 8E C5 52 BE 00 7C BF 00 │▒│fSfQ.W....R..|..│
| |
| │00000040 06 B9 00 01 F3 A5 EA 4B 06 00 00 52 B4 41 BB AA │▒│.......K...R.A..│
| |
| │00000050 55 31 C9 30 F6 F9 CD 13 72 16 81 FB 55 AA 75 10 │▒│U1.0....r...U.u.│
| |
| │00000060 83 E1 01 74 0B 66 C7 06 F1 06 B4 42 EB 15 EB 00 │▒│...t.f.....B....│
| |
| │00000070 5A 51 B4 08 CD 13 83 E1 3F 5B 51 0F B6 C6 40 50 │▒│ZQ......?[Q...@P│
| |
| │00000080 F7 E1 53 52 50 BB 00 7C B9 04 00 66 A1 B0 07 E8 │▒│..SRP..|...f....│
| |
| │00000090 44 00 0F 82 80 00 66 40 80 C7 02 E2 F2 66 81 3E │▒│D.....f@.....f.>│
| |
| │000000A0 40 7C FB C0 78 70 75 09 FA BC EC 7B EA 44 7C 00 │▒│@|..xpu....{.D|.│
| |
| │000000B0 00 E8 83 00 69 73 6F 6C 69 6E 75 78 2E 62 69 6E │▒│....isolinux.bin│
| |
| │000000C0 20 6D 69 73 73 69 6E 67 20 6F 72 20 63 6F 72 72 │▒│ missing or corr│
| |
| │000000D0 75 70 74 2E 0D 0A 66 60 66 31 D2 66 03 06 F8 7B │▒│upt...f`f1.f...{│
| |
| │000000E0 66 13 16 FC 7B 66 52 66 50 06 53 6A 01 6A 10 89 │▒│f...{fRfP.Sj.j..│
| |
| │000000F0 E6 66 F7 36 E8 7B C0 E4 06 88 E1 88 C5 92 F6 36 │▒│.f.6.{.........6│
| |
| │00000100 EE 7B 88 C6 08 E1 41 B8 01 02 8A 16 F2 7B CD 13 │▒│.{....A......{..│
| |
| │00000110 8D 64 10 66 61 C3 E8 1E 00 4F 70 65 72 61 74 69 │▒│.d.fa....Operati│
| |
| │00000120 6E 67 20 73 79 73 74 65 6D 20 6C 6F 61 64 20 65 │▒│ng system load e│
| |
| │00000130 72 72 6F 72 2E 0D 0A 5E AC B4 0E 8A 3E 62 04 B3 │▒│rror...^....>b..│
| |
| │00000140 07 CD 10 3C 0A 75 F1 CD 18 F4 EB FD 00 00 00 00 │▒│...<.u..........│
| |
| │00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001B0 C4 BE 19 00 00 00 00 00 A4 0D CF 4A 00 00 80 02 │▒│...........J....│
| |
| │000001C0 01 00 17 3F E0 B4 40 00 00 00 C0 A7 1D 00 00 00 │▒│...?..@.........│
| |
| │000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA │▒│..............U.│
| |
| └Enter ascii value (): live-amd64 v└────────────────┘
| |
| Help Save Open Goto Find Hex Addr Asc Edit Quit
| |
| </code>
| |
| Après avoir appuyé sur la touche '''"F5"''', en bas à gauche de l'écran s'affiche une invite me proposant d'entrer la chaîne de caractères à rechercher. <br />
| |
| Je réponds alors en entrant la chaîne de caractères : '''live-amd64''' et je valide ma saisie avec la touche habituelle : '''"Entrée"'''.
| |
|
| |
|
| |
| La recherche prend un petit peu de temps (35 secondes) mais il s'agit quand même d'un très gros fichier, puis le texte recherché est enfin trouvé. <br />
| |
| Mais il me faut positionner le curseur au début de la ligne, c'est à dire juste après le premier octet '''"null"''' précédent, sur le premier "'''l'''" de "'''l'''abel".
| |
| <code>
| |
| ┌33807006─────────────────────────────────────────────────┐^┌────────────────┐
| |
| │33807000 6C 61 62 65 6C 20 6C 69 76 65 2D 61 6D 64 36 34 │▒│label live-amd64│
| |
| │33807010 0A 09 6D 65 6E 75 20 6C 61 62 65 6C 20 5E 4C 69 │▒│..menu label ^Li│
| |
| │33807020 76 65 20 28 61 6D 64 36 34 29 0A 09 6D 65 6E 75 │▒│ve (amd64)..menu│
| |
| │33807030 20 64 65 66 61 75 6C 74 0A 09 6C 69 6E 75 78 20 │▒│ default..linux │
| |
| │33807040 2F 6C 69 76 65 2F 76 6D 6C 69 6E 75 7A 0A 09 69 │▒│/live/vmlinuz..i│
| |
| │33807050 6E 69 74 72 64 20 2F 6C 69 76 65 2F 69 6E 69 74 │▒│nitrd /live/init│
| |
| │33807060 72 64 2E 69 6D 67 0A 09 61 70 70 65 6E 64 20 62 │▒│rd.img..append b│
| |
| │33807070 6F 6F 74 3D 6C 69 76 65 20 63 6F 6E 66 69 67 20 │▒│oot=live config │
| |
| │33807080 71 75 69 65 74 20 73 70 6C 61 73 68 0A 0A 6C 61 │▒│quiet splash..la│
| |
| │33807090 62 65 6C 20 6C 69 76 65 2D 61 6D 64 36 34 2D 66 │▒│bel live-amd64-f│
| |
| │338070A0 61 69 6C 73 61 66 65 0A 09 6D 65 6E 75 20 6C 61 │▒│ailsafe..menu la│
| |
| │338070B0 62 65 6C 20 5E 4C 69 76 65 20 28 61 6D 64 36 34 │▒│bel ^Live (amd64│
| |
| │338070C0 20 66 61 69 6C 73 61 66 65 29 0A 09 6C 69 6E 75 │▒│ failsafe)..linu│
| |
| │338070D0 78 20 2F 6C 69 76 65 2F 76 6D 6C 69 6E 75 7A 0A │▒│x /live/vmlinuz.│
| |
| │338070E0 09 69 6E 69 74 72 64 20 2F 6C 69 76 65 2F 69 6E │▒│.initrd /live/in│
| |
| │338070F0 69 74 72 64 2E 69 6D 67 0A 09 61 70 70 65 6E 64 │▒│itrd.img..append│
| |
| │33807100 20 62 6F 6F 74 3D 6C 69 76 65 20 63 6F 6E 66 69 │▒│ boot=live confi│
| |
| │33807110 67 20 6D 65 6D 74 65 73 74 20 6E 6F 61 70 69 63 │▒│g memtest noapic│
| |
| │33807120 20 6E 6F 61 70 6D 20 6E 6F 64 6D 61 20 6E 6F 6D │▒│ noapm nodma nom│
| |
| │33807130 63 65 20 6E 6F 6C 61 70 69 63 20 6E 6F 6D 6F 64 │▒│ce nolapic nomod│
| |
| │33807140 65 73 65 74 20 6E 6F 73 6D 70 20 6E 6F 73 70 6C │▒│eset nosmp nospl│
| |
| │33807150 61 73 68 20 76 67 61 3D 6E 6F 72 6D 61 6C 0A 00 │▒│ash vga=normal..│
| |
| │33807160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │33807170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │33807180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │33807190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │338071A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │338071B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │338071C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │◆│................│
| |
| │338071D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │338071E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| │338071F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 │▒│................│
| |
| └─────────────────────────────────────────────────────────┘v└────────────────┘
| |
| Help Save Open Goto Find Hex Addr Asc Edit Quit
| |
| </code>
| |
| Une fois le curseur bien positionné, en haut à gauche de la fenêtre, on pourra lire le décalage depuis le début du fichier :<br />
| |
| '''33807000''', mais attention, il s'agit d'une valeur hexadécimale.
| |
|
| |
|
| |
| Pour convertir cette valeur hexadécimale en valeur décimale, j'utilise la fonction '''printf''' :
| |
| <code>
| |
| michel@debG53SW:~$ printf "%d\n" 0x33807000
| |
| 864055296
| |
| </code>
| |
|
| |
| == Extraire, avec '''dd''', le texte à modifier ==
| |
| '''dd''' permet de lire et écrire de façon "brute", donc dans un fichier de format quelconque,<br />
| |
| il conviendra parfaitement pour extraire et replacer une partie du fichier de l'image ISO à modifier.
| |
| <code>
| |
| michel@debG53SW:~$ dd bs=1 count=512 skip=864055296 if=~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop.iso of=fichTemp.txt
| |
| 512+0 enregistrements lus
| |
| 512+0 enregistrements écrits
| |
| 512 octets (512 B) copiés, 0,00403728 s, 127 kB/s
| |
| michel@debG53SW:~$
| |
| </code>
| |
| Je visualise avec '''hexdump''' les 512 octets récupérés :
| |
| <code>
| |
| michel@debG53SW:~$ hexdump -Cv fichTemp.txt
| |
| 00000000 6c 61 62 65 6c 20 6c 69 76 65 2d 61 6d 64 36 34 |label live-amd64|
| |
| 00000010 0a 09 6d 65 6e 75 20 6c 61 62 65 6c 20 5e 4c 69 |..menu label ^Li|
| |
| 00000020 76 65 20 28 61 6d 64 36 34 29 0a 09 6d 65 6e 75 |ve (amd64)..menu|
| |
| 00000030 20 64 65 66 61 75 6c 74 0a 09 6c 69 6e 75 78 20 | default..linux |
| |
| 00000040 2f 6c 69 76 65 2f 76 6d 6c 69 6e 75 7a 0a 09 69 |/live/vmlinuz..i|
| |
| 00000050 6e 69 74 72 64 20 2f 6c 69 76 65 2f 69 6e 69 74 |nitrd /live/init|
| |
| 00000060 72 64 2e 69 6d 67 0a 09 61 70 70 65 6e 64 20 62 |rd.img..append b|
| |
| 00000070 6f 6f 74 3d 6c 69 76 65 20 63 6f 6e 66 69 67 20 |oot=live config |
| |
| 00000080 71 75 69 65 74 20 73 70 6c 61 73 68 0a 0a 6c 61 |quiet splash..la|
| |
| 00000090 62 65 6c 20 6c 69 76 65 2d 61 6d 64 36 34 2d 66 |bel live-amd64-f|
| |
| 000000a0 61 69 6c 73 61 66 65 0a 09 6d 65 6e 75 20 6c 61 |ailsafe..menu la|
| |
| 000000b0 62 65 6c 20 5e 4c 69 76 65 20 28 61 6d 64 36 34 |bel ^Live (amd64|
| |
| 000000c0 20 66 61 69 6c 73 61 66 65 29 0a 09 6c 69 6e 75 | failsafe)..linu|
| |
| 000000d0 78 20 2f 6c 69 76 65 2f 76 6d 6c 69 6e 75 7a 0a |x /live/vmlinuz.|
| |
| 000000e0 09 69 6e 69 74 72 64 20 2f 6c 69 76 65 2f 69 6e |.initrd /live/in|
| |
| 000000f0 69 74 72 64 2e 69 6d 67 0a 09 61 70 70 65 6e 64 |itrd.img..append|
| |
| 00000100 20 62 6f 6f 74 3d 6c 69 76 65 20 63 6f 6e 66 69 | boot=live confi|
| |
| 00000110 67 20 6d 65 6d 74 65 73 74 20 6e 6f 61 70 69 63 |g memtest noapic|
| |
| 00000120 20 6e 6f 61 70 6d 20 6e 6f 64 6d 61 20 6e 6f 6d | noapm nodma nom|
| |
| 00000130 63 65 20 6e 6f 6c 61 70 69 63 20 6e 6f 6d 6f 64 |ce nolapic nomod|
| |
| 00000140 65 73 65 74 20 6e 6f 73 6d 70 20 6e 6f 73 70 6c |eset nosmp nospl|
| |
| 00000150 61 73 68 20 76 67 61 3d 6e 6f 72 6d 61 6c 0a 00 |ash vga=normal..|
| |
| 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
| |
| 00000200
| |
| michel@debG53SW:~$
| |
| </code>
| |
| Comme on peut le constater, les 161 derniers octets sont à 0, il y aura largement assez de place pour insérer les options.
| |
|
| |
| == Ajouter les options avec '''sed''' ==
| |
| Je rajoute les options à la suite de "quiet splash" en utilisant '''sed''' :
| |
| <code>
| |
| michel@debG53SW:~$ sed -i 's/quiet splash/quiet splash lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe\/Paris utc=yes/' fichTemp.txt
| |
| </code>
| |
| Je vérifie que les options ont bien été ajoutées :
| |
| <code>
| |
| michel@debG53SW:~$ cat fichTemp.txt
| |
| label live-amd64
| |
| menu label ^Live (amd64)
| |
| menu default
| |
| linux /live/vmlinuz
| |
| initrd /live/initrd.img
| |
| append boot=live config quiet splash lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes
| |
|
| |
| label live-amd64-failsafe
| |
| menu label ^Live (amd64 failsafe)
| |
| linux /live/vmlinuz
| |
| initrd /live/initrd.img
| |
| append boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
| |
| michel@debG53SW:~$
| |
| </code>
| |
| Bien sûr, la taille du fichier est passée de 512 à 620 octets :
| |
| <code>
| |
| michel@debG53SW:~$ ls -l fichTemp.txt
| |
| -rw-r--r-- 1 michel michel 620 juil. 7 11:50 fichTemp.txt
| |
| michel@debG53SW:~$
| |
| </code>
| |
| Mais je ne recopierai que les 512 premiers caractères de ce fichier dans l'image ISO.
| |
|
| |
| == Recopier 512 octets dans le fichier image ISO ==
| |
| Avant tout, je vais sauvegarder le fichier original en en faisant une copie :
| |
| <code>
| |
| michel@debG53SW:~$ cp ~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop.iso ~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop-original.iso
| |
| </code>
| |
| Maintenant, je replace les 512 premiers octets du fichier '''fichTemp.txt''' dans le fichier image ISO avec '''dd''' :
| |
| <code>
| |
| michel@debG53SW:~$ dd conv=notrunc bs=1 count=512 seek=864055296 if=fichTemp.txt of=~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop.iso
| |
| 512+0 enregistrements lus
| |
| 512+0 enregistrements écrits
| |
| 512 octets (512 B) copiés, 0,00166931 s, 307 kB/s
| |
| michel@debG53SW:~$
| |
| </code>
| |
|
| |
| == Tester l'image ISO avec '''kvm''' ==
| |
| Je teste le démarrage de l'image ISO avec '''kvm''' (ou '''VirtualBox''') :
| |
| <code>
| |
| michel@debG53SW:~$ kvm -m 2G -cpu host -boot d -cdrom ~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop.iso
| |
| </code>
| |
| Un appui sur la touche "'''Tab'''" me permet de constater que les options ajoutées sont bien là,<br />
| |
| et le lancement de l'image ISO "'''debian live'''" me permet de constater que la francisation de l'interface graphique de '''Xfce''' est bien fonctionnelle.
| |
|
| |
| Je peux donc maintenant utiliser ce fichier image ISO "francisé" pour préparer mon périphérique de boot (DVD ou USB).
| |
|
| |
| Il ne reste plus qu'à supprimer les fichiers devenus inutiles :
| |
| <code>
| |
| michel@debG53SW:~$ rm fichTemp.txt ~/Téléchargements/debian-live-7.5.0-amd64-xfce-desktop-original.iso
| |
| </code>
| |
| == Ou alors, utilisez un script. ==
| |
| <code>
| |
| #!/bin/sh
| |
| #=================================================================================================
| |
| # NOM DU SCRIPT: isoLive2fr.sh
| |
| #
| |
| # NÉCESSITE: "isoinfo" du paquetage "genisoimage"
| |
| # "dd" du paquetage "coreutils"
| |
| #
| |
| # BUT: Ajouter les paramètres de boot à une image ISO Live debian
| |
| # de façon à ce qu'elle démarre directement en Français.
| |
| #
| |
| # AUTEUR: MicP (debian-fr)
| |
| # DATE: 10/07/2014
| |
| #-------------------------------------------------------------------------------------------------
| |
| # NOTES:
| |
| # Ce n'est qu'une ébauche de script inspiré par ceux qu'a posté fran.b dans le fil de discussion :
| |
| # http://www.debian-fr.org/franciser-l-iso-debian-7-5-live-nonfree-moins-de-2-minutes-t48948.html
| |
| #
| |
| # Ça fonctionne, mais je reviendrai plus tard pour rajouter les contrôles d'erreur, et plus...
| |
| #=================================================================================================
| |
|
| |
| test "$1" ||
| |
| {
| |
| printf "Donnez un chemin d'image \"ISO Live\" debian en paramètre.\n";
| |
| exit 1;
| |
| }
| |
|
| |
| fichImgEn="$1"
| |
| fichImgFr="${fichImgEn%.*}-FR.${fichImgEn##*.}"
| |
|
| |
| fichRech="live.cfg"
| |
| chOrigin="quiet splash"
| |
| chAjout="lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe\/Paris utc=yes"
| |
| fichTmp="/tmp/tmpAeffacer`date +%s`.dat"
| |
| chRempl="$chOrigin $chAjout"
| |
|
| |
| blockSize=`isoinfo -d -i "${fichImgEn}" | grep "block size" | awk '{print $5}'`
| |
| valOffset=`isoinfo -l -R -i "${fichImgEn}" | grep "${fichRech}" | awk '{print $10}'`
| |
|
| |
| dd bs=$blockSize count=1 skip=$valOffset if="${fichImgEn}" 2>/dev/null | \
| |
| sed "s/$chOrigin/$chRempl/" > "${fichTmp}" && \
| |
| dd bs=$blockSize count=1 seek=$valOffset if="${fichTmp}" of="${fichImgEn}" conv=notrunc,sync 2>/dev/null && \
| |
| mv "${fichImgEn}" "${fichImgFr}" && \
| |
| rm "${fichTmp}"
| |
|
| |
| printf "\nVoilà voilà! \"${fichImgFr}\" est la version francisée.\n\n"
| |
| </code>
| |