Specifications
Remote Booting Linux on Intel Processors (CERN Variant)
Concurrent Technologies Page 18 of 30
its functionality. First we must prepare the Server by adding and modifying a few files and
directories on the Server.
2. Replace the NFS exports file “/etc/exports” with the following,
# Exports Global Root and Diskless Clients
# Global file system
/home/ClientCommonRootFs/ *(ro,no_root_squash)
#Diskless Clients
/home/ClientLocalRootFs/client1 *(rw,no_root_squash)
/home/ClientLocalRootFs/client2 *(rw,no_root_squash)
3. Create the directories on the server where it will serve up the common root file system and the
unique home directories from.
• “mkdir /home/ClientCommonRootFs” #Common root directory for all clients
• “mkdir /home/ClientLocalRootFs” #Root directory for client local roots
• “mkdir /home/ClientLocalRootFs/client1/” #Local root directory for client1
• “mkdir /home/ClientLocalRootFs/client2/” #Local root directory for client2
• “mkdir /home/ClientLocalRootFs/client1/home” #Local home directory for client1
• “mkdir /home/ClientLocalRootFs/client2/home” #Local home directory for client2
4. When the client boots it will make a DHCP request to configure the network devices and will
use the information in the option fields to configure its root file system. The directory
specified in the “dhcp-message” option will be mounted via NFS as the client’s home
directory. The client will then look in the home directory for various control files, in this
example we use three files to control the client’s configuration.
• “.custom.rc” This file is an executable shell script file used to run client specific
commands. Create the file “/home/ClientLocalRootFs/client1/home/.custom.rc”
containing the following,
#!/bin/sh
echo Hello World from `hostname`
• “chmod 755 /home/ClientLocalRootFs/client1/home/.custom.rc”
• The “.fstab.global” file has the same syntax as the standard fstab file and contains the
common root directory mounts and where the client should mount them. Create the file
“/home/ClientLocalRootFs/client1/home/.fstab.global” containing the following,
192.67.84.170:/home/ClientCommonRootFs/bin /bin nfs ro,nolock 0 0
192.67.84.170:/home/ClientCommonRootFs/lib /lib nfs ro,nolock 0 0
192.67.84.170:/home/ClientCommonRootFs/usr /usr nfs ro,nolock 0 0
192.67.84.170:/home/ClientCommonRootFs/sbin /sbin nfs ro,nolock 0 0
• The “.fstab.local” file has the same syntax as the standard fstab file and contains the local
root directory mounts and where the client should locally mount them. Create the file
“/home/ClientLocalRootFs/client1/home/.fstab.local” containing the following,
192.67.84.170:/home/ClientLocalRootFs/client1/etc /etc nfs rw,lock 0 0
And also the file “/home/ClientLocalRootFs/client2/home/.fstab.local” containing the
following,