: Alternate diskless operation : Configuration : DISKLESS Node Setup
Previous: Building a DISKLESS Kernel
Next: Creating a Boot Disk

1.2.4. DISKLESS Node Setup

You need to create a file in /tftpboot to describe the DISKLESS node. It should be named cfg.{DOMAIN_ADDR}.{CLIENT_ADDR}, and would look like this:


rootfs {DOMAIN_ADDR}.{HOST_ADDR}:/usr/rootfs/{CLIENT_NAME}
swapfs {DOMAIN_ADDR}.{HOST_ADDR}:/usr/swapfs
swapsize {SWAP_FILE_SIZE}
hostname {CLIENT_NAME}.{DOMAIN_NAME}
	  

Once placed into /tftpboot, change its permissions:

# chmod 644 /tftpboot/cfg.{DOMAIN_ADDR}.{CLIENT_ADDR}
	  

Each DISKLESS node must have an entry added to the end of /etc/bootptab. Note that it adds onto the information already defined in the default section:


{CLIENT_NAME}:\
	:tc=.default:\
	:ha={ETHERNET_ADDR}:\
	:ip={DOMAIN_ADDR}.{CLIENT_ADDR}:
	    

The file /etc/exports is edited to allow the DISKLESS node to NFS mount HOST:


/usr	-maproot=0:0 -alldirs {CLIENT_NAME}
	  

Once this has been done you need to inform the mountd daemon to reread /etc/exports:

# ps -ax | grep mountd
# kill -HUP {MOUNTD_PID}
	  

A SWAP file must be created for the node:

# dd if=/dev/zero of=/usr/swapfs/swap.{DOMAIN_ADDR}.{CLIENT_ADDR} bs=1024 count={SWAP_FILE_SIZE}
# chmod 600 /usr/swapfs/swap.{DOMAIN_ADDR}.{CLIENT_ADDR}
	  

A home must be created for this DISKLESS node:

# mkdir /usr/rootfs/{CLIENT_NAME}
# chmod 755 /usr/rootfs/{CLIENT_NAME}
	  

Several needed directories are created:

# cd /usr/rootfs/{CLIENT_NAME}
# mkdir mnt proc tmp usr
# chown bin:bin tmp
# chmod 1777 tmp
# chmod 555 proc
	  

You might need to build a unique kernel for a specific machine, but most often you can just make a link to the common kernel:

# chflags noschg ../common/kernel
# ln ../common/kernel kernel
# chflags schg ../common/kernel
	  

Finally, you need to link to the common files:

# cd /usr/rootfs/common
# find bin lkm sbin stand | cpio -pvdlm /usr/rootfs/{CLIENT_NAME}
	  

Create a tree of unique files used by this DISKLESS node:

# cd /
# cp COPYRIGHT .cshrc .profile /usr/rootfs/{CLIENT_NAME}
# find dev etc root var | cpio -pvdm /usr/rootfs/{CLIENT_NAME}
# chmod 755 /usr/rootfs/{CLIENT_NAME}/dev
	  

Several files must be cleaned up in /usr/rootfs/{CLIENT_NAME}/etc:

# cd /usr/rootfs/{CLIENT_NAME}/etc
# rm exports fstab
	  

The new /usr/rootfs/{CLIENT_NAME}/etc/fstab should have the following contents:


{HOST_NAME}:/usr/rootfs/{CLIENT_NAME}	/	nfs rw 0 0
{HOST_NAME}:/usr			/usr	nfs rw 0 0
	  

Change its permissions:

# chmod 644 /usr/rootfs/{CLIENT_NAME}/etc/fstab
	  

The file /usr/rootfs/{CLIENT_NAME}/etc/rc must be patched to change the point at which the kernel mounts its NFS partition(s). /usr/rootfs/{CLIENT_NAME}/etc/sysconfig must also be patched


: Alternate diskless operation : Configuration : DISKLESS Node Setup
Previous: Building a DISKLESS Kernel
Next: Creating a Boot Disk