rev |
line source |
slaxemulator@4
|
1 ====== PXE =======
|
slaxemulator@4
|
2 =====PXE boot =====
|
slaxemulator@4
|
3
|
slaxemulator@4
|
4 Cette méthode de boot par le réseau a besoin de :
|
slaxemulator@4
|
5
|
slaxemulator@4
|
6 * un serveur pour stocker les fichiers avec DHCP et TFTP (ils peuvent être sur un serveur différent)
|
slaxemulator@4
|
7 * un client avec un PXE bootloader.
|
slaxemulator@4
|
8
|
slaxemulator@4
|
9 ===== Configuration du serveur PXE =====
|
slaxemulator@4
|
10
|
slaxemulator@4
|
11 Un serveur PXE = un serveur DHCP + les fichiers de boot DHCP + un serveur TFTP
|
slaxemulator@4
|
12
|
slaxemulator@4
|
13 Démonstration avec un LiveCD de SliTaz : Lancez netbox (menu System/netbox)
|
slaxemulator@4
|
14
|
slaxemulator@4
|
15 * dans l'onglet Static IP cliquez sur start. Cette boîte sera le serveur DHCP. Il ne peut pas utiliser DHCP pour obtenir la configuration IP.
|
slaxemulator@4
|
16 * dans l'onglet Server/INETD vérifiez que la ligne tftpd n'est pas commentée dans /etc/initd.conf et cliquez sur start (ce qui lancera le serveur TFTP).
|
slaxemulator@4
|
17 * dans l'onglet Server/PXE éditez la configuration et ajoutez vos options de boot. Cette action mettra à jour automatiquement la configuration du serveur DHCP.
|
slaxemulator@4
|
18 * dans l'onglet Server/DHCP vérifiez la configuration. Les actions antérieures ont ajoutés les lignes boot_file et siaddr. Cliquez alors sur start (ce qui lancera le serveur DHCP)
|
slaxemulator@4
|
19 * vérifiez que les fichiers bzImage et rootfs.gz sont présents dans /boot
|
slaxemulator@4
|
20
|
slaxemulator@4
|
21 ===== PXE client bootloader =====
|
slaxemulator@4
|
22
|
slaxemulator@4
|
23 La plupart des machines récentes avec Ethernet embarqués ont BIOS compatible avec PXE. Recherchez cette fonctionnalité dans les menus du BIOS et le menu de démarrage du BIOS.
|
slaxemulator@4
|
24 Sinon vous pouvez créer un cdrom ou une disquette de démarrage avec un outil de création de boot sur disquette/cdrom. Dans l'onglet PXE Network cliquez sur Write Floppy. Ensuite, bootez sur elle.
|
slaxemulator@4
|
25 Votre carte Ethernet n'est pas reconnue ? Voir http://rom-o-matic.net/
|
slaxemulator@4
|
26
|
slaxemulator@4
|
27
|
slaxemulator@4
|
28 ===== PXE boot sans serveur PXE : WEB boot =====
|
slaxemulator@4
|
29
|
slaxemulator@4
|
30 Vous avez besoin d'un serveur DHCP pour récupérez l'adresse IP, le masque de réseau, et l'adresse de la passerelle (plus d'informations sur [[http://boot.slitaz.org|la doc]]).
|
slaxemulator@4
|
31
|
slaxemulator@4
|
32
|
slaxemulator@4
|
33 ===== PXE boot sans serveur DHCP : WEB boot et ligne de commande =====
|
slaxemulator@4
|
34
|
slaxemulator@4
|
35 Vous avez besoin d'une adresse IP avec un masque de réseau, une adresse de passerelle et éventuellement une adresse DNS (plus d'informations sur [[http://boot.slitaz.org|la doc]]).
|
slaxemulator@4
|
36 Exemple d'utilisation avec GRUB :
|
slaxemulator@4
|
37
|
slaxemulator@4
|
38
|
slaxemulator@4
|
39 <code>
|
slaxemulator@4
|
40 title Slitaz Web
|
slaxemulator@4
|
41 kernel /boot/gpxe ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=http://mirror.slitaz.org/pxe/pxelinux.0
|
slaxemulator@4
|
42 </code>
|
slaxemulator@4
|
43 Vous pouvez personnaliser l'url du boot :
|
slaxemulator@4
|
44 Replacez :
|
slaxemulator@4
|
45
|
slaxemulator@4
|
46 <code> http://mirror.slitaz.org/pxe/pxelinux.0 </code>
|
slaxemulator@4
|
47
|
slaxemulator@4
|
48 Par :
|
slaxemulator@4
|
49 <code>
|
slaxemulator@4
|
50 ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=http://mirror.slitaz.org/pxe/pxelinux.0
|
slaxemulator@4
|
51 </code>
|
slaxemulator@4
|
52 Seul "ip=", "gw=", "dns=", "url=" et nodhcp sont les mots-clés reconnus. nodhcp est utile pour éviter timeout dhcp.
|
slaxemulator@4
|
53 ===== Démarrage WEB avec un boot PROM intégré (transitaire PXE) =====
|
slaxemulator@4
|
54
|
slaxemulator@4
|
55 Configuration d'un serveur PXE avec http://download.tuxfamily.org/slitaz/boot/gpxe.pxe comme fichier de boot.
|
slaxemulator@4
|
56 Testé avec succès avec un routeur http://openwrt.org/ :
|
slaxemulator@4
|
57
|
slaxemulator@4
|
58 * Installez http://mirror.slitaz.org/boot/mips/tftpd (version MIPS) dans /jffs/usr/sbin
|
slaxemulator@4
|
59 * Installez gpxe.exe dans /jffs/boot
|
slaxemulator@4
|
60 * Ajoutez l'option de fichier de boot DHCP dans le fichier de configuration dnsmasq
|
slaxemulator@4
|
61
|
slaxemulator@4
|
62 <code> # echo "dhcp-boot=gpxe.pxe" >> /tmp/dnsmasq.conf </code>
|
slaxemulator@4
|
63
|
slaxemulator@4
|
64 lancer le serveur TFTP pour votre réseau local (par exemple 192.168.0.1/24)
|
slaxemulator@4
|
65
|
slaxemulator@4
|
66 <code> # /jffs/usr/sbin/tftpd 192.168.0.1 /jffs/boot </code>
|
slaxemulator@4
|
67
|
slaxemulator@4
|
68 ===== Modifier l'URL de démarrage de gPXE WEB boot =====
|
slaxemulator@4
|
69
|
slaxemulator@4
|
70 L'URL est stocké à l'offset 519 en 255 octets maximum.
|
slaxemulator@4
|
71
|
slaxemulator@4
|
72 Voir l'URL courante :
|
slaxemulator@4
|
73
|
slaxemulator@4
|
74 <code> $ dd bs=1 skip=519 count=255 if=gpxe 2> /dev/null | strings </code>
|
slaxemulator@4
|
75
|
slaxemulator@4
|
76 Modifier l'URL :
|
slaxemulator@4
|
77
|
slaxemulator@4
|
78 <code>$ echo -n "http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe
|
slaxemulator@4
|
79 </code>
|
slaxemulator@4
|
80 Modifier l'URL et l'IP stuff :
|
slaxemulator@4
|
81
|
slaxemulator@4
|
82 <code>$ echo -n "ip=192.168.0.10/24 gw=192.168.0.1 dns=192.168.0.1 url=http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe
|
slaxemulator@4
|
83 </code>
|
slaxemulator@4
|
84
|
slaxemulator@4
|
85 Supprimer l'URL (il se comportera alors comme un gPXE classique).
|
slaxemulator@4
|
86
|
slaxemulator@4
|
87 <code>$ dd if=/dev/zero conv=notrunc bs=1 seek=519 count=255 of=gpxe
|
slaxemulator@4
|
88 </code>
|
slaxemulator@4
|
89
|
slaxemulator@4
|
90 ===== Modifier l'URL par défaut du WEB boot gpxe.pxe =====
|
slaxemulator@4
|
91
|
slaxemulator@4
|
92 L'URL est stocké à l'offset 519 en 255 octets maximum.
|
slaxemulator@4
|
93
|
slaxemulator@4
|
94 Voir l'URL courante :
|
slaxemulator@4
|
95
|
slaxemulator@4
|
96
|
slaxemulator@4
|
97 <code>$ dd bs=1 skip=5 count=255 if=gpxe.pxe 2> /dev/null | strings
|
slaxemulator@4
|
98 </code>
|
slaxemulator@4
|
99
|
slaxemulator@4
|
100 Modifier l'URL :
|
slaxemulator@4
|
101
|
slaxemulator@4
|
102 <code>
|
slaxemulator@4
|
103 $ echo -n "http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe
|
slaxemulator@4
|
104 </code>
|
slaxemulator@4
|
105
|
slaxemulator@4
|
106 Supprimer l'URL (il se comportera alors comme un gpxe.pxe classique).
|
slaxemulator@4
|
107
|
slaxemulator@4
|
108 <code>$ dd if=/dev/zero conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe
|
slaxemulator@4
|
109 </code>
|
slaxemulator@4
|
110
|
slaxemulator@4
|
111 ===== Démarrage sur des serveurs web en redondance =====
|
slaxemulator@4
|
112
|
slaxemulator@4
|
113 Séparées par des virgules, les listes d'URL sont supportées.
|
slaxemulator@4
|
114
|
slaxemulator@4
|
115 Le client PXE essaiera de charger la première URL. Si le chargement échoue, il va essayer l'URL suivante, et ainsi de suite.
|
slaxemulator@4
|
116
|
slaxemulator@4
|
117 Exemple avec les serveurs actuels de SliTaz boot Web:
|
slaxemulator@4
|
118
|
slaxemulator@4
|
119 <code>$ echo -n "http://mirror.slitaz.org/pxe/pxelinux.0,http://mirror.switch.ch/ftp/mirror/pxe/pxelinux.0,http://download.tuxfamily.org/slitaz/pxe/pxelinux.0" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe
|
slaxemulator@4
|
120 </code> |