r9 - 02 Apr 2008 - 19:55:21 - HarperA?You are here: TWiki >  Ltsp Web  > Fedora

Installing LTSP on Fedora

If you have information about issues related to installing LTSP on Fedora, please edit this page and add your notes.

Make sure you turn off SELinux, or at least figure out how to configure it to work with tftp and any other services that don't work because of it.

Resources

Wiki of a detailed LTSP 4.1 installation on Fedora Core 3 using apt: http://terminaux.levinux.org/wakka.php?wiki=LTSPSousFedoraCore3 (FRENCH)

English translation via Babelfish and minor edits

LTSP 4.1 with Fedora Core 3

Installation of root for LTSP version 4.1

Installation of ltsp-utils

$ apt-get install ltsp-utils

or

$ rpm - Uvh http://mirror.levinux.org/pub/ltsp/ltsp-utils-0.10-0.noarch.rpm

Execution of script

$ ltspadmin

In the menu, to choose the option "Install/Update LTSP Packages". To configure our sources of pacquetage (in our case the source local http://mirror.levinux.org/pub/ltsp/), not of proxy HTTP or ftp. To select all packages (option ' A') To make the option ' Q' to install our choices. The installation of packages is done... To leave * ltspadmin *

Once the launched installation, packages will be downloaded and decompressed in the directory /opt/ltsp.

Exploration of the root

We now have a directory (/opt/ltsp) which contains the root of our terminals. This root will be divided by NFS (network filesystem), this file system has the characteristic to make available another file system from a machine to another via the network. Root NFS will have the same function as a hard disk which would have a Linux system installed: it provides all the tools necessary to exploit a computer. The root contains tools of diagnostic materials, a graphic server (XFree), a file of configuration of the terminals and some services.

Let us visit the root:

$ cd /opt/ltsp/i386/
$ ls
bin home proc sbin dev lib usr etc mnt oldroot root var opt tmp

The file of configuration of all the terminals using this root is in /opt/ltsp/i386/etc/lts.conf

$ vi etc/lts.conf

Configuration of the related services

The correct operation of a service of terminals rests on several services which operate independently the ones of the others. If a service is already present in our environment, it is possible to use it to make function our terminals X.

DHCP: Dynamic Host Configuration Protocol

DHCP is a protocol making it possible a networked client to obtain an address IP from a server. This protocol simplifies the management and the deployment of network IPs.

In our case, the DHCP service will provide the network configuration to our terminals, but also of the variables (boot-server, filename and root-path) according to our network environment . These variables tell the terminals to which machine to go for the various services.

Here an example of dhcpd.conf which distributes a beach of address:

ddns-update-style none;
default-lease-time 21600;
max-lease-time 21600; 
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option domain-name-servers 192.168.0.14;
option domain-name "levinux.org"; 
option root-path "192.168.2.5:/opt/ltsp/i386";
option option-128 code 128 = string;
option option-129 code 129 = text; 
subnet 192.168.2.0 netmask 255.255.255.0 {
  use-host-decl-names on;
  option log-servers 192.168.2.5;
  filename "/lts/vmlinuz-2.4.24-ltsp-1";
  range dynamic-bootp 192.168.2.200 192.168.2.230;
}

TFTP: Trivial File Transfer Protocol

TFTP is a simplified version of ftp which allows the transfer of files. However, this version does not have password protection or a list of users. It is associated to the family of protocols TCP/IP.

In our case, TFTP will be used to send the kernel to the terminal. This makes it possible to avoid using a hard disk or a diskette to boot the terminal.

Find the tftp server package

[ root@192 etc ] # apt-cache search tftp
bootparamd - A server process which provides boot information to diskless customers.
tcp_wrappers - A security tool which acts have has wrapper for TCP daemons.
tftp-server - The server for the Commonplace File Transfer Protocol (TFTP).
[ root@192 etc ] # 

Research found what interests us: tftp-server. We will install this package, that is to say the server tftp.

[ root@192 etc ] # apt-get install tftp-server
Reading Lists Package... Done
Building Dependency Tree... Done
The following NEW packages will Be installed:

tftp-server (0.39-1)

0 upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 26,0kB of files.
After unpacking 29,7kB of additional disk space will Be used.
Get:1 (interwiki) http://mirror.levinux.org pub/fedora/core/3/i386/os tftp-server 0.39-1 [ 26,0kB ]
Fetched 26,0kB in 0s (105kB/s)
Checking GPG signatures... 
Committing exchanges...
Preparing... # [ 100% ]

1:tftp-server # [ 100% ] 

Done.
[ root@192 etc ] # 

It is now necessary to activate the service /tftp/ which is managed by /xinetd/. To this end, it is necessary to change the line /disable = yes/ for disable = No in the file /etc/xinetd.d/tftp.

# default: off
# description: The tftp server serves files using the trivial file transfer 
# protocol. The tftp protocol is often used to boot diskless 
# workstations, download configuration files to network-aware printers, 
# and to start the installation process for some operating systems.
service tftp
{

  socket_type = dgram
  protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /tftpboot
  disable = no
  per_source = 11
  cps = 100 2
  flags = IPv4

}

Then, we must restart the xinetd service so that it takes into account our modifications.

[ root@localhost root ] # /etc/init.d/xinetd restart
Stop of xinetd: [ OK ]
Starting of xinetd: [ OK ]
[ root@localhost root ] #

To make sure that xinetd will be started at next starting, a small check is in order...

[ root@192 ~ ] # chkconfig --list xinetd
xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[ root@192 ~ ] # 

We must then set up the kernel which will be sent to the terminals. It is thus necessary to get ltsp_kernel which is available on the LTSP site in the download section, to uncompress it and run the installation script.

[ root@localhost root ] # tar xzvf ltsp_kernel-3.0.15-i386.tgz
ltsp_kernel/
ltsp_kernel/README.pxe
[... ]
ltsp_kernel/pxelinux.0
ltsp_kernel/vmlinuz-2.4.24-ltsp-1
[ root@localhost root ] # vi ltsp_kernel/INSTALL
[ root@localhost root ] # cd ltsp_kernel
[ root@localhost ltsp_kernel ] # /install.sh

 

Extracting un-tagged kernel
1729+0 recordings read.
1729+0 written recordings.

 

Extracting un-tagged initrd
1856+0 recordings read.
1856+0 written recordings.
Installing kernel modules

 

Yew you want to uses PXE, then you need to take
look at /tftpboot/lts/2.4.24-ltsp-4/README.pxe has
 

[ root@localhost ltsp_kernel ] #


To test this service, we will use the customer tftp to try to get  the kernel which we installed.


[ root@localhost root ] # tftp localhost
tftp > get /lts/vmlinuz-2.4.24-ltsp-1
Received 1854853 bytes in 1.7 seconds
tftp > quit
[ root@localhost root ] #

And of one!

NFS: Network File System

NFS is one of the many distributed file systems which allows a computer configured in a network to use the files and the peripherals of another computer, also located on the network, as if these files and peripherals were physically on his computer. This protocol was developed by Sun Microsystems and was adopted by other suppliers. It is the standard protocol of a heterogeneous environment.

Once the core has initialised the main components on the system, it will try to build its root directory which is on our server. The access to this root will be possible thanks to the file system NFS. It should be configured so that it shares the directory /opt/ltsp/i386.

[ root@192 ~ ] # apt-get install NFS-UTILS
Reading Lists Package... Done 
Building Dependency Tree... Done
The following NEW packages will Be installed:

NFS-UTILS (1.0.6-39)

0 upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 295kB of files.
After unpacking 720kB of additional disk space will Be used.
Get:1 (interwiki) http://mirror.levinux.org pub/fedora/core/3/i386/os NFS-UTILS 1.0.6-39 [ 295kB ]
Fetched 295kB in 1s (265kB/s)
Checking GPG signatures...
Committing exchanges...
Preparing... # [ 100% ]

1:nfs-utils # [ 100% ]

Done.
[ root@192 ~ ] # 

The file /exports/ contains all the repertories which will be accessible by other machines. We thus add the following line to the file /etc/exports.

/opt/ltsp/i386/ * (ro, no_root_squash)


Service NFS should now be started.

[ root@localhost root ] # /etc/init.d/nfs start
Starting of services NFS: [ OK ]
Beginning of quota NFS: [ OK ]
Starting of demon NFS: [ OK ]
Starting of NFS mountd: [ OK ]
[ root@localhost root ] #

Note: it is possible to force a reread of the file /exports/ without restarting the NFS service with the command /exportfs - rav/.

To test accessibility with the root, we can try to assemble it, that is to say of another server or locally.

[ root@localhost root ] # mount localhost:/opt/ltsp/i386/ /mnt/floppy/
[ root@localhost root ] # ls /mnt/floppy/ 
bin dev etc home include lib libexec man mnt oldroot opt proc 
root sbin share tmp usr VAr
[ root@localhost root ] # umount /mnt/floppy/
[ root@localhost root ] #

And here!

XFS: XFree server font choice.

XFS is a server of police forces, i.e. it makes it possible to centralize the installation of police forces on only one server which receives connections of servers graphic XFree. It is possible to roll XFree without server of police forces.

By defect, XFS does not use a communication system network used locally on a machine. It is thus necessary to modify its configuration to activate the support network and to specify a port of listening.

The line /no-listen = TCP will be commented on, and we add /port = 7100/ to the file /etc/X11/fs/config.

#
# Default make server configuration spins for Red Hat Linux
#

# allow has max of 10 customers to connect to this make server
customer-limit = 10

# when A make server reaches its limit, start up has new one
clone-coil = one
 

# alternate make servers for customers to uses
# alternate-servers = foo:7101, bar:7102

# where to look for font
#
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,

/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/cyrillic,
/usr/X11R6/lib/X11/fonts/TTF,
/usr/share/fonts/default/Type1,
,
/usr/lib/openoffice/share/fonts/truetype

# in 12 points, decipoints
default-point-size = 120

# 100 X 100 and 75 X 75
default-resolution = 75,75,100,100

# uses lazy loading one 16 bit (usually Asian) font
deferglyphs = 16

# how to log errors
use-syslog = one

# don' T listen to TCP ports by default for security let us reasons
# No-listen = TCP

# our for listening
port = 7100

Once again, it should be started again this service so that our modifications are taken into account.

[ root@localhost root ] # /etc/init.d/xfs restart
Restarting of xfs:
Stop of xfs: [ OK ]
Starting of xfs: [ OK ]
[ root@localhost root ] #

GDM: Gnome display manager

GDM is the software manager of the "Displays" X11, via XDMCP. It makes it possible to authenticate a user and to manage his login.

Just like for XFS, it is necessary to activate a port (mitre XDMCP) of listening in the configuration of GDM to enable him to answer the requests terminals. The first section to be modified in the file /etc/X11/gdm/gdm.conf is [ XDMCP ]. Here what that must give:

[ xdmcp ]
# Distributions: Ship with this off. It is never has safe thing to leave
# out one the Net. Setting up /etc/hosts.allow and /etc/hosts.deny to only
# allow local access is another alternate drank not the safest.
# Firewalling port 177 is the safest yew you wish to cuts xdmcp one.
# Read the manual for more notes one the security of XDMCP.
' ' ' Enable=true' ''
# indirect Honour queries, we run has chooser for these, and then redirect
# the to use to the chosen host. Otherwise we just log the to use in locally.
HonorIndirect?= true
# Maximum pending requests
#MaxPending?= 4
#MaxPendingIndirect?= 4
# Maximum open XDMCP sessions At any not in time
' ' 'MaxSessions?= 16' ''
# Maximum wait times
#MaxWait?= 15
#MaxWaitIndirect?= 15
# How many times edge has person log in from has individual host. Usually better to
does # keep low to split DoS off? attacks by running many logins from has individual
# host. This is now set At 2 since yew the server crashes then gdm doesn' T
# know for some time and wouldn' T allow another session.
' ' 'DisplaysPerHost?= 2' ''
# The number of seconds after which has not-in reply session is logged off.
# Better keep this low.choix.
' ' 'PingIntervalSeconds?= 15' ''
# The port. 177 is the standard port so better keep it that way
' ' ' Port=177 ' ' '
# Willing script, none is shipped and by default we' ll send
# hostname system id. Yew you supply something here, the drank
# output of this script will Be feels ace status of this host so that
# the chooser edge display it. You could for example send load,
# gold mall details for some to use, but some such.Comme XFS,
Willing=/etc/X11/gdm/Xwilling

Note: The configuration of GDM is as accessible with the program /gdmconfig/. It offers better overall picture as the file of configuration and the modifications are easier to carry out.

Once the made modifications, we must start again the service.

[ root@localhost root ] # gdm-safe-restart
[ root@localhost root ] #

LTS.CONF

The file of configuration /lts.conf/ makes it possible to specify parameters such as the activation of a print server, the assumption of responsibility of a chart of sound, the definition of screen. These parameters can apply to the whole of our terminals, in the section [ default ]. They can be specific to only one terminal, in a section which door is the name of machine which is turned over by the dhcp, that is to say the MAC address of the chart network or address IP of the terminal.

Here an example of lts.conf where we use the server from applicatif 192.168.2.5 and one terminal, identified by the address mac 00:0a:e6:10:db:16, which must give the responsability of the special pilots to use his graphics board.

[ Default ]

  SERVER = 192.168.2.5
  XSERVER = car
  X_MOUSE_PROTOCOL = "PS/2"
  X_MOUSE_DEVICE = "/dev/psaux"
  X_MOUSE_RESOLUTION = 400
  X_MOUSE_BUTTONS = 3
  USE_XFS = Y
  LOCAL_APPS = N
  SCREEN_01 = startx

[ 00:0a:e6:10:db:16 ]

  X4_MODULE_00 = glx
  X4_MODULE_01 = dri

Note: When we modify the file lts.conf, there are no services to start again since this file is read by the terminal itself when it starts.


Installing on Fedora 8

Don't forget using the later Fedora versions (ver.7+?) that "portmap" is called "rpcbind".

You can compensate for this easily with a symbolic link by typing this at the terminal:

ln -s /sbin/rpcbind /sbin/portmap
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback