DocumentId:	$Id: README,v 1.2 2003/02/04 08:24:06 ola Exp $
Author:		$Author: ola $
		Ola Lundqvist <opal@debian.org>
Date:		$Date: 2003/02/04 08:24:06 $
Summary:
	Describes how to set up a server for nfs booted clients.


Introduction:
=============

This package should be installed on the debian image that are booted by the
network booted clients. It makes sure that some directories are not shared
and that the hostname is resolved via dns.

See the nfsboot package documentation for more information about what is needed
to make nfsboot work.


NFS configuration:
==================

This package prepares an image for being booted from a nfs server.

It will automaticly add information from /etc/nfsbooted/fstab to
/etc/fstab, line by line. This file should only contain ramdisk information
for which dirs that should be in memory only. If you want to edit that file
and let the changes affect your system, you have to run
"dpkg-reconfigure nfsbooted"

You also have to add the nfs root into the /etc/fstab so that it will
be mounted when remounting the filesystem at the boot process. It should
look something like this:

192.168.1.1:/images/imdebian /	nfs	defaults,rw,nfsvers=3

The following one is needed in order to make mountfix to work as expected.
192.168.1.1:/images/imdebian /mnt/nfsroot	nfs	defaults,rw,nfsvers=3

But by some strange reason the root can not be of nfs version 3, so you have
to mount all subdirs too.

nfserver:/images/imdebian/etc /etc nfs  auto,exec,dev,suid,rw	0 0
nfserver:/images/imdebian/lib /lib nfs  auto,exec,dev,suid,rw	0 0
# Not needed if you use devfs.
# nfserver:/images/imdebian/dev /dev nfs  auto,exec,dev,suid,rw	0 0
nfserver:/images/imdebian/root /root nfs  auto,exec,dev,suid,rw	0 0
nfserver:/images/imdebian/bin /bin nfs  auto,exec,dev,suid,rw	0 0
nfserver:/images/imdebian/sbin /sbin nfs  auto,exec,dev,suid,rw 0 0
nfserver:/images/imdebian/usr /usr nfs	noauto,exec,dev,suid,rw	0 0
# nfserver:/images/imdebian/swap /swap nfs  auto,exec,dev,suid,rw 0 0
# nfserver:/images/imdebian/opt /opt nfs  auto,exec,dev,suid,rw	0 0

Yes this is really not good, but that is the fact, so we just have to face it.


TEMPORARY FILE SYSTEMS
======================

One problem with ram file systems (especially /var/log) is that the computer
will get out of memory if the filesystem is used. Especially log files has
a tendency to grow large.

There are several solutions to this. The first one is to use logrotate to
rotate the logs every day (maybe without backup first). The other solution
is to log everything to a log server.

You should also check so that all ram filesystems is not used to create large
files.


UPGRADING
=========

Upgrading the nfsroot:ed clients can give some problems.

First of all if you change libraries all clients might not accept that.
Especially when you change libc. A solution that in many situations is ok
is to run ldconfig regulary. This will not catch all errors and you have
to upgrade just before the ldconfig run.

The other problem is that files in the ram file systems will be changed 
so other clients will not get these changes. The solution is to install
the vserver package and have a ctx (vserver) patched kernel. Use that one
to upgrade the virtual image. The other solution is to boot the image in a
special mode where the ramfs is not mounted. This should not be used
regulary.
