home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BURKS 2
/
BURKS_AUG97.ISO
/
BURKS
/
LINUX
/
HOWTO
/
mini
/
remboot.txt
< prev
next >
Wrap
Text File
|
1997-07-07
|
63KB
|
1,420 lines
Linux Remote-Boot mini-HOWTO: Configuring Remote-Boot Worksta¡
tions with Red-Hat Linux, DOS, Windows 3.1 and Windows 95
Marc Vuilleumier Stⁿckelberg, Sandro Viale and David Clerc
v2.3, April 1997
This document describes how to set up a very robust server-based con¡
figuration for a cluster of PCs, allowing each client to choose at
boot-time which operating system to run. The key of this configuration
is the TCP/IP bootprom, which let the user choose at boot time one of
several boot images. The most up-to-date version of this document,
with hypertext links to downloadable software and other related mate¡
rials, can be found at the address
http://cuiwww.unige.ch/~mvuilleu/configsc1/config.html. Linuxdoc-
SGML, DVI and postscript versions are available in the same directory.
You can also find some slides written in French at
http://cuiwww.unige.ch/~nicolas/PCintegre.html.
1. What has changed since last major version ?
╖ The Linux server-based configuration and documentation have been
completely redesigned. It is now based on RedHat Linux 4.1, updated
to the 2.0.30 kernel. Linux system setup and maintenance has been
much simplified.
╖ The Dos and Windows configurations have been completely redesigned,
using a "hard-disk based" approach. This makes the configuration
MUCH easier, fasten the boot process, reduces the network load, and
even allows for a server-based setup of Windows NT station
(although this is not described in this document).
╖ We now use a DHCP server, with standard DHCP/BOOTP extensions (RFC
2132).
╖ This configuration now works also with Samba, the free SMB server,
instead of a Novell server. In fact, we are now on the point of
throwing away of our Novell server...
2. Introduction
The configuration described here was developped since Summer 1996 at
the CUI, University of Geneva. The Computer Science Department uses
several servers (both Unix and Novell), and a number of PCs, which
fall into two classes:
╖ computers devoted to students
╖ computers devoted to research and teaching assistants
We developped the current configuration with the following aims:
╖ Every computer should be able to run under Linux, DOS, Windows 3.1
or Windows 95. One should be able to choose the desired operating
system for each session.
╖ All softwares, including operating systems, should reside on the
server, in order to facilitate the installations and upgrades.
╖ Clients computers should be able to run without any write-access on
the server (for security reasons), except their home directory.
╖ Client-side configuration should be reduced to its very minimum.
Clients should automatically get their IP configuration parameters
from the server, and this information should be located in a single
file, used for all operating systems.
╖ Since almost every computer now has a hard-disk, clients should be
able to take profit of it for reducing network load and as
temporary storage space for the user.
╖ Users must have a login to be able to use any of the computers.
╖ The login should be the same for all operating system and should
let the user access its unique home directory, common to all
operating systems.
╖ Students computers should be fully cleaned up at each start. That
is, the PC should always look like if it were just installed.
╖ Every computer has to be protected from virus attacks.
These constraints lead us to base our configuration on the
excellent TCP/IP Bootprom from K÷ppen EDV GmbH. This bootprom is
especially interesting because it is not devoted to any specific
operating system; it just emulates a floppy disk, and can easily be
used for booting Linux as well as DOS or Windows 95. Moreover, the
bootdisk image can be replaced by a home-made program, that let us
perform several initializations before the operating system itself
starts.
2.1. The Network
The University of Geneva owns a class B domain, subdivided into
several subnets. The CUI uses four subnets, among them one is
dedicated to students.
Originally, our PCs were concerned about two network protocols: IPX
and IP. On the IPX side, we used a single Novell Netware 3 server for
sharing software and users files for DOS and Windows. On the IP side,
we used a SUN server for sharing software and users partitions for
Linux, with NFS.
In our latest configuration, we do not any more use IPX. There is a
single Unix server (which could be Linux as well as a SUN), sharing
software and user files using NFS for Linux clients and using SMB
(NetBIOS) over TCP/IP for Dos and Windows clients.
2.2. How it Works
1. When a client PC is turned on, it first performs the traditional
system checks before the TCP/IP bootprom takes the control.
2. The bootprom issues a BOOTP/DHCP request in order to get its IP
configuration parameters.
3. If the server knows the PC issuing the request, it will send back a
BOOTP/DHCP reply with informations such as the client's IP address,
the default gateway, and which bootdisk image to use. Otherwise,
the server will just discard the request.
4. The bootprom then downloads the bootdisk image from the server
using the TFTP protocol, and emulates at the BIOS level a floppy
disk with this image.
5. The PC boot on this disk image, which happens to contains a single
boot program (no operating system yet).
6. If the PC is a student computer, the program starts by downloading
by TFTP a small text file containing the expected hard-disk
configuration for the computer. According to this file, the
partition table is rebuilt and DOS partitions are quick-formatted.
When all this is done, no more than three seconds have elapsed
since the computer was turned on.
7. The program then offers to the user the choice of the operating
system for the session.
8. According to the choice of the user, a new bootdisk image is
downloaded from the server, using TFTP.
9. If the user decides to use Linux, the boot image is a a kernel
loader plus a compressed kernel, with support for NFS root and
caching filesystem:
a. First, the IP configuration is made according to the BOOTP/DHCP
reply received from the Novell server.
b. The kernel is then able to mount a read-only root filesystem,
using NFS.
c. A small ramdisk is set up and mounted to the places where write
access is desirable.
d. If a swap partition is found on the local hard disk, it is
prepared and activated.
e. If a linux partition is found on the local hard disk, it is
mounted and prepared for caching NFS partitions.
f. IP configuration is finalized, services are started, and xdm is
launched.
g. The user is asked for its login. The workstation is ready.
10.
If the user decides to use DOS or Windows, the boot image is a
program that handle compressed images of FAT16 partitions. Images
are downloaded using TFTP, and stored for further use at the very
end of the hard-disk, above any used partition. More precisely,
the program works in the following way:
a. The program download a checksum file (512 bytes) that validates
the boot image of the choosen operating system
b. If the wanted image is not present at the end of the disk, or if
the checksum does not match (because the image has been
corrupted or because a new release has been installed on the
server), the full image is transferred using TFTP.
c. The operating system image is decompressed into the first FAT16
partition, at the approximate speed of one second per used
megabyte.
d. The program jump into the boot sector of the selected OS, which
is now completely present on the local hard-disk.
For DOS and Windows 3.1, we use the freely available Microsoft Lan¡
Manager for DOS (s