[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Diskless boot NFS server image



"Thomas Gebhardt" wrote:
>> - I would like to be able calculate MD5sums for certain files, in order=
>
>> to be able to check if the contents have changed or not (eg similar to
>> how dpkg handles configuration files). How do I do this from perl? Do
>> perl packages already exist to do this?
>
>libmd5-perl =

Thanks, I will look at this ASAP.

>> - as / is mounted R/O, this means /lib/modules is also R/O, and the
>> boot process cannot calculate the module dependancies. ARRRGGGGHHHH!!!
>> I do not know how to get around this, other then to mount / as R/W
>> for the first boot. Is it possible to get module dependancy information=
>
>> written to some other directory??? Is there another better way? IMHO,
>> it should be possible to mount /lib, /bin, /sbin, /usr, /boot, as
>> read only (and possibly /etc too), but FSSTND only seems to mention /us=
>r.
>
>One could boot from an initial ram disk ("initrd", cf. kernel docs)
>set up all necessary things and then remount / from nfs.

I considered doing this, but I don't want to make my solution to
specific to Linux, and I can't see how it would help the problem
of /lib being readonly, unless you somehow remount it as R/W, but
then this wouldn't be as secure.

>Another problem could be /dev. Usually login changes ownership
>and permission of the tty devices for security reasons.

I remount /dev as R/W over the top of a R/O version of /dev. Very messy,
but it works. An even better solution would be to use something like
devfs (is this now the "devpts" filesystem in Linux 2.2.1???). My
scripts ask if you want devfs support, but I haven't yet worked out
how it is enabled in the kernel.

Currently I have my own version of /sbin/init which is a symbolic
link to /etc/init. On startup, before /etc is remounted R/W, it
points to my init, which mounts /etc for the given host and then runs
/sbin/init.orig. Once /etc is remounted, /sbin/init points to /etc/init
which then points back at /sbin/init.orig. I haven't tested everything
possible with it yet, but it seems to work.

The only problem I have had is that warnings appear on shutdown
that /dev and /etc are busy and cannot be unmounted.

>> - Linux defaults to mounting root from "/tftpboot/<IPaddress>", however=
>,
>> I don't think that this is allowed by FSSTND. Hence I have used symlink=
>s
>> from /tftpboot/<ipaddress> into and under /var/lib/diskless/. This
>> allows booting Linux without giving it command line arguments, but it
>> still breaks FSSTND.
>
>I think you can change this by a DHCP parameter. In principle this
>is also possible with BOOTP but the limited size of BOOTP packages
>may truncate this boot option.

Do you know what parameter?

Although, I suspect that this won't work if you boot directly
from the Linux kernel :-(

>We use diskless clients for two purposes:
>
>1. As a robust "internet point" for our students. There is no login,
>   fvwm95 and netscape is started directly from inittab.
>2. As a comfortable maintainance option for our server: Just
>   boot from disk, mount a nfs root filesystem and you can
>   repair the disks, or restore a backup even from remote.
>   There are some error messages during the boot process
>   that complain that several files are readonly. But it works
>   and after a disaster you surely avoid nitpicking, =

I use it to boot Linux on a computer that has another operating system
installed on the local harddisk. This other operating system might
be Win98 or Hurd. Using diskless boot for Hurd is very useful, as it
doesn't matter how much I mess up the harddisk, I can always boot Linux
very easily.

BTW: Have you had problems with X running slowly on diskless systems?
Everything seems normal to me, but some programs (TCL/TK: I think),
eg xcdroast, run extremely slowly (ie 10+ seconds to display a dialog
box). I haven't timed it, but it seems almost to take longer to
show a dialog box then start X... I have 10Mbits/s Ethernet.

Brian May <bam@snoopy.apana.org.au>


Reply to: