/[gentoo]/xml/htdocs/doc/en/ltsp.xml
Gentoo

Contents of /xml/htdocs/doc/en/ltsp.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (hide annotations) (download) (as text)
Mon Oct 18 15:51:09 2004 UTC (10 years, 2 months ago) by swift
Branch: MAIN
Changes since 1.11: +4 -3 lines
File MIME type: application/xml
Fix TFTP boot parameters, tx 2 Marc Jauvin

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2 swift 1.12 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.11 2004/10/13 17:43:44 swift Exp $ -->
3 swift 1.1 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4    
5     <guide link="/doc/en/ltsp.xml">
6     <title>Gentoo - LTSP Guide</title>
7     <author title="Author">
8 swift 1.2 <mail link="lanius@gentoo.org">Heinrich Wendel</mail>
9 swift 1.1 </author>
10     <author title="Author">
11     <mail link="josiah@ritchietribe.net">Josiah Ritchie</mail>
12     </author>
13     <author title="Editor">
14     <mail link="swift@gentoo.org">Sven Vermeulen</mail>
15     </author>
16    
17     <abstract>
18     This guide shows you how to setup a LTSP Server with Gentoo.
19     </abstract>
20 swift 1.6
21     <license/>
22    
23 swift 1.12 <version>1.9</version>
24     <date>October 18, 2004</date>
25 swift 1.1 <chapter>
26     <title>Introduction</title>
27     <section>
28     <title>What is LTSP?</title>
29     <body>
30     <p>
31     LTSP is an abbreviation for "Linux Terminal Server Project". Installed
32     on a server it can supply many workstations (so called thin-clients)
33     with identical environments. All applications run on the server and
34     therefore you can use old PCs and convert them into XTerminals. This
35     reduces costs and maintenance especially in an environment where you
36     need to have an uniform workspace on each computer you login, e.g. in
37     schools or firms.
38     </p>
39     </body>
40     </section>
41     </chapter>
42     <chapter>
43     <title>Installation</title>
44     <section>
45     <title>Preliminaries</title>
46     <body>
47     <p>
48     All of the examples in this document presume that your server's IP is
49     192.168.0.254, your domain is named yourdomain.com and your network is
50     192.168.0.0/24.
51     </p>
52     </body>
53     </section>
54     <section>
55     <title>Installation</title>
56     <body>
57    
58     <p>
59     First of all, you must have a working Gentoo system. Please read the
60     Gentoo Installation Manual for your architecture on <uri
61     link="http://www.gentoo.org/doc">Gentoo's Documentation Website</uri>.
62     </p>
63    
64     <p>
65 swift 1.11 Then lets begin with the easiest step, installing the ltsp package:
66 swift 1.1 </p>
67    
68     <pre caption="Emerge LTSP">
69 swift 1.11 # <i>emerge ltsp</i>
70 swift 1.1 </pre>
71    
72     <p>
73     This will install the following packages as dependencies:
74     </p>
75    
76     <ul>
77     <li><b>XFree</b>: They are called XTerminals, guess why :)</li>
78     <li><b>DHCP</b>: DHCP is a protocol for automating the configuration of
79     computers that use TCP/IP, used by ltsp to distribute IPs to the
80     workstations.</li>
81     <li><b>NFS</b>: NFS is a protocol to allow access to harddisks through
82     the network, used by ltsp to mount a base system for the
83     workstations.</li>
84     <li><b>TFTP</b>: TFTP is a simple file transfer protocol, used by ltsp
85     to transfer the kernel to the workstations.</li>
86     <li><b>XINETD</b>: Xinetd is a powerful replacement for inetd, with
87     advanced features, used by ltsp to start tftp.</li>
88     </ul>
89    
90     <note>
91     If you have the kde/gnome useflag set, it will also install a complete kde/gnome system.
92     </note>
93    
94     </body>
95     </section>
96     </chapter>
97     <chapter>
98     <title>Configuration</title>
99 swift 1.6 <section>
100 swift 1.1 <body>
101    
102     <p>
103     After the emerge process has finished all services must be configured:
104     </p>
105    
106     </body>
107 swift 1.6 </section>
108 swift 1.1 <section>
109     <title>System Logger</title>
110     <body>
111    
112     <p>
113     To analyze problems easier, the system logger must be configured to
114     accept remote connections. Please read the documentation of your
115 swift 1.7 system logger on how to achieve this. If, for example, you are using
116     sysklogd, all you need to do is edit <path>/etc/conf.d/sysklogd</path> and add
117     "-r" to the SYSLOGD line:
118 swift 1.1 </p>
119    
120 swift 1.7 <pre caption="/etc/conf.d/sysklogd">
121     SYSLOGD="-m 0 -r"
122     KLOGD="-c 3 -2"
123     </pre>
124    
125 swift 1.1 </body>
126     </section>
127     <section>
128     <title>NFS</title>
129     <body>
130    
131     <p>
132     Next step is to edit your <path>/etc/exports</path> file, in order to
133     allow the workstations to mount the root filesystem. There should be at
134     least two lines in it:
135     </p>
136    
137     <pre caption="/etc/exports">
138 swift 1.10 /opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
139 swift 1.1 /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async)
140     </pre>
141    
142     <note>
143     You have to alter the network/netmask to match your network/netmask
144     settings.
145     </note>
146    
147     <p>
148     Now start NFS.
149     </p>
150    
151     <pre caption="Starting nfs">
152     # <i>rc-update add nfs default</i>
153     # <i>/etc/init.d/nfs start</i>
154     </pre>
155    
156     </body>
157     </section>
158    
159     <section>
160     <title>xinetd/tftp</title>
161     <body>
162 swift 1.7 <p>
163 neysx 1.9 TFTP requires a bit of configuring to get it to work properly. First, edit
164     <path>/etc/conf.d/in.tftpd</path> to set tftpd's options and path correctly:
165 swift 1.7 </p>
166    
167     <pre caption="/etc/conf.d/in.tftpd">
168     INTFTPD_PATH="/tftpboot"
169 neysx 1.9 INTFTPD_OPTS="-s ${INTFTPD_PATH}"
170 swift 1.7 </pre>
171    
172     <p>
173 neysx 1.9 The -s flag specifies that TFTP is to run in secure chrooted mode
174     (recommended). This means that you don't need to include the
175     <path>/tftpboot</path> path for example in the DHCP configuration.
176     </p>
177    
178     <p>
179     Next, configure xinetd to run TFTP and allow remote connections. By default
180     TFTP won't be started by xinetd, so edit <path>/etc/xinetd.d/tftp</path> and
181     replace <c>disable=yes</c> with <c>disable=no</c>. If the file is missing just
182     go ahead and create <path>/etc/xinetd.d/tftp</path> with the contents below.
183 swift 1.7 </p>
184    
185     <pre caption="/etc/xinetd.d/tftp">
186     service tftp
187     {
188     disable = no
189     socket_type = dgram
190     protocol = udp
191     wait = yes
192     user = root
193     server = /usr/sbin/in.tftpd
194 swift 1.12 server_args = -s /tftpboot
195 swift 1.7 }
196     </pre>
197 swift 1.1
198     <p>
199 swift 1.7 Now edit <path>/etc/xinetd.conf</path> and comment out the line <c>only_from = localhost</c> by prefacing it with a <c>#</c>. Finally, start xinetd.
200 swift 1.1 </p>
201    
202     <pre caption="Starting xinetd">
203     # <i>rc-update add xinetd default</i>
204     # <i>/etc/init.d/xinetd start</i>
205     </pre>
206    
207     </body>
208     </section>
209     <section>
210     <title>Name resolving</title>
211     <body>
212    
213     <p>
214     In order for the workstation to reach all resources, a correct name
215     resolving must be available. There are several ways to achieve this. One
216     is to configure a DNS server for the local network, the other (and more
217     simple) is to have almost identical <path>/etc/hosts</path> files on all
218     systems. We are going to use the latter.
219     </p>
220    
221     <p>
222     All workstations must be listed in <path>/etc/hosts</path>. Take a look
223     at the example:
224     </p>
225    
226     <pre caption="/etc/hosts">
227     127.0.0.1 localhost
228     192.168.0.254 server server.yourdomain.com
229 neysx 1.9 192.168.0.1 ws001 ws001.yourdomain.com
230 swift 1.1 </pre>
231    
232     </body>
233     </section>
234     <section>
235     <title>DHCP Config</title>
236     <body>
237    
238     <p>
239     This is the most complicated step in my opinion, you have to create a
240     valid DHCP Config (<path>/etc/dhcp/dhcpd.conf</path>). Here is an
241     example:
242     </p>
243    
244     <pre caption = "dhcpd.conf">
245     <codenote>Some general options</codenote>
246     default-lease-time 21600;
247     max-lease-time 21600;
248     use-host-decl-names on;
249     ddns-update-style ad-hoc;
250    
251     <codenote>Bootp options</codenote>
252     allow booting;
253     allow bootp;
254    
255     <codenote>Network Options</codenote>
256     option subnet-mask 255.255.255.0;
257     option broadcast-address 192.168.0.255;
258     option routers 192.168.0.254;
259     option domain-name-servers 192.168.0.254;
260     option log-servers 192.168.0.254;
261     option domain-name "yourdomain.com";
262    
263     <codenote>LTSP Path Options</codenote>
264 swift 1.10 option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
265     filename "/lts/vmlinuz-2.4.26-ltsp-2";
266 swift 1.1
267     <codenote>If your workstations have ISA NICs uncomment the following</codenote>
268     <codenote>lines and alter the driver and IO</codenote>
269     #option option-128 code 128 = string;
270     #option option-129 code 129 = text;
271     #option option-128 e4:45:74:68:00:00;
272     #option option-129 "NIC=ne IO=0x300";
273    
274     shared-network WORKSTATIONS {
275     subnet 192.168.0.0 netmask 255.255.255.0 {
276     <codenote>Distribute dynamic IPs to the workstations</codenote>
277 neysx 1.9 range dynamic-bootp 192.168.0.1 192.168.0.16;
278 swift 1.1 <codenote>Workstation specific configuration for PXE booting</codenote>
279     #host ws001 {
280     # hardware ethernet 00:E0:06:E8:00:84;
281     # fixed-address 192.168.0.1;
282     #}
283     }
284     }
285     </pre>
286    
287     <p>
288     If your workstations support PXE, you should list each one of them as we
289     have done with <e>host ws001</e> (don't forget to uncomment it). Don't
290     give them an adress in the dynamic range, otherwise it would be possible
291 swift 1.7 that more workstations have the same IP (which is troublesome). Remember, if you cut-n-paste the above example, replace any "//" comments with "##", or else dhcp will fail to start.
292 swift 1.1 </p>
293    
294     <p>
295     For more documentation on this item read the official dhcp handbook:
296     <uri>http://www.dhcp-handbook.com/</uri>
297     </p>
298    
299     <p>
300     Now start DHCP as you did with NFS and xinetd:
301     </p>
302    
303 swift 1.3 <pre caption="start dhcp">
304 swift 1.1 # <i>rc-update add dhcp default</i>
305     # <i>/etc/init.d/dhcp start</i>
306     </pre>
307    
308     <note>
309 swift 1.3 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
310 swift 1.1 </note>
311    
312     </body>
313     </section>
314    
315     <section>
316     <title>LTSP Configuration</title>
317     <body>
318    
319     <p>
320     There are many options to configure your workstations, visit
321     <uri>http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903</uri>
322     for a full description of <path>/opt/ltsp/i386/etc/lts.conf</path>.
323     </p>
324    
325 swift 1.7 <p>
326     As a few suggestions to get started, you will want to first copy <path>/opt/ltsp/i386/etc/lts.conf.example</path> to <path>/opt/ltsp/i386/etc/lts.conf</path> and edit it from there. You may want to try changing the <c>SCREEN_01</c> option to read
327     <c>SCREEN_01 = startx</c>. To use a USB mouse on the remote client, add the following MODULE lines, and change the X_MOUSE_* lines as follows:
328     </p>
329    
330     <pre caption="/opt/ltsp/i386/etc/lts.conf">
331     MODULE_01 = usb-uhci
332     MODULE_02 = mousedev
333     MODULE_03 = usbmouse
334     X_MOUSE_PROTOCOL = "IMPS/2"
335     X_MOUSE_DEVICE = "/dev/input/mice"
336     </pre>
337    
338 swift 1.1 </body>
339     </section>
340    
341     <section>
342     <title>Displaymanager</title>
343     <body>
344    
345     <p>
346     Now you have to change your displaymanager's configuration to
347     also accept remote connections.
348     </p>
349    
350     <p>
351 neysx 1.9 First change your <path>/etc/X11/xdm/Xaccess</path> file,
352     uncomment the following line:
353 swift 1.5 </p>
354    
355 neysx 1.9 <pre caption="/etc/X11/xdm/Xaccess">
356 swift 1.5 #* #any host can get a login window
357     </pre>
358    
359     <p>
360     Now change the configuration of the displaymanager you use:
361     </p>
362    
363     <p>
364 swift 1.1 <b>XDM</b>: In <path>/etc/X11/xdm/xdm-config</path> comment out <c>DisplayManager.requestPort: 0</c>
365     </p>
366    
367     <p>
368     <b>KDM</b>: In <path>/usr/kde/3.1/share/config/kdm/kdmrc</path> look
369     for the <c>[Xdmcp]</c> section and change <c>Enable = false</c> to
370     <c>Enable = true</c>.
371     </p>
372    
373     <p>
374     <b>GDM</b>: In <path>/etc/X11/gdm/gdm.conf</path> look for the
375     <c>[xdmcp]</c> section and change <c>Enable = false</c> to
376     <c>Enable = True</c>.
377     </p>
378    
379     <p>
380     Then start the displaymanager:
381     </p>
382    
383     <pre caption="Starting xdm">
384     # <i>rc-update add xdm default</i>
385     # <i>/etc/init.d/xdm start</i>
386     </pre>
387    
388     <warn>
389     There seem to be problems currently with XDM and GDM. The author used
390     KDM to resolve these issues.
391     </warn>
392    
393 swift 1.7 <p>
394     Remember, if your display manager is already running, restarting the X server via CTRL-ALT-BACKSPACE doesn't restart the display manager.
395     </p>
396    
397 swift 1.1 </body>
398     </section>
399    
400     <section>
401     <title>Creating a bootfloppy</title>
402     <body>
403    
404     <p>
405 neysx 1.9 If your workstations don't support PXE booting, you can create a boot-floppy
406     which is used to start your workstations and connect to the terminal server.
407     Go to <uri>http://www.rom-o-matic.net</uri>, select the latest version, select
408     your NIC, press <e>Get ROM</e> and write the image to a floppy:
409 swift 1.1 </p>
410    
411 swift 1.3 <pre caption="Write floppy image">
412 neysx 1.9 # <i>cat nicfile.zdsk > /dev/fd0</i>
413 swift 1.1 </pre>
414    
415     </body>
416     </section>
417     </chapter>
418    
419     <chapter>
420     <title>Troubleshooting</title>
421 swift 1.6 <section>
422 swift 1.1 <body>
423    
424     <p>
425     There are a lot of things that can be the source of trouble, but there
426     are also several resources around which help you solve your problems:
427     </p>
428    
429     <ul>
430     <li>The official documentation:
431     <uri>http://www.ltsp.org/documentation/</uri>, especially the
432     Troubleshooting section.</li>
433     <li>The gentoo IRC channel: irc.freenode.org #gentoo</li>
434     <li>The ltsp irc channel: irc.freenode.org #ltsp</li>
435     <li>The ltsp mailinglists <uri>http://ltsp.org/mailinglists.php</uri>
436     are full of some real good knowledge.</li>
437     </ul>
438     </body>
439 swift 1.6 </section>
440 swift 1.1 </chapter>
441    
442     <chapter>
443     <title>FAQ</title>
444 swift 1.6 <section>
445 swift 1.1 <body>
446     <p>
447     <b>Q:</b> My workstations have Pentium II CPUs, but my server is compiled
448     with <c>march=athlon-xp</c>, does this work?
449     </p>
450    
451     <p>
452     <b>A:</b> This is no problem, because all applications run on the server.
453     </p>
454    
455     <p>
456     <b>Q:</b> Which CPU and how much RAM should the server have?
457     </p>
458    
459     <p>
460     <b>A:</b> There is a good document with suggestions at
461     <uri>http://ltsp.org/documentation/server_suggestions.html</uri>.
462     </p>
463    
464     <p>
465     <b>Q:</b> Do you have more information about this PXE stuff?
466     </p>
467    
468     <p>
469     <b>A:</b> Yes, take a look at
470     <uri>http://ltsp.org/documentation/eproms.txt</uri>
471     and <uri>http://ltsp.org/documentation/pxe.howto.html</uri>.
472     </p>
473    
474     <p>
475     <b>Q:</b> Is it possibly to use 3D-Accelerated software on the workstations?
476     </p>
477    
478     <p>
479     <b>A:</b> If you are using NVidia cards take a look at
480     <uri>http://ltsp.org/documentation/nvidia.txt</uri>.
481     </p>
482    
483     <p>
484 swift 1.3 <b>Q:</b> In some applications the fonts look crappy, what to do?
485 swift 1.1 </p>
486    
487     <p>
488 swift 1.3 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
489 swift 1.1 <path>lts.conf</path>, edit <path>/etc/X11/fs/config</path> and comment
490     <c>no-listen: tcp</c> out, replace <c>XFS_PORT="-1"</c> with
491     <c>XFS_PORT="7100"</c> in <path>/etc/conf.d/xfs</path> and start xfs:
492 swift 1.8 <c>/etc/init.d/xfs start</c>. Also doublecheck that
493     <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) contains
494     <c>FontPath "unix/:7100"</c> in the Files-section.
495 swift 1.2 </p>
496    
497 swift 1.5 <p>
498     <b>Q: </b> How can I use the soundcard of my workstation?
499     </p>
500    
501     <p>
502     <b>A: </b> There is a ltsp-sound package in gentoo, for more instructions read
503     the included <path>README</path> file.
504     </p>
505    
506 swift 1.2 </body>
507 swift 1.6 </section>
508 swift 1.2 </chapter>
509    
510     <chapter>
511     <title>Glossary</title>
512 swift 1.6 <section>
513 swift 1.2 <body>
514    
515     <p>
516 swift 1.3 <b><uri link="http://www.ltsp.org">LTSP</uri></b>
517     "The LTSP provides a simple way to utilize low cost workstations as either
518 swift 1.2 graphical or character based terminals on a GNU/Linux server."
519     </p>
520    
521     <p>
522 swift 1.3 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
523 swift 1.2 "Short for Pre-Boot Execution Environment. Pronounced pixie, PXE is one of the
524     components of Intel's WfM specification. It allows a workstation to boot from
525     a server on a network prior to booting the operating system on the local hard
526     drive. A PXE-enabled workstation connects its NIC to the LAN via a jumper,
527     which keeps the workstation connected to the network even when the power is
528     off."
529 swift 1.1 </p>
530    
531     </body>
532 swift 1.6 </section>
533 swift 1.1 </chapter>
534     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20