As reiser4 is not in mainline yet, we have to apply the right patch to get this working:
wget http://downloads.sourceforge.net/project/reiser4/reiser4-for-linux-4.x/reiser4-for-4.13.0.patch.gz cd /usr/src/linux gzip -dc ~/reiser4-for-4.13.0.patch.gz | patch -p1
Now enable CONFIG_REISER4_FS and build (and install) your kernel. Do not enable debugging option: this is for developers only. Reboot.
If your kernel older than 4.10, make sure that your operating system uses a swap partition of standard recommended size.
To create/check/debug Reiser4 filesystems, you'll need the reiser4progs.
NOTE: mkfs.reiser4 of version 1.1.0 by default turns intelligent compression on. To disable compression, override it by mkfs option "create=reg40". Compression is highly recommended e.g. for root partitions, which contain system data. It is because default reiser4 intelligent compression heuristic works perfectly on a mix of well-compressible text files and non-compressible binaries. However, intelligent compression is suboptimal for large media-files (ISO images, MP4, etc). Currently it is impossible to specify compression per-file, or per-directory, so for large media-files we recommend to use a separate partition with disabled compression.
Choose a transaction model, which is most suitable for you:
|Mount option||Description||Intended for||Default|
|txmod=journal||Classic journaling with wandering logs. All blocks of a transaction are overwritten.||HDD users, who performs a lot of random overwrites (e.g. databases)||no|
|txmod=wa||Classic Write-Anywhere aka Copy-on-Write. All blocks of a transaction except system ones get new location on disk.||SSD users||no|
|txmod=hybrid||Hybrid transaction model. Some blocks are overwritten, other ones are written to new location on disk.||HDD users, who don't perform a lot of random overwrites||yes|
Mount your reiser4 partition. Use the mount option "-o discard" for SSD drives. More details are here.
Report bugs if something is going wrong.
Since reiserfs is in mainline, just enable the following options in your kernel .config:
CONFIG_REISERFS_FS CONFIG_REISERFS_FS_XATTR (optional) CONFIG_REISERFS_FS_POSIX_ACL (optional) CONFIG_REISERFS_FS_SECURITY (optional)
Todays distributions should have this options enabled already, no need to build your kernel. However, not every Linux distribution supports reiserfs. But if you disregard your distribution's recommended settings, you'll probably know what you're doing anyway.
To create/check/debug/resize ReiserFS filesystems, you'll need the reiserfsprogs.
Booting off a ReiserFS/Reiser4 partition
Booting off a ReiserFS/Reiser4 partition: what we mean here is that the kernel (usually a file in /boot) is actually located on a ReiserFS/Reiser4 partition. If you have a separate partition for /boot (e.g. a (readonly-mounted) ext2 partition at the beginning of your disk) and your root-filesystem is on a ReiserFS/Reiser4 partition, you only need to make sure that ReiserFS/Reiser4 support is enabled in your kernel - but that's true for every filesystem and has nothing to to with the bootloader.