aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO8859-1/articles/diskless-x/article.sgml
blob: fef0681d310cf5e1c1956dd0136dd82893afc576 (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
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
<?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
	"../../../share/sgml/freebsd42.dtd" [
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//FR" "../../share/sgml/entities.ent">
%entities;
<!ENTITY % not.published "IGNORE">
]>

<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: n.nn
-->   

<article lang="fr">
  <articleinfo>
    <title>Mise en oeuvre d'un terminal X sans disque dur</title>
    
    <authorgroup>
      <author>
	<firstname> Jerry</firstname>
	<surname>Kendall</surname>
	<affiliation>
	  <address>
	    <email>jerry@kcis.com</email>
	  </address>
	</affiliation>
      </author></authorgroup>
    
    <pubdate>28 D&eacute;cembre 1996</pubdate>
    
    <copyright>
      <year>1996</year>
      <holder>Jerry Kendall</holder>
    </copyright>

    <releaseinfo>$FreeBSD$</releaseinfo>
    
    <abstract>
      <para>Avec l'aide de quelques amis de la &a.hackers;, j'ai pu mettre en service un terminal X sans disque dur. Pour cela, j'ai d'abord d&ucirc; installer une station sans disque qui dispose d'un minimum d'utilitaires mont&eacute;s par NFS. J'ai r&eacute;p&eacute;t&eacute; l'op&eacute;ration pour disposer de deux syst&egrave;mes sans disque. Pour les deux, j'ai proc&eacute;d&eacute; de la m&ecirc;me fa&ccedil;on. Le premier est <hostid role="fqdn">altair.kcis.com</hostid>. C'est un terminal X sur mon vieux 386DX-40. Il a bien un disque dur de 340 Mo, mais je ne voulais pas y toucher. Il d&eacute;marre donc &agrave; partir de <hostid role="fqdn">antares.kcis.com</hostid> sur le r&eacute;seau Ethernet. Le second est un 486DX2-66. J'ai install&eacute; un syst&egrave;me FreeBSD (complet) qui n'utilise pas de disque local. Le serveur de d&eacute;marrage est un Sun 670MP sous SunOs 4.1.3. Les deux syst&egrave;mes FreeBSD sont configur&eacute;s de la m&ecirc;me fa&ccedil;on.</para>

      <para>Je suis s&ucirc;r qu'il y a des choses &agrave; ajouter &agrave; ce document. Faites-moi s'il vous pla&icirc;t part de vos commentaires.</para>

      &trans.a.haby;
    </abstract>
  </articleinfo>
  
  <sect1>
    <title>Pr&eacute;paration de la disquette de d&eacute;marrage (sur le syst&egrave;me sans disque)</title>
    
    <para>Les gestionnaires de d&eacute;marrage via le r&eacute;seau ne sont pas compatibles avec les TSRs et autres qu'utilise MS-DOS, il est pr&eacute;f&eacute;rable de pr&eacute;parer une disquette de d&eacute;marrage, ou, si vous le pouvez, de mettre en place un menu MS-DOS qui (par l'interm&eacute;diaire des fichiers <filename>config.sys</filename>/<filename>autoexec.bat</filename>) vous demande au d&eacute;marrage quelle configuration charger. C'est cette derni&egrave;re m&eacute;thode que j'ai utilis&eacute;e et elle fonctionne &agrave; merveille. Voici mon menu MS-DOS&nbsp;:</para>
    
    <example>
      <title><filename>config.sys</filename></title>

      <programlisting>[menu]
menuitem=normal, normal
menuitem=unix, unix
[normal]
....
config.sys habituel
...
[unix]</programlisting>
    </example>

    <example>
      <title><filename>autoexec.bat</filename></title>

      <programlisting>@ECHO OFF
goto %config%

:normal
...
autoexec.bat habituel
...
goto end

:unix
cd \netboot
nb8390.com

