Phil Schwan wrote:
> Here's my first stab. Let me know if anything obvious is missing or
> XFS Build HOWTO
> 1 - Acquiring source code
> 1.1 - CD
> If you're reading this file from an SGI CD, there is likely a tar
> archive of the source code in the same directory. It will uncompress
> into its own directory and will contain the entire kernel, userspace
> support libraries, and tools.
> 1.2 - CVS
> http://oss.sgi.com/projects/xfs/cvs_download.html should have all of
> the information necessary to checkout the tree from SGI's public CVS
> server. This tree also contains the entire kernel, userspace support
> libraries, and tools.
> 2 - Configuring the kernel tree
> XFS is not yet fully complete and stable; you'll need to enable
> "Development/Experimental" software under the "Code maturity level
> options" heading before you can build XFS.
> To build XFS, either as a part of the kernel or as a loadable module,
> you'll need to enable both XFS filesystem support and page buffer
> support. Compiling support for the kernel debugger (KDB) will help
> you or the development team track potential bugs, but is not required.
> 3 - Building the userspace tools
> To build the sim library and the userspace tools based on it (mkfs,
> xfsrepair, xfsdb, etc), just run "make" in the cmd/xfs directory.
> 4 - Creating an XFS filesystem
> It hardly seems necessary, but I'll say it anyways: you're playing
> with an experimental filesystem: back up your data. Really. Back it
> up. I'm not kidding.
> If you have XFS filesystems created on Linux prior to 22 May 2000,
> these filesystems will no longer work and must be re-created. If you
> have a filesystem created after this date, or from an Irix system (see
> the notes at the end), you can go ahead and mount it.
> Most of the defaults for XFS's mkfs are just fine, but some particular
> items may be of interest:
> "-d" controls the data portion of the XFS filesystem, and will accept
> the following comma-separated options, to name a few:
> "file" tells mkfs to create a file to hold the filesystem instead
> of putting it on a block device.
> "name=foo" tells mkfs what to call that file, or what block device
> to use.
> "size=#" tells mkfs what size to make the data portion.
> "-l" controls the log (or journal) portion of the filesystem:
> "internal" instructs mkfs to put the log in the same file as the
> data. This is the default.
> "logdev=foo" tells mkfs to store the log outside of the data
> section, and tells it what device to write it to.
> "size=#" is the size in bytes (or blocks or kilobytes, when
> postfixed by "b" or "k", respectively) that the log should be. It
> must be a multiple of the block size, and will be truncated to the
> nearest page size. The maximum log size is 65,536 blocks.
> "-f" will force mkfs to overwrite what appears to be an existing
> filesystem. Use this with extreme care, when you're sure that you
> want to destroy that filesystem, and only when mkfs won't work without
> Finally, unless you specified "-d name", append the file or block
> device name where the filesystem should be created.
> 5 - Tracking development
> If you installed a tar from an SGI CD, you should already have the CVS
> data files. The instructions on the XFS CVS page will help you bring
> your tree up to date. The XFS team tracks the mainstream kernel
> development and occasionally updates their tree to a newer stable
> The linux-xfs mailing list contains general development information
> and news of major changes and updates. Subscription instructions and
> past archives are available from the XFS website.
> 6 - Meaningful links
> Main XFS website: http://oss.sgi.com/projects/xfs/
> CVS instructions: http://oss.sgi.com/projects/xfs/cvs_download.html
> Mailing lists : http://oss.sgi.com/projects/xfs/mail.html
> 7 - Notes
> As of this writing (14 June 2000), Linux support has been tested on
> i386 and (to some small degree) Sun Sparc systems. If you're
> interested in testing a filesystem created on Irix (after backing up
> the data, of course), be aware that XFS on Linux cannot yet replay log
> entries on a big-endian filesystem--make sure that the filesystem is
> properly unmounted before attempting to use it on Linux.