BeOS filesystem for Linux

Document last updated: Dec 6, 2001

WARNING
=======
Make sure you understand that this is alpha software.  This means that the
implementation is neither complete nor well-tested. 

I DISCLAIM ALL RESPONSIBILITY FOR ANY POSSIBLE BAD EFFECTS OF THIS CODE!

LICENSE
=====
This software is covered by the GNU General Public License. 
See the file COPYING for the complete text of the license.
Or the GNU website: <http://www.gnu.org/licenses/licenses.html>

AUTHOR
=====
The largest part of the code written by Will Dyson <will_dyson@pobox.com>
He has been working on the code since Aug 13, 2001. See the changelog for
details.

Original Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
His original code can still be found at:
<http://hp.vector.co.jp/authors/VA008030/bfs/>
Does anyone know of a more current email address for Makoto? He doesn't
respond to the address given above...

Current maintainer: Sergey S. Kostyliov <rathamahata@php4.ru>

WHAT IS THIS DRIVER?
==================
This module implements the native filesystem of BeOS http://www.beincorporated.com/ 
for the linux 2.4.1 and later kernels. Currently it is a read-only
implementation.

Which is it, BFS or BEFS?
================
Be, Inc said, "BeOS Filesystem is officially called BFS, not BeFS". 
But Unixware Boot Filesystem is called bfs, too. And they are already in
the kernel. Because of this naming conflict, on Linux the BeOS
filesystem is called befs.

HOW TO INSTALL
==============
step 1.  Install the BeFS  patch into the source code tree of linux.

Apply the patchfile to your kernel source tree.
Assuming that your kernel source is in /foo/bar/linux and the patchfile
is called patch-befs-xxx, you would do the following:

	cd /foo/bar/linux
	patch -p1 < /path/to/patch-befs-xxx

if the patching step fails (i.e. there are rejected hunks), you can try to
figure it out yourself (it shouldn't be hard), or mail the maintainer 
(Will Dyson <will_dyson@pobox.com>) for help.

step 2.  Configuration & make kernel

The linux kernel has many compile-time options. Most of them are beyond the
scope of this document. I suggest the Kernel-HOWTO document as a good general
reference on this topic. http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO-4.html 

However, to use the BeFS module, you must enable it at configure time.

	cd /foo/bar/linux
	make menuconfig (or xconfig)

The BeFS module is not a standard part of the linux kernel, so you must first
enable support for experimental code under the "Code maturity level" menu.

Then, under the "Filesystems" menu will be an option called "BeFS
filesystem (experimental)", or something like that. Enable that option
(it is fine to make it a module).

Save your kernel configuration and then build your kernel.

step 3.  Install

See the kernel howto <http://www.linux.com/howto/Kernel-HOWTO.html> for
instructions on this critical step.

USING BFS
=========
To use the BeOS filesystem, use filesystem type 'befs'.

ex)
    mount -t befs /dev/fd0 /beos

MOUNT OPTIONS
=============
uid=nnn        All files in the partition will be owned by user id nnn.
gid=nnn	       All files in the partition will be in group nnn.
iocharset=xxx  Use xxx as the name of the NLS translation table.
debug          The driver will output debugging information to the syslog.

HOW TO GET LASTEST VERSION
==========================

The latest version is currently available at:
<http://befs-driver.sourceforge.net/>

ANY KNOWN BUGS?
===========
As of Jan 20, 2002:
	
	None

SPECIAL THANKS
==============
Dominic Giampalo ... Writing "Practical file system design with Be filesystem"
Hiroyuki Yamada  ... Testing LinuxPPC.