:end</programlisting>
    </example>
  </sect1>
  
  <sect1>
    <title>G&eacute;n&eacute;rer les programmes de d&eacute;marrage en r&eacute;seau (sur le serveur)</title>
    
    <para>Compilez les programmes de &ldquo;d&eacute;marrage en r&eacute;seau&rdquo; que vous trouverez dans <filename>/usr/src/sys/i386/boot/netboot</filename>. Lisez les commentaires au d&eacute;but du <filename>Makefile</filename>. Faites les modifications n&eacute;cessaires. Faites une sauvegarde de l'original, pour vous pr&eacute;munir en cas de probl&egrave;mes. Apr&egrave;s compilation, vous devriez obtenir deux ex&eacute;cutables, <filename>nb8390.com</filename> et <filename>nb3c509.com</filename>. C'est l'un de ces programmes que vous devrez ex&eacute;cuter sur la machine sans disque. Il chargera le noyau depuis le serveur de d&eacute;marrage. Recopiez alors ces deux programmes sur la disquette de d&eacute;marrage que vous avez cr&eacute;&eacute;e auparavant.</para>
  </sect1>
  
  <sect1>
    <title>D&eacute;terminer le programme &agrave; utiliser (sur la machine sans disque)</title>
    
    <para>Si vous savez quel composant utilise votre carte Ethernet, c'est facile. Si vous avez un circuit NS8390 ou &eacute;quivalent, servez vous de <filename>nb8390.com</filename>. Si vous avez un circuit de type 3Com 509, utilisez le programme de d&eacute;marrage <filename>nb3C509.com</filename>. Si vous ne savez pas, essayez l'un et si vous avez le message &ldquo;<errorname>No adapter found</errorname>&rdquo;, essayez avec l'autre. Si rien ne marche, vous &ecirc;tes livr&eacute; &agrave; vous-m&ecirc;me.</para>
  </sect1>

  <sect1>
    <title>D&eacute;marrer en r&eacute;seau</title>
    
    <para>D&eacute;marrez la station sans disque sans fichiers <filename>config.sys/autoexec.bat</filename>. Essayez d'ex&eacute;cuter le programme de d&eacute;marrage qui correspond &agrave; votre carte Ethernet.</para>

    <para>Ma carte Ethernet utilise le mode 16bit WD8013 16bit, j'ex&eacute;cute donc
      <filename>nb8390.com</filename>&nbsp;:</para>
    
    <screen><prompt>C:&gt;</prompt> <userinput>cd \netboot</userinput>
<prompt>C:&gt;</prompt> <userinput>nb8390</userinput>

<prompt>Boot from Network (Y/N) ?</prompt>  <userinput>Y</userinput>

BOOTP/TFTP/NFS bootstrap loader     ESC for menu

Searching for adapter..
WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66

Searching for server...</screen>

    <para>La machine sans disque essaye maintenant de trouver un serveur de d&eacute;marrage. Notez la valeur de <literal>addr</literal> sur l'avant derni&egrave;re ligne, vous en aurez besoin ensuite. Red&eacute;marrez la machine sans disque et modifiez vos
fichiers <filename>config.sys</filename> et <filename>autoexec.bat</filename> pour qu'ils fassent automatiquement ce que vous venez de faire &agrave; la main. Peut-&ecirc;tre avec un menu. Si vous aviez d&ucirc; utiliser <command>nb3c509.com</command> au lieu de <command>nb8390.com</command>, les messages seraient identiques. Si vous obtenez le message &ldquo;<errorname>No adapter found</errorname>&rdquo; apr&egrave;s &ldquo;<literal>Searching for adapter...</literal>&rdquo;, v&eacute;rifiez que vous avez d&eacute;fini les bonnes valeurs dans le <filename>Makefile</filename> au moment de compiler.</para>
  </sect1>
  
  <sect1>
    <title>Permettre aux syst&egrave;mes de d&eacute;marrer via le r&eacute;seau (sur le serveur)</title>
    
    <para>V&eacute;rifiez qu'il y a bien des entr&eacute;es pour <citerefentry><refentrytitle>tftp</refentrytitle></citerefentry> et <citerefentry><refentrytitle>bootps</refentrytitle></citerefentry> dans le fichier <filename>/etc/inetd.conf</filename>. Voici le mien&nbsp;:</para>
    
    <programlisting>tftp	dgram	udp	wait	nobody	/usr/libexec/tftpd	tftpd
