3. Kernel Configuration and Installation

3.1. Configuring your kernel for XFS support

NoteNote
 

If you have never configured and compiled a new linux kernel you might consider reading the Linux Kernel HOWTO before doing this step. It can be found at the Linux Documentation Project (LDP) or one of its mirrors.

After having downloaded the cvs source tree the actual kernel source will be in /usr/src/linux-2.4-xfs(-beta)/linux, so you should switch to that directory before running the make config command of your choice. The main things that must be included in your kernel to provide XFS support are "Page Buffer support" and (duh) "SGI XFS filesystem support." Both options are available in the "File systems" section of the kernel configuration. You will need to have "Prompt for development and/or incomplete code/drivers" selected under "Code maturity level options" for those options to be available to you. Optionally, you may also want to select "Enable XFS Debug mode" and "Enable XFS Vnode Tracing" under "SGI XFS filesystem support." These options may slow your XFS implementation some, but may be useful in tracing the cause of a crash if a crash occurs.

3.2. Building the kernel and modules

As with any kernel build, the following commands must be run to actually build the new kernel:

$ make dep 
$ make bzImage 
$ make modules
  

3.3. Installing the new kernel and modules

Again this is standard for any kernel installation:

$ make modules_install 
$ cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.0-XFS   
  

3.4. Add a new entry to your lilo configuration and re-install lilo

$ vi /etc/lilo.conf
  

Add a new image section to your lilo.conf file similar to the following:

image=/boot/vmlinuz-2.4.0-XFS label=xfs  read-only  root=/dev/hda2
  

The "root=" line should match the "root=" line from the existing image sections in your lilo.conf file. Don't forget to run lilo when you're through editing lilo.conf to make the changes effective.

3.5. Build and install the XFS utilities

There are a number of tools that come with the XFS filesystem that allow you to build and manage your XFS filesystems that must be built as well. These tools are in the /usr/src/linux-2.4-xfs(-beta)/cmd/xfsprogs directory.

NoteNote
 

These tools rely on the /usr/lib/libuuid.a shared library. If you do not have this library installed you will need it in order for the XFS utilities to compile. You can find the rpm package for your version of Linux from Rpmfind.net by searching for "/usr/lib/libuuid.a." The debian package that contains libuuid is uuid-dev. There will no doubt be other distributions that package this library in another place. A good way to find the correct package on those distributions is to search on the Google Linux search engine.

Change to that directory:

$ cd ../cmd/xfsprogs   
  

Build and install the xfs utilities:

$ make install    
  

3.6. Boot the new kernel

$ reboot   
  

NoteNote
 

Unless you changed the default label to boot in your lilo.conf file you will need to enter "xfs" at the "LILO Boot:" prompt in order to boot the new kernel image.