CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

Back to wiki start page

Categories: Install

HOWTO install CRUX via NFS

Author: Jürgen Daubert


This simple HOWTO describes the installation of CRUX from a NFS server of your local network. This may be useful if you have a already running CRUX box and you don't want install CRUX on your other computer via CD-ROM, or, more conceivable, your box hasn't any CD-ROM drive.

In the following server means the already running box, client is the computer to which you would like to install CRUX.

More information about booting via NFS can be found here.

1. Requirements

2. Prepare your server

Copy the contents of the CRUX CD-ROM to a directory of your server, e.g to the directory /var/nfsboot. To export the above directory with NFS, put the following line into /etc/exports, and restart your NFS server. Be sure you have the required entry in /etc/hosts.allow too.

 /var/nfsboot *(ro,no_root_sqash,sync)

3. Create your bootkernel

Make a backup of your current kernel configuration

 # cp /usr/src/linux/.config /usr/src/linux/.config.save

Get the configuration file for the CRUX bootkernel from here. This file is always named like linux-2.6.10.config.
Or better use the kernel configuration I am using for my nfs bootdisk from here, which has all the options below already enabled. Copy this file into your kernel source tree

 # cp linux-2.6.10.config /usr/src/linux-2.6.10/.config

Goto /usr/src/linux-2.6.10, run make menuconfig and add to the configuration:

Don't use modules, all options must be compiled into the kernel. Build the kernel as usual. Only enable stuff you really need, because the resulting kernel must fit on a single floppy !

4. Build your bootdisk

Create a ext2 filesystem on a blank floppy disk:

 # mke2fs /dev/floppy/0

Mount your floppy and copy your new bootkernel to this floppy:

 # mount -t ext2 /dev/floppy/0 /floppy
 # cp /usr/src/linux-2.6.10/arch/i386/boot/bzImage /floppy

Create a config file lilo.conf for lilo on this floppy with the following contents:

 boot=/dev/floppy/0
 map=/floppy/map
 install=text
 geometric
 compact
 prompt
 timeout=100
 image=/floppy/bzImage
 append="nfsroot=sip:/var/nfsboot nfsaddrs=cip:sip:gip:netm:"
 label=CRUX-nfs

Replace in the append-line:

Don't forget the colons ! For your client ip address you should use one, that will not be needed in the normal operation of your network. Herewith you can use your bootdisk to setup many systems without any changes.

Run lilo to make the floppy bootable:

 # lilo -C /floppy/lilo.conf
 # umount /floppy

Boot your client with this floppy, proceed with the installation in the normal way and enjoy with CRUX :-)