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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
|
:B~ Les bases
1~the-basics Les bases
Ce chapitre contient un bref aperçu du processus de construction et des
instructions pour utiliser les trois types d'images les plus couramment
utilisées. Le type d'image le plus polyvalent, #{iso-hybrid}#, peut être
utilisé sur une machine virtuelle, un support optique ou un périphérique USB
de stockage portable. Dans certains cas particuliers, comme expliqué plus
loin, le type #{hdd}# peut être plus approprié. Le chapitre contient des
instructions détaillées pour la construction et l'utilisation d'une image
#{netboot}#, qui est un peu plus compliquée en raison de la configuration
requise sur le serveur. C'est un sujet un peu avancé pour tous ceux qui ne
connaissent pas déjà le démarrage sur le réseau, mais est inclus ici car une
fois la configuration terminée, c'est un moyen très pratique pour tester et
déployer des images pour le démarrage sur le réseau local sans le tracas des
supports d'images.
La section se termine par une brève introduction à webbooting qui est,
peut-être, la meilleure façon d'utiliser des images différentes à des fins
différentes, changeant de l'un à l'autre en fonction des besoins en
utilisant l'Internet comme un moyen.
Tout au long du chapitre, nous ferons souvent référence à la valeur par
défaut des noms des fichiers produits par live-build. Si vous {téléchargez
une image précompilée}#downloading-prebuilt-images, les noms des fichiers
peuvent varier.
2~what-is-live Qu'est-ce qu'un système live?
Un système live signifie généralement un système d'exploitation démarré sur
un ordinateur à partir d'un support amovible, tel qu'un CD-ROM, une clé USB
ou sur un réseau, prêt à l'emploi sans aucune installation sur le disque
habituel, avec auto-configuration fait lors de l'exécution (voir
{Termes}#terms).
Avec les systèmes live, c'est un système d'exploitation, construit pour une
des architectures prises en charge (actuellement amd64 et i386). Il est fait
à partir des éléments suivants:
_* *{Image du noyau Linux}*, d'habitude appelé #{vmlinuz*}#
_* *{Image du RAM-disque initiale (initrd)}*: Un disque virtuel RAM
configuré pour le démarrage de Linux, contenant possiblement des modules
nécessaires pour monter l'image du système et certains scripts pour le
faire.
_* *{Image du système}*: L'image du système de fichiers du système
d'exploitation. Habituellement, un système de fichiers SquashFS comprimé est
utilisé pour réduire au minimum la taille de l'image live. Notez qu'il est
en lecture seulement. Ainsi, lors du démarrage le système live va utiliser
un disque RAM et un mécanisme "union" pour permettre l'écriture de fichiers
dans le système en marche. Cependant, toutes les modifications seront
perdues lors de l'arrêt à moins que l'option «persistance» soit utilisée
(voir {Persistance}#persistence).
_* *{Chargeur d'amorçage}*: Un petit morceau de code conçu pour démarrer à
partir du support choisi, il peut présenter un menu rapide ou permettre la
sélection des options/configurations. Il charge le noyau Linux et son initrd
pour fonctionner avec un système de fichiers associé. Différentes solutions
peuvent être utilisées, selon le support de destination et le format du
système de fichiers contenant les composants mentionnés précédemment:
isolinux pour démarrer à partir d'un CD ou DVD au format ISO9660, syslinux
pour démarrer un disque dur ou une clé USB à partir d'une partition VFAT,
extlinux pour partitions ext2/3/4 et btrfs, pxelinux pour netboot PXE, GRUB
pour partitions ext2/3/4, etc.
Vous pouvez utiliser live-build pour construire l'image du système à partir
de vos spécifications, configurer un noyau Linux, son initrd, et un chargeur
d'amorçage pour les exécuter, tout dans un format en fonction du support
(image ISO9660, image disque, etc.).
2~downloading-prebuilt-images Téléchargement des images précompilées
Bien que l'objectif de ce manuel soit le développement et la création de vos
propres images live, vous pouvez simplement vouloir tester une de nos images
précompilées comme une introduction à leur utilisation ou à la construction
de vos propres images. Ces images sont construites à l'aide de notre {dépôt
git live-images}#clone-configuration-via-git et les versions officielles
stables sont publiées sur https://www.debian.org/CD/live/. En outre, les
versions plus anciennes et les futures, et des images non officielles
contenant micrologiciels et pilotes non libres sont disponibles sur
http://live-systems.org/cdimage/release/.
2~using-web-builder Utiliser le constructeur web d'images live
En tant que service à la communauté, nous gérons un service de construction
d'images web sur http://live-systems.org/build/. Ce site est maintenu sur la
base du meilleur effort. Autrement dit, même si nous nous efforçons de le
maintenir à jour et opérationnel à tout moment, et de publier des avis
d'importantes interruptions du service, nous ne pouvons pas garantir une
disponibilité de 100% ou des constructions d'images rapides, et le service
peut parfois avoir des problèmes dont la résolution prend un certain
temps. Si vous avez des problèmes ou des questions au sujet du service,
veuillez {nous contacter}#contact en donnant le lien vers votre
construction.
3~ Utilisation du constructeur web et avertissements
L'interface web ne permet actuellement pas d'empêcher l'utilisation de
combinaisons d'options invalides, en particulier quand le changement d'une
option (c'est-à-dire en utilisant live-build directement) modifie les
valeurs des autres options énumérées dans le formulaire web, le constructeur
web ne modifie pas ces valeurs par défaut. Plus particulièrement, si vous
changez la valeur #{--architectures}# qui est par défaut #{i386}# pour
#{amd64}#, vous devez modifier l'option correspondante #{--linux-flavours}#
de la valeur par défaut #{586}# pour #{amd64}#. Voir la page de manuel
#{lb_config}# pour la version de live-build installée sur le constructeur
web pour plus de détails. Le numéro de version de live-build est indiqué au
bas de la page web.
L'estimation du temps donné par le constructeur web est une estimation brute
et peut ne pas refléter la durée effective de votre construction. Cette
estimation n'est pas actualisée une fois qu'elle est affichée. Soyez
patient. Ne rechargez pas la page de la construction, car cela peut
soumettre une nouvelle construction avec les mêmes paramètres. Vous devez
{nous contacter}#contact si vous ne recevez pas la notification de votre
construction mais seulement une fois que vous êtes sûr que vous avez attendu
assez longtemps et vérifié que la notification par e-mail n'a pas été
détectée par votre filtre anti-spam.
Le constructeur web est limité dans les types d'images qu'il peut
construire. Cela permet de garder les choses simples et efficaces à utiliser
et à maintenir. Si vous souhaitez effectuer des personnalisations qui ne
sont pas prévues par l'interface web, le reste de ce manuel explique comment
construire vos propres images en utilisant live-build.
2~building-iso-hybrid Premières étapes: la construction d'une image ISO
hybride
Quel que soit le type d'image, vous devrez effectuer les mêmes étapes de
base pour créer une image à chaque fois. Comme premier exemple, créez un
répertoire de travail, passez dans ce répertoire et exécutez la séquence
suivante de commandes live-build pour créer une image ISO hybride de base
contenant tout le système Debian par défaut sans X.org. Elle est appropriée
pour être gravée sur CD ou DVD, et peut également être copiée sur une clé
USB.
Le nom du répertoire de travail dépend totalement de vous, mais si vous
jetez un œil aux exemples utilisés dans live-manual, c'est une bonne idée
d'utiliser un nom qui vous aide à identifier l'image avec laquelle vous
travaillez dans chaque répertoire, surtout si vous travaillez ou
expérimentez avec différents types d'images. Dans ce cas, vous allez
construire un système par défaut, nous allons donc l'appeler, par exemple,
live-default.
code{
$ mkdir live-default && cd live-default
}code
Ensuite, exécutez la commande #{lb config}#. Cela va créer une hiérarchie
"config/" dans le répertoire courant pour être utilisée par d'autres
commandes:
code{
$ lb config
}code
Aucun paramètre n'est passé à ces commandes, donc les défauts seront
utilisés pour l'ensemble de ses diverses options. Consultez {La commande lb
config}#lb-config pour plus de détails.
Maintenant que la hiérarchie "config/" existe, créez l'image avec la
commande #{lb build}# :
code{
# lb build
}code
Ce processus peut prendre un certain temps, en fonction de la vitesse de
votre ordinateur et de votre connexion réseau. Une fois le processus
terminé, il devrait y avoir un fichier image #{live-image-i386.hybrid.iso}#
prêt à l'emploi, dans le répertoire courant.
*{Remarque:}* Si vous construisez sur un système amd64 le nom de l'image résultante sera #{live-image-amd64.hybrid.iso}#. Gardez à l'esprit cette convention de nommage tout au long du manuel.
2~using-iso-hybrid Utilisation d'une image ISO hybride live
Après la construction ou le téléchargement d'une image ISO hybride, qui peut
être obtenue sur https://www.debian.org/CD/live/, l'étape suivante est
d'habitude de préparer votre support pour le démarrage, soit sur CD-R(W) ou
DVD-R(W), des supports optiques ou une clé USB.
3~burning-iso-image Graver une image ISO sur un support physique
Graver une image ISO est facile. Il suffit d'installer /{xorriso} et de
l'utiliser à partir de la ligne de commande pour graver l'image. Par
exemple:
code{
# apt-get install xorriso
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed live-image-i386.hybrid.iso
}code
3~copying-iso-hybrid-to-usb Copie d'une image ISO hybride sur une clé USB
Les images ISO préparées avec #{xorriso}# peuvent être simplement copiées
sur une clé USB avec #{cp}# ou un logiciel équivalent. Branchez une clé USB
avec une capacité suffisamment grande pour votre fichier image et déterminez
quel périphérique elle est, que nous appelons ci-dessous
#{${USBSTICK}}#. C'est le fichier de périphérique de votre clé, tel que
#{/dev/sdb}#, pas une partition, telle que #{/dev/sdb1}#! Vous pouvez
trouver le nom du périphérique en regardant la sortie de #{dmesg}# après
avoir branché le périphérique, ou mieux encore, #{ls -l /dev/disk/by-id}#.
Une fois que vous êtes sûr d'avoir le nom correct de l'appareil, utilisez la
commande #{cp}# pour copier l'image sur la clé. *{Ceci écrasera tout fichier
déjà existant sur votre clé!}*
code{
$ cp live-image-i386.hybrid.iso ${USBSTICK}
$ sync
}code
*{Remarque:}* La commande /{sync}/ est utilisée pour s'assurer que toutes les données qui sont stockées dans la mémoire par le noyau lors de la copie de l'image, sont écrites sur la clé USB.
3~using-usb-extra-space Utilisation de l'espace disponible sur une clé USB
Après avoir copié #{live-image-i386.hybrid.iso}# sur une clé USB, la
première partition sera utilisée par le système live. Pour utiliser l'espace
libre restant, utilisez un outil de partitionnement tel que /{gparted}/ ou
/{parted}/ afin de créer une nouvelle partition sur la clé.
code{
# gparted ${USBSTICK}
}code
Quand la partition est créée, vous devez y créer un système de fichiers où
#{${PARTITION}}# est le nom de la partition, comme #{/dev/sdb2}#. Un choix
possible serait ext4.
code{
# mkfs.ext4 ${PARTITION}
}code
*{Remarque:}* Si vous voulez utiliser l'espace supplémentaire avec Windows, ce système d’exploitation ne peut accéder normalement à aucune partition à part la première. Certaines solutions à ce problème ont été discutées sur notre {liste de diffusion}#contact, mais il semble qu'il n'y a pas de réponse facile.
*{Rappelez-vous: Chaque fois que vous installez une nouvelle live-image-i386.hybrid.iso sur la clé, toutes les données sur la clé seront perdues parce que la table de partition est écrasée par le contenu de l'image, vous devez sauvegarder votre partition supplémentaire d'abord pour la restaurer à nouveau après la mise à jour de l'image live.}*
3~booting-live-medium Démarrer le support live
La première fois que vous démarrez votre support live, qu'il s'agisse de CD,
DVD, clé USB, ou du démarrage par PXE, une certaine configuration dans le
BIOS de votre ordinateur peut être d'abord nécessaire. Puisque les BIOS
varient grandement en fonctionnalités et raccourcis clavier, on ne peut pas
aborder le sujet en profondeur ici. Certains BIOS fournissent une touche
pour ouvrir un menu d'amorçage au démarrage, qui est le moyen le plus facile
si elle est disponible sur votre système. Sinon, vous avez besoin d'entrer
dans le menu de configuration du BIOS et modifier l'ordre de démarrage pour
placer le dispositif de démarrage pour le système live devant votre
périphérique de démarrage normal.
Une fois que vous avez démarré le support, un menu de démarrage vous est
présenté. Si vous appuyez simplement sur entrée ici, le système va démarrer
en utilisant l'entrée par défaut, #{Live}#. Pour plus d'informations sur les
options de démarrage, consultez l'entrée «Help» dans le menu et aussi les
pages de manuel de live-boot et live-config dans le système live.
En supposant que vous ayez sélectionné #{Live}# et démarré une image de
bureau live par défaut, après que les messages de démarrage aient défilé,
vous devriez être automatiquement connecté au compte #{user}# et voir un
bureau, prêt à l'emploi. Si vous avez démarré une image de la console
uniquement, tel que le type #{standard}# des {images
précompilées}#downloading-prebuilt-images, vous devriez être automatiquement
connecté à la console pour le compte #{user}# et voir une invite du shell,
prête à l'emploi.
2~using-virtual-machine Utiliser une machine virtuelle pour les tests
Exécuter les images live dans une machine virtuelle (VM) peut faire gagner
beaucoup de temps. Cela ne vient pas sans avertissements:
_* L'exécution d'une VM demande assez de RAM pour le système d’exploitation
client et l'hôte et un CPU avec support matériel pour la virtualisation est
recommandé.
_* Il y a quelques limitations inhérentes à l'exécution sur une VM, par
exemple des performances vidéo médiocres, ou un choix limité de matériel
émulé.
_* Lors du développement d'un matériel spécifique, il n'existe aucun
substitut pour l'exécution que le matériel lui-même.
_* Certains ne deviennent visibles que pendant l'exécution dans une VM. En
cas de doute, testez votre image directement sur le matériel.
À condition de pouvoir travailler avec ces contraintes, examinez les
logiciels VM disponibles et choisissez celui qui convient à vos besoins.
3~testing-iso-with-qemu Test d'une image ISO avec QEMU
La VM la plus polyvalente de Debian est QEMU. Si votre processeur dispose
d'une gestion matérielle de la virtualisation, vous pouvez utiliser le
paquet /{qemu-kvm}/; La description du paquet /{qemu-kvm}/ énumère
brièvement les exigences.
Tout d'abord, installez /{qemu-kvm}/ si votre processeur le gère. Sinon,
installez /{qemu}/. Dans ce cas, le nom du programme est #{qemu}# au lieu de
#{kvm}# dans les exemples suivants. Le paquet /{qemu-utils}/ est également
valable pour créer des images de disques virtuels avec #{qemu-img}#.
code{
# apt-get install qemu-kvm qemu-utils
}code
Démarrer une image ISO est simple:
code{
$ kvm -cdrom live-image-i386.hybrid.iso
}code
Voir les pages de manuel pour plus de détails.
3~testing-iso-with-virtualbox Test d'une image ISO avec VirtualBox
Afin de tester l'ISO avec /{virtualbox}/:
code{
# apt-get install virtualbox virtualbox-qt virtualbox-dkms
$ virtualbox
}code
Créez une nouvelle machine virtuelle, modifiez les paramètres de stockage
pour utiliser #{live-image-i386.hybrid.iso}# comme le périphérique CD/DVD et
démarrez la machine.
*{Remarque:}* Pour les systèmes live contenant X.org que vous voulez essayer avec /{virtualbox}/, vous pouvez inclure le paquet des pilotes VirtualBox X.org, /{virtualbox-guest-dkms}/ et /{virtualbox-guest-x11}/, dans votre configuration de live-build. Sinon, la résolution est limitée à 800x600.
code{
$ echo "virtualbox-guest-dkms virtualbox-guest-x11" >> config/package-lists/my.list.chroot
}code
Pour faire fonctionner le paquet dmks, il faut également installer le paquet
linux-headers pour le noyau utilisé dans l'image. Au lieu de lister
manuellement le paquet /{linux-headers}/ correct dans la liste de paquets
crée ci-dessus, live-build peut faire cela automatiquement.
code{
$ lb config --linux-packages "linux-image linux-headers"
}code
2~using-hdd-image Construire et utiliser une image HDD
La construction d'une image HDD est similaire à une ISO hybride à tous les
regards, sauf que vous spécifiez #{-b hdd}# et le nom du fichier résultant
est #{live-image-i386.img}# qui ne peut être gravé sur des supports
optiques. Il convient pour le démarrage à partir de clés USB, disques durs
USB, et divers autres dispositifs de stockage portables. Normalement, une
image ISO hybride peut être utilisée à cette fin, mais si vous avez un BIOS
qui ne gère pas correctement les images hybrides, vous devez utiliser une
image HDD.
*{Remarque:}* si vous avez créé une image ISO hybride avec l'exemple précédent, vous devrez nettoyer votre répertoire de travail avec la commande #{lb clean}# (voir {La commande lb clean}#lb-clean):
code{
# lb clean --binary
}code
Exécutez la commande #{lb config}# comme avant, sauf que cette fois en
spécifiant le type d'image HDD:
code{
$ lb config -b hdd
}code
Construisez maintenant l'image avec la commande #{lb build}#
code{
# lb build
}code
Quand la création de l'image est finie, un fichier #{live-image-i386.img}#
doit être présent dans le répertoire courant.
L'image binaire générée contient une partition VFAT et le chargeur
d'amorçage syslinux, prêts à être écrits directement sur une clé USB. Encore
une fois, comme l'utilisation d'une image HDD est juste comme l'utilisation
d'une image ISO hybride sur USB, suivez les instructions {Utiliser une image
live ISO hybride}#using-iso-hybrid, en utilisant le nom de fichier
#{live-image-i386.img}# au lieu de #{live-image-i386.hybrid.iso}#.
De même, pour tester une image HDD avec Qemu, installez /{qemu}/ comme
décrit ci-dessus dans {Test d'une image ISO avec
QEMU}#testing-iso-with-qemu. Ensuite, exécutez #{kvm}# ou #{qemu}#, selon la
version dont votre système hôte a besoin en précisant
#{live-image-i386.img}# comme le premier disque dur.
code{
$ kvm -hda live-image-i386.img
}code
2~building-netboot-image Construction d'une image netboot
La séquence de commandes suivante va créer une image NetBoot de base
contenant le système Debian par défaut sans X.org. Elle peut être démarrée
sur le réseau.
*{Remarque:}* Si vous avez réalisé quelques-uns des exemples précédents, vous aurez besoin de nettoyer votre répertoire de travail avec la commande #{lb clean}#:
code{
# lb clean
}code
Dans ce cas spécifique, un #{lb clean --binary}# ne serait pas suffisant
pour nettoyer les étapes nécessaires. La raison est que dans les
configurations de netboot, une configuration initramfs différente doit être
utilisée, laquelle live-build exécute automatiquement lors de la
construction des images netboot. Puisque la création d'initramfs appartient
à l'étape chroot, si on change à netboot dans un répertoire existant, il
faut reconstruire le chroot. Par conséquent, il faut faire un #{lb clean}#,
(qui permettra d'éliminer l'étape chroot, aussi).
Exécutez la commande suivante pour configurer votre image pour démarrer sur
le réseau:
code{
$ lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.0.2"
}code
Contrairement aux images ISO et HDD, le démarrage sur le réseau ne sert pas
l'image du système de fichiers pour le client. Pour cette raison, les
fichiers doivent être servis via NFS. Différents systèmes de fichiers réseau
peuvent être choisis avec lb config. Les options #{--net-root-path}# et
#{--net-root-server}# indiquent l'emplacement et le serveur, respectivement,
du serveur NFS sur lequel l'image du système de fichiers sera située au
moment du démarrage. Assurez-vous que ceux-ci sont fixées à des valeurs
appropriées pour votre réseau et serveur.
Construisez maintenant l'image avec la commande #{lb build}#
code{
# lb build
}code
Dans un démarrage réseau, le client exécute un petit morceau de logiciel qui
réside habituellement sur l'EPROM de la carte Ethernet. Ce programme envoie
une requête DHCP pour obtenir une adresse IP et les informations sur ce
qu'il faut faire ensuite. Typiquement, la prochaine étape est d'obtenir un
chargeur d'amorçage de niveau supérieur via le protocole TFTP. Cela pourrait
être pxelinux, GRUB, ou démarrer directement à un système d'exploitation
comme Linux.
Par exemple, si vous décompressez l'archive généré
#{live-image-i386.netboot.tar}# dans le répertoire #{/srv/debian-live}#,
vous trouverez l'image du système de fichiers dans
#{live/filesystem.squashfs}# et le noyau, initrd et le chargeur d'amorçage
pxelinux dans #{tftpboot/}#.
Nous devons maintenant configurer trois services sur le serveur pour activer
le démarrage sur le réseau: le serveur DHCP, le serveur TFTP et le serveur
NFS.
3~ Serveur DHCP
Nous devons configurer le serveur DHCP de notre réseau pour être sûr de
donner une adresse IP au client du système du démarrage sur le réseau, et
pour annoncer l'emplacement du chargeur d'amorçage PXE.
Voici un exemple source d'inspiration, écrit pour le serveur ISC DHCP
#{isc-dhcp-server}# dans le fichier de configuration
#{/etc/dhcp/dhcpd.conf}#:
code{
# /etc/dhcp/dhcpd.conf - configuration file for isc-dhcp-server
ddns-update-style none;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.254;
filename "pxelinux.0";
next-server 192.168.0.2;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
}code
3~ Serveur TFTP
Cela sert le noyau et le ramdisk initial pour le système pendant
l'exécution.
Vous devriez installer le paquet /{tftpd-hpa}/. Il peut servir tous les
fichiers contenus dans un répertoire racine, d'habitude #{/srv/tftp}#. Pour
le laisser servir des fichiers dans #{/srv/debian-live/tftpboot}#, exécutez
comme utilisateur root la commande suivante:
code{
# dpkg-reconfigure -plow tftpd-hpa
}code
et remplissez le nouveau répertoire du serveur tftp
3~ Serveur NFS
Quand l'ordinateur hôte a téléchargé et démarré un noyau Linux et chargé son
initrd, il va essayer de monter l'image du système de fichiers live via un
serveur NFS.
Vous devez installer le paquet /{nfs-kernel-server}/.
Ensuite, rendez l'image du système de fichiers disponible via NFS en
ajoutant une ligne comme la suivante #{/etc/exports}#:
code{
/srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
}code
et indiquez cette exportation au serveur NFS avec la commande suivante:
code{
# exportfs -rv
}code
La configuation de ces trois services peut être un peu dificile. Vous
pourriez avoir besoin de patience pour obtenir que tous fonctionnent
ensemble. Pour plus d'informations, consultez le wiki syslinux sur
http://www.syslinux.org/wiki/index.php/PXELINUX ou la section Debian
Installer Manual's TFTP Net Booting sur
http://d-i.alioth.debian.org/manual/fr.i386/ch04s05.html. Ils pourraient
aider parce que leurs processus sont très semblables.
3~ Guide pratique pour expérimenter avec une image Netboot
La création d'images netboot est facile avec live-build, mais les tests des
images sur des machines physiques peuvent prendre vraiment beaucoup de
temps.
Afin de rendre notre vie plus facile, nous pouvons utiliser la
virtualisation.
3~ Qemu
_* Installer /{qemu}/, /{bridge-utils}/, /{sudo}/.
Éditer #{/etc/qemu-ifup}#:
code{
#!/bin/sh
sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
echo "Executing /etc/qemu-ifup"
echo "Bringing up $1 for bridged mode..."
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0..."
sudo /usr/sbin/brctl addif br0 $1
sleep 2
}code
Obtenir, ou construire un #{grub-floppy-netboot}#.
Lancer #{qemu}# avec "#{-net nic,vlan=0 -net tap,vlan=0,ifname=tun0}#"
2~webbooting Webbooting
Webbooting est une manière très pratique de télécharger et d'amorcer les
systèmes live en utilisant l'Internet comme un moyen. Il ya très peu
d'exigences pour webbooting. D'une part, vous avez besoin d'un support avec
un chargeur d'amorçage, un disque ram initial et un noyau. D'autre part, un
serveur web pour stocker les fichiers squashfs qui contiennent le système de
fichiers.
3~ Obtenir les fichiers webboot
Comme d'habitude, vous pouvez construire les images vous-même ou utiliser
les fichiers précompilés, qui sont disponibles sur le site du projet sur
http://live-systems.org/. L'utilisation des images précompilées serait
pratique pour faire l'essai initial jusqu'à ce que l'on peut affiner leurs
propres besoins. Si vous avez construit une image live, vous trouverez les
fichiers nécessaires pour webbooting dans le répertoire de construction sous
#{binary/live/}#. Les fichiers sont appelés #{vmlinuz}#, #{initrd.img}# et
#{filesystem.squashfs}#.
Il est également possible d'extraire les fichiers d'une image iso déjà
existant. Pour ce faire, on doit monter l'image comme suit:
code{
# mount -o loop image.iso /mnt
}code
Les fichiers se trouvent sous le répertoire #{live/}#. Dans ce cas précis,
il serait #{/mnt/live/}#. Cette méthode présente l'inconvénient que vous
avez besoin d'être root pour pouvoir monter l'image. Cependant, il présente
l'avantage qu'elle est facilement scriptable et ainsi, facilement
automatisée.
Mais sans aucun doute, la meilleure façon d'extraire les fichiers d'une
image iso et les télécharger sur le serveur web au même temps, est
d'utiliser le midnight commander ou /{mc}/. Si vous avez le paquet
/{genisoimage}/ installé, le gestionnaire de fichiers à deux panneaux vous
permet de voir le contenu d'un fichier iso dans un panneau et de télécharger
les fichiers via FTP dans l'autre panneau. Même si cette méthode nécessite
un travail manuel, elle ne nécessite pas les privilèges root.
3~ Démarrer images webboot
Tandis que certains utilisateurs vont utiliser la virtualisation pour tester
le webbooting, nous utilisons du matériel réel ici pour correspondre au
possible cas d'utilisation suivant qui seulement devrait être considéré
comme un exemple.
Afin de démarrer une image webboot il suffit d'avoir les éléments mentionnés
ci-dessus, c'est-à-dire, #{vmlinuz}# et #{initrd.img}# sur une clé usb dans
un répertoire nommé #{live/}# et installer syslinux comme chargeur de
démarrage. Ensuite, démarrer à partir de la clé usb et taper
#{fetch=URL/CHEMIN/DU/FICHIER}# aux options de démarrage. live-boot va
télécharger le fichier squashfs et le stocker dans la ram. De cette façon,
il est possible d'utiliser le système de fichiers compressé téléchargé comme
un système live normal. Par exemple:
code{
append boot=live components fetch=http://192.168.2.50/images/webboot/filesystem.squashfs
}code
*{Cas d'utilisation:}* Vous avez un serveur web dans lequel vous avez stocké deux fichiers squashfs, un qui contient un bureau complet, comme par exemple gnome, et un d'un système standard. Si vous avez besoin d'un environnement graphique pour une machine, vous pouvez brancher votre clé usb et télécharger l'image qui contient gnome. Si vous avez besoin des outils inclus dans le deuxième type d'image, peut-être pour une autre machine, vous pouvez télécharger celle du système standard.
|