Specifications

Remote Booting Linux on Intel Processors (CERN Variant)
Concurrent Technologies Page 11 of 30
4. Reboot the client machine. It should execute a BOOTP or DHCP request, TFTP the boot
image, and start the Linux kernel mounting its root file system from the Server with NFS.
RamDisk Only (For Embedded Systems)
1. If the client needs to be run independently of the network then Linux maybe run entirely from
RAM. In the previous example we saw how the root file system maybe served to the client
via NFS in this section we explain how to serve the root file system from RamDisk. For the
purposes of this application note we will consider the client as an embedded system,
configuring a Linux boot image with a reasonably small footprint to maximise client
resources for our application, whatever that maybe.
2. To create a root file system template on the Server for the Client RamDisk, Cut and Paste the
script below, save it to “/bin/mkramfs”, and type,
“dos2unix /bin/mkramfs” #Ensure the file is in Unix format
“chmod 755 /bin/mkramfs” #Make the file executable
“mkramfs RamDiskFs” #Creates the file system in the /tftpboot directory
#!/bin/sh
if [ $# != 1 ]
then
echo Usage: $0 client-name
exit 1
fi
cd /
umask 022
echo -n Making Root File System template for $1.
mkdir -p /tftpboot/$1
# Just make these ones
for d in home mnt proc tmp var usr root boot lib etc dev
do
mkdir /tftpboot/$1/$d
echo -n .
done
# And a var
for d in `find /var -type d`
do
d=`echo $d | cut -c2-`
mkdir /tftpboot/$1/$d
done
echo -n .
chmod 1777 /tftpboot/$1/tmp
# Stop kernel reporting fsck mount errors
touch /tftpboot/$1/fastboot
chattr +i /tftpboot/$1/fastboot
# Copy some important libraries