#
# Ajout de qui que vous soyez
bootps  dgram  udp  wait  root  /usr/libexec/bootpd bootpd /etc/bootptab</programlisting>
    
    <para>Si vous devez modifier le fichier <filename>/etc/inetd.conf</filename>, envoyez ensuite un signal <literal>HUP</literal> &agrave; <citerefentry><refentrytitle>inetd</refentrytitle></citerefentry>. Pour cela, utilisez la commande <command>ps -ax | grep inetd | grep -v grep</command> pour conna&icirc;tre le num&eacute;ro de processus d'<citerefentry><refentrytitle>inetd</refentrytitle></citerefentry>. Une fois que vous l'avez, envoyez lui le signal HUP. Cela se fait avec <command>kill -HUP &lt;pid&gt;</command>. Cela obligera <citerefentry><refentrytitle>inetd</refentrytitle></citerefentry> &agrave; relire ses fichiers de configuration.</para>

    <para>Vous avez bien not&eacute; la valeur de <literal>addr</literal> dans les messages du programme de d&eacute;marrage sur la machine sans disque&nbsp;? C'est maintenant que vous allez en avoir besoin.</para>

    <para>Ajoutez une entr&eacute;e &agrave; <literal>/etc/bootptab</literal> (vous devrez peut-&ecirc;tre cr&eacute;er ce fichier). Voici &agrave; quoi elle doit ressembler&nbsp;:</para>

    <programlisting>altair:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ht=ether:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ha=004001432666:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:sm=255.255.255.0:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:hn:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ds=199.246.76.1:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ip=199.246.76.2:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:gw=199.246.76.1:\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:vm=rfc1048:</programlisting>
    
    <para>Ce qui, ligne par ligne, signifie&nbsp;:</para>

    <informaltable frame="none">
      <tgroup cols="2">
	<tbody>
	  <row>
	    <entry><literal>altair</literal></entry>
	    <entry>nom du syst&egrave;me sans disque, sans nom de domaine</entry>
	  </row>

	  <row>
	    <entry><literal>ht=ether</literal></entry>
            <entry>type mat&eacute;riel &ldquo;ethernet&rdquo;</entry>
	  </row>

	  <row>
	    <entry><literal>ha=004001432666</literal></entry>
	    <entry>adresse mat&eacute;rielle (le nombre que vous avez not&eacute; auparavant)</entry>
	  </row>

	  <row>
	    <entry><literal>sm=255.255.255.0</literal></entry>
	    <entry>masque de sous-r&eacute;seau</entry>
	  </row>

	  <row>
	    <entry><literal>hn</literal></entry>
	    <entry>dit au serveur de donner au client son nom de machine</entry>
	  </row>

	  <row>
	    <entry><literal>ds=199.246.76.1</literal></entry>
	    <entry>dit au client quel est son serveur de noms de domaine</entry>
	  </row>

	  <row>
	    <entry><literal>ip=199.246.76.2</literal></entry>
	    <entry>dit au client quelle est son adresse IP</entry>
	  </row>

	  <row>
	    <entry><literal>gw=199.246.76.1</literal></entry>
	    <entry>dit au client quelle est sa passerelle par d&eacute;faut</entry>
	  </row>

	  <row>
	    <entry><literal>vm=...</literal></entry>
	    <entry>laissez cela tel que</entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

    <note>
      <para>Veillez &agrave; bien d&eacute;finir les adresses IP, j'ai invent&eacute; celles de l'exemple.</para>

    </note>

    <para>Cr&eacute;ez le r&eacute;pertoire <filename>/tftpboot</filename> sur le serveur. Il contiendra les fichiers de configuration pour les syst&egrave;mes sans disque dont ce sera le serveur de d&eacute;marrage. Ces fichiers s'appelleront <filename>cfg.&lt;ip&gt;</filename>, o&ugrave; &lt;ip&gt; est l'adresse IP de la machine sans disque. Le fichier de configuration pour &ldquo;altair&rdquo; est <filename>/tftpboot/cfg.199.246.76.2</filename>. Voici son contenu&nbsp;:</para>

    <programlisting>rootfs 199.246.76.1:/DiskLess/rootfs/altair
