An In-Depth Look at Reiserfs - page 5
Included in the Linux kernel
For all its benefits, Reiserfs requires a bit of effort to
install and configure. It is supplied as a set of kernel
patches, which are applied to the kernel source code. After
extracting the standard, generic kernel into a directory
/usr/src/linux, you make that the current directory
and run the
patch command. If the Reiserfs patch is stored
/usr/local/src/reiserfs-patch.gz (note that the ".gz"
means it's gzipped), then you would run a command like this:
zcat /usr/local/src/reiserfs-patch.gz | patch -p1
After that, you can configure the kernel as usual. There will now be a new option in the "filesystems" section that allows you to enable Reiserfs as either a built-in kernel feature or as a loadable module. You have to choose the built-in option if you want to boot the system from a Reiserfs partition.
Once the new kernel is built and tested, you can use the
mkreiserfs utility to format partitions as Reiserfs
filesystems. As with the regular
mke2fs command, this will
erase all the data on the partition! (By the way, after you
build the kernel you have to go into a subdirectory of the
kernel source and separately build the Reiserfs utilities,
which include the
mkreiserfs command. Instructions for
doing this are found on the Reiserfs web site.) Once the
desired Reiserfs partitions are formatted, you can use the
mount command (with -t reiserfs options) to mount them
just as you would with regular ext2 partitions. You can
even put Reiserfs filesystems in the
/etc/fstab file to have
them mount automatically during system initialization.
Each time a new kernel version is installed, a new version of Reiserfs is required. The data on disk is upward-compatible so you don't have to reformat each time, but the filesystem code changes slightly. It takes a certain amount of care to ensure that you don't try to put the wrong Reiserfs version with the wrong kernel, and there is a slight delay between the release of a new kernel and the release of the Reiserfs patch for that kernel.
None of this is especially difficult if you have previous experience building kernels. The process is quite similar to applying the Alan Cox kernel patches, or the international crypto patches. Nonetheless, it can be quite daunting for someone new to Linux. It's especially tricky to create a Reiserfs root partition, since this requires temporarily booting off a backup partition as well as copying and recopying the files from the root partition. One false step, and you can be left with an unbootable machine and be forced to reinstall Linux from scratch or get help from a guru. It's certainly not something a new user should try!