Specifications
Remote Booting Linux on Intel Processors (CERN Variant)
Concurrent Technologies Page 7 of 30
2. Next we configure a basic kernel for the client based on the default settings,
• Change in to the Linux source directory,
“cd /usr/src/linux-2.4”
• Ensure the source tree is clean,
“make mrproper”
• Edit the Makefile and change the EXTRAVERSION = <xx> to
“EXTRAVERSION=<xx>Client”, where the <xx> is the original content, if any.
• Cut and Paste the client kernel configuration file at the end of this document and save it to the
file “/usr/src/kernel-2.4/.config”, ensure that the file is in Unix format by typing “dos2unix
/usr/src/kernel-2.4/.config”
• The kernel configuration file you have just copied and will use to compile the Client kernel
has some features enabled to allow the kernel to be used on a diskless client. These features
are described below.
• Module support has been removed from the kernel. Select “Loadable module
support” and exclude the “Enable loadable module support” option.
• IP autoconfiguration options have been enabled, allowing the kernel to auto
configure the network adapters IP address. Select “Networking options” and include
the “IP: Kernel level autoconfiguration” option into the kernel and also the “IP:
DHCP support” option into the kernel.
• Root file system NFS options have been enabled. Select “File systems” and then
“Network file systems” and include the “NFS file system support” option and the
“Root file system on NFS” option that appears below the “NFS file system support”
option. If the “NFS file system support” option is already included and you do not
see the “Root file system on NFS” option below then exclude and then include the
“NFS file system support” option and it should appear.
• RamDisk support has been configured. For the purposes of this application note a
64MB RamDisk is used. Select “Block Devices” and include the “RAM disk
support” option and the “Initial RAM disk (initrd) support” option into the kernel.
Type 65536 under the “RAM disk support” option to create support for a RAM disk
of 64MB.
• Network device support has been configured. Select “Network device support” and
include “Network device support”. Select the “Ethernet (10 or 100Mbit)” and
include the “Ethernet (10 or 100Mbit” option scroll down the list and include the
“EISA, VLB, PCI and on board controllers” option and below this the “DECchip
Tulip (dc21x4x) PCI support” and the “EtherExpressPro/100 support” options.
There are many options in the “Network device support” section included by default,
exclude all other options in this section not mentioned here, remembering to follow
and exclude all the options found under the “--->” headers as well.
• Serial console support has been configured. Select “Character Devices” and include
the “Standard/generic serial support” and then the “Support for console on serial
port”. This option provides support for boards that do not have a graphics device.
With this option set console output maybe received by a terminal through the serial
port.
• The Client kernel may also be optimised as a diskless system by turning off things
that the diskless client doesn’t need, IDE, SCSI, and support for various file systems,
for example.
3. Compiling the client kernel. Update the configuration file by typing “make oldconfig”, if
prompted simply press return to except the default option. Make the dependencies by typing
“make dep”. When the operation has finished we are ready to make the client kernel, type “make
bzImage” to do this. Now we make any modules that have been included, type “make modules”,
and when the operation has finished install them, type “make modules_install”.
4. When compilation has finished copy the client kernel bzImage to the netboot directory,