hostname altair.kcis.com</programlisting>

    <para>La ligne <literal>hostname altair.kcis.com</literal> indique seulement au syst&egrave;me sans disque quel est son nom qualifi&eacute;.</para>

    <para>La ligne <literal>rootfs 199.246.76.1:/DiskLess/rootfs/altair</literal> lui dit o&ugrave; est son syst&egrave;me de fichiers racine qui sera mont&eacute; par NFS.</para>

    <note>
      <para>Ce syst&egrave;me de fichiers racine sera mont&eacute; en <emphasis>lecture seule</emphasis> par NFS.</para>
    </note>
    
    <para>L'arborescence de la machine sans disque peut ensuite &ecirc;tre remont&eacute;e pour autoriser les op&eacute;rations de lecture/&eacute;criture.</para>
    
    <para>J'utilise mon 386DX-40 comme terminal X d&eacute;di&eacute;.</para>

    <para>Voici l'arborescence d'&ldquo;altair&rdquo;&nbsp;:</para>

    <literallayout>/
/bin
/etc
/tmp
/sbin
/dev
/dev/fd
/usr
/var
/var/run</literallayout>

    <para>Et la liste des fichiers qu'elle contient&nbsp;:</para>

    <screen>-r-xr-xr-x  1 root  wheel  779984 Dec 11 23:44 ./kernel
-r-xr-xr-x  1 root    bin  299008 Dec 12 00:22 ./bin/sh
-rw-r--r--  1 root  wheel     499 Dec 15 15:54 ./etc/rc
-rw-r--r--  1 root  wheel    1411 Dec 11 23:19 ./etc/ttys
-rw-r--r--  1 root  wheel     157 Dec 15 15:42 ./etc/hosts
-rw-r--r--  1 root    bin    1569 Dec 15 15:26 ./etc/XF86Config.altair
-r-x------  1 bin     bin  151552 Jun 10  1995 ./sbin/init
-r-xr-xr-x  1 bin     bin  176128 Jun 10  1995 ./sbin/ifconfig
-r-xr-xr-x  1 bin     bin  110592 Jun 10  1995 ./sbin/mount_nfs
-r-xr-xr-x  1 bin     bin  135168 Jun 10  1995 ./sbin/reboot
-r-xr-xr-x  1 root    bin   73728 Dec 13 22:38 ./sbin/mount
-r-xr-xr-x  1 root  wheel    1992 Jun 10  1995 ./dev/MAKEDEV.local
-r-xr-xr-x  1 root  wheel   24419 Jun 10  1995 ./dev/MAKEDEV</screen>
    
    <para>N'oubliez pas d'ex&eacute;cuter <command>MAKEDEV all</command> dans le r&eacute;pertoire <filename>dev</filename>.</para>

    <para>Voici enfin mon <filename>/etc/rc</filename> pour <hostid>altair</hostid>&nbsp;:</para>

<programlisting>#!/bin/sh
#
PATH=/bin:/
export PATH
#
# configurer l'interface &ldquo;en boucle&rdquo;
/sbin/ifconfig lo0 127.0.0.1
#
# configurer la carte Ethernet
/sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00
#
# monter le syst&egrave;me de fichiers racine via NFS
/sbin/mount antares:/DiskLess/rootfs/altair /
#
# monter le syst&egrave;me de fichiers /usr via NFS
/sbin/mount antares:/DiskLess/usr /usr
#
/usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&amp;1
#
# R&eacute;demarrer lorsque l'on quitte X
/sbin/reboot
#
# Nous avons plant&eacute; ...
exit 1</programlisting>

    <para>Vos commentaires et questions sont bienvenus.</para>
  </sect1>
</article>

<!-- 
     Local Variables:
     mode: sgml
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     End:
